Index: lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/MonitorModel.as =================================================================== diff -u -r706d39684e637baaf48a4297f4eeee751861ced3 -r62f9177bfcc5b69a0a4b9e7123df3a13238fb120 --- lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/MonitorModel.as (.../MonitorModel.as) (revision 706d39684e637baaf48a4297f4eeee751861ced3) +++ lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/MonitorModel.as (.../MonitorModel.as) (revision 62f9177bfcc5b69a0a4b9e7123df3a13238fb120) @@ -43,15 +43,13 @@ private var __x:Number; private var __y:Number; private var _isDirty:Boolean; - private var infoObj:Object; - - - private var _dialogOpen:String; // the type of dialog currently open - + private var infoObj:Object; + private var selectedTab:Number; + private var _dialogOpen:String; // the type of dialog currently open private var _monitor:Monitor; // add model data - private var _activeSeq:Sequence; + private var _activeSeq:Sequence; private var _org:Organisation; private var _todos:Array; // Array of ToDo ContributeActivity(s) // state data @@ -81,22 +79,22 @@ // add get/set methods - public function setSequence(activeSeq:Sequence){ - _activeSeq = activeSeq; - _monitor.openLearningDesign(_activeSeq) + public function setSequence(activeSeq:Sequence){ + _activeSeq = activeSeq; + _monitor.openLearningDesign(activeSeq) setChanged(); //send an update infoObj = {}; infoObj.updateType = "SEQUENCE"; - infoObj.tabID = getMonitor().getMV().getMonitorTab().selectedIndex; + infoObj.tabID = getSelectedTab(); notifyObservers(infoObj); } public function getSequence():Sequence{ return _activeSeq; } - + public function setOrganisation(org:Organisation){ _org = org; @@ -167,6 +165,68 @@ public function isShowLearners():Boolean{ return _showLearners; + } + + /** + * Compares the design in the CanvasModel (what is displayed on the screen) + * against the design in the DesignDataModel and updates the Canvas Model accordingly. + * NOTE: Design elements are added to the DDM here, but removed in the View + * + * @usage + * @return + */ + public function clearDesign(){ + + //porobbably need to get a bit more granular + Debugger.log('Running',Debugger.GEN,'refreshDesign','MonitorModel'); + //go through the design and see what has changed, compare DDM to canvasModel + //var ddmActivity_keys:Array = _monitor.ddm.activities.keys(); + var mmActivity_keys:Array = _activitiesDisplayed.keys(); + //var longest = Math.max(ddmActivity_keys.length, mmActivity_keys.length); + var longest = mmActivity_keys.length; + //chose which array we are going to loop over + var indexArray:Array; + + //if(ddmActivity_keys.length == longest){ + // indexArray = ddmActivity_keys; + //}else{ + indexArray = mmActivity_keys; + //} + trace("Longest: "+longest) + //loop through and do comparison + for(var i=0;i