Index: lams_central/src/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as =================================================================== diff -u -rfdc8ad422483ce1508cfa4b2c1617687a8287afb -ra7926722d6e97c3d2df4cf7a5fd82f09047561d4 --- lams_central/src/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as (.../CanvasModel.as) (revision fdc8ad422483ce1508cfa4b2c1617687a8287afb) +++ lams_central/src/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as (.../CanvasModel.as) (revision a7926722d6e97c3d2df4cf7a5fd82f09047561d4) @@ -21,17 +21,17 @@ * ************************************************************************ */ -import org.lamsfoundation.lams.common.*; +import org.lamsfoundation.lams.common.*; import org.lamsfoundation.lams.authoring.cv.*; -import org.lamsfoundation.lams.authoring.*; +import org.lamsfoundation.lams.authoring.*; import org.lamsfoundation.lams.common.util.*; import org.lamsfoundation.lams.common.ui.*; import org.lamsfoundation.lams.common.dict.* import mx.events.* -/* -* Model for the Canvas -*/ -class org.lamsfoundation.lams.authoring.cv.CanvasModel extends Observable { +/* +* Model for the Canvas +*/ +class org.lamsfoundation.lams.authoring.cv.CanvasModel extends Observable { public static var TRANSITION_TOOL:String = "TRANSITION"; //activie tool ID strings definition public static var OPTIONAL_TOOL:String = "OPTIONAL"; @@ -49,7 +49,7 @@ private var _cv:Canvas; private var _ddm:DesignDataModel; private var optionalCA:CanvasOptionalActivity; - //UI State variabls + //UI State variabls private var _isDirty:Boolean; private var _activeTool:String; private var _selectedItem:Object; // the currently selected thing - could be activity, transition etc. @@ -62,16 +62,16 @@ //these are hashtables of mc refs MOVIECLIPS (like CanvasActivity or CanvasTransition) //each on contains a reference to the emelment in the ddm (activity or transition) private var _activitiesDisplayed:Hashtable; - private var _transitionsDisplayed:Hashtable; + private var _transitionsDisplayed:Hashtable; //These are defined so that the compiler can 'see' the events that are added at runtime by EventDispatcher private var dispatchEvent:Function; public var addEventListener:Function; public var removeEventListener:Function; - /** - * Constructor. - */ + /** + * Constructor. + */ public function CanvasModel (cv:Canvas){ //Set up this class to use the Flash event delegation model @@ -86,7 +86,7 @@ _activeTool = null; - _transitionActivities = new Array(); + _transitionActivities = new Array(); _defaultGroupingTypeID = Grouping.RANDOM_GROUPING; } @@ -162,7 +162,7 @@ public function getPIHeight(){ trace ("returning pi height: "+_piHeight) return _piHeight; - } + } public function setDirty(){ _isDirty = true; @@ -263,16 +263,16 @@ Debugger.log('gateAct.xCoord:'+gateAct.xCoord,Debugger.GEN,'createGateTransition','CanvasModel'); _cv.ddm.addActivity(gateAct); - + _cv.ddm.removeTransition(transitionUIID); //create the from trans addActivityToTransition(fromAct); addActivityToTransition(gateAct); - + resetTransitionTool() //create the to trans addActivityToTransition(gateAct); addActivityToTransition(toAct); + resetTransitionTool() - _cv.ddm.removeTransition(transitionUIID); //flag the model as dirty and trigger a refresh setDirty(); @@ -307,41 +307,41 @@ setSelectedItem(_activitiesDisplayed.get(gateAct.activityUIID)); } - /** - * Creates a new group activity at the specified location - * @usage - * @param pos - * @return - */ - public function createNewGroupActivity(pos){ - Debugger.log('Running...',Debugger.GEN,'createNewGroupActivity','CanvasModel'); - - //first create the grouping object - var newGrouping = new Grouping(_cv.ddm.newUIID()); - newGrouping.groupingTypeID = _defaultGroupingTypeID; - - _cv.ddm.addGrouping(newGrouping); - - var groupingActivity = new GroupingActivity(_cv.ddm.newUIID()); - groupingActivity.title = Dictionary.getValue('grouping_act_title'); - groupingActivity.learningDesignID = _cv.ddm.learningDesignID; - groupingActivity.createGroupingUIID = newGrouping.groupingUIID; - - groupingActivity.yCoord = pos.y; - groupingActivity.xCoord = pos.x; - - - Debugger.log('groupingActivity.createGroupingUIID :'+groupingActivity.createGroupingUIID ,Debugger.GEN,'createNewGroupActivity','CanvasModel'); - Debugger.log('groupingActivity.yCoord:'+groupingActivity.yCoord,Debugger.GEN,'createNewGroupActivity','CanvasModel'); - Debugger.log('groupingActivity.xCoord:'+groupingActivity.xCoord,Debugger.GEN,'createNewGroupActivity','CanvasModel'); - - - _cv.ddm.addActivity(groupingActivity); - - //tell the canvas to go refresh - setDirty(); - //select the new thing - setSelectedItem(_activitiesDisplayed.get(groupingActivity.activityUIID)); + /** + * Creates a new group activity at the specified location + * @usage + * @param pos + * @return + */ + public function createNewGroupActivity(pos){ + Debugger.log('Running...',Debugger.GEN,'createNewGroupActivity','CanvasModel'); + + //first create the grouping object + var newGrouping = new Grouping(_cv.ddm.newUIID()); + newGrouping.groupingTypeID = _defaultGroupingTypeID; + + _cv.ddm.addGrouping(newGrouping); + + var groupingActivity = new GroupingActivity(_cv.ddm.newUIID()); + groupingActivity.title = Dictionary.getValue('grouping_act_title'); + groupingActivity.learningDesignID = _cv.ddm.learningDesignID; + groupingActivity.createGroupingUIID = newGrouping.groupingUIID; + + groupingActivity.yCoord = pos.y; + groupingActivity.xCoord = pos.x; + + + Debugger.log('groupingActivity.createGroupingUIID :'+groupingActivity.createGroupingUIID ,Debugger.GEN,'createNewGroupActivity','CanvasModel'); + Debugger.log('groupingActivity.yCoord:'+groupingActivity.yCoord,Debugger.GEN,'createNewGroupActivity','CanvasModel'); + Debugger.log('groupingActivity.xCoord:'+groupingActivity.xCoord,Debugger.GEN,'createNewGroupActivity','CanvasModel'); + + + _cv.ddm.addActivity(groupingActivity); + + //tell the canvas to go refresh + setDirty(); + //select the new thing + setSelectedItem(_activitiesDisplayed.get(groupingActivity.activityUIID)); } /** * Creates a new gate activity at the specified location @@ -481,55 +481,42 @@ if(_transitionActivities.length == 2){ //check we have 2 valid acts to create the transition. - /*if(_transitionActivities[0].activityUIID == _transitionActivities[1].activityUIID){ - return new LFError("You cannot create a Transition between the same Activities."); + if(_transitionActivities[0].activityUIID == _transitionActivities[1].activityUIID){ + return new LFError("You cannot create a Transition between the same Activities","addActivityToTransition",this); } if(!_cv.ddm.activities.containsKey(_transitionActivities[0].activityUIID)){ - return new LFError("First activity of the Transition is missing."); - }*/ + return new LFError("First activity of the Transition is missing, UIID:"+_transitionActivities[0].activityUIID,"addActivityToTransition",this); + } if(!_cv.ddm.activities.containsKey(_transitionActivities[1].activityUIID)){ - return new LFError(Dictionary.getValue('cv_trans_target_act_missing')); + return new LFError(Dictionary.getValue('cv_trans_target_act_missing'),"addActivityToTransition",this); } - //check there is not already a transition to or from this activity: var transitionsArray:Array = _cv.ddm.transitions.values(); /**/ for(var i=0;i