Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as =================================================================== diff -u -ra51a3578f817472254bb2e84b301122a6d8268cd -rfaa2451a2961575550669f2bceb7522490dde9b4 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as (.../CanvasBranchView.as) (revision a51a3578f817472254bb2e84b301122a6d8268cd) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as (.../CanvasBranchView.as) (revision faa2451a2961575550669f2bceb7522490dde9b4) @@ -106,9 +106,9 @@ /** * Called to initialise Canvas . Called by the Canvas container */ - public function init(m:Observable,c:Controller){ + public function init(m:Observable, c:Controller){ - super (m, c); + super(m, c); //Set up parameters for the grid H_GAP = 10; @@ -360,38 +360,52 @@ var fromModuleTab:String = null; var _module = null; - if(cbc instanceof MonitorController) { + if(cm instanceof MonitorModel) { fromModuleTab = "monitorMonitorTab"; _module = "monitoring"; } Debugger.log('I am in drawActivity and Activity typeID :'+a.activityTypeID+' added to the cm.activitiesDisplayed hashtable :'+newActivity_mc,4,'drawActivity','CanvasBranchView'); //take action depending on act type if(a.activityTypeID==Activity.TOOL_ACTIVITY_TYPE || a.isGroupActivity()){ - var newActivity_mc = activityLayer.createChildAtDepth("CanvasActivity",DepthManager.kTop,{_activity:a, controller:cbc, _canvasBranchView:cbv, _module:_module}); + Debugger.log('controller cbc :'+MonitorController(cbc), Debugger.CRITICAL, 'drawActivity','CanvasBranchView'); + Debugger.log('controller obj cbc :'+cbc, Debugger.CRITICAL, 'drawActivity','CanvasBranchView'); + + var newActivity_mc = (_module != "monitoring") ? activityLayer.createChildAtDepth("CanvasActivity",DepthManager.kTop,{_activity:a, _canvsController:CanvasController(cbc), _canvasBranchView:cbv}) + : activityLayer.createChildAtDepth("CanvasActivity",DepthManager.kTop,{_activity:a, _monitorController:MonitorController(cbc), _canvasBranchView:cbv, _module:_module}); cm.activitiesDisplayed.put(a.activityUIID,newActivity_mc); Debugger.log('Tool or gate activity a.title:'+a.title+','+a.activityUIID+' added to the cm.activitiesDisplayed hashtable:'+newActivity_mc,4,'drawActivity','CanvasBranchView'); } else if (a.isGateActivity()){ - var newActivity_mc = activityLayer.createChildAtDepth("CanvasGateActivity",DepthManager.kTop,{_activity:a, controller:cbc, _canvasBranchView:cbv, _module:_module}); + var newActivity_mc = (_module != "monitoring") ? activityLayer.createChildAtDepth("CanvasGateActivity",DepthManager.kTop,{_activity:a, _canvasController:cbc, _canvasBranchView:cbv}) + : activityLayer.createChildAtDepth("CanvasGateActivity",DepthManager.kTop,{_activity:a, _monitorController:cbc, _canvasBranchView:cbv, _module:_module}); + cm.activitiesDisplayed.put(a.activityUIID,newActivity_mc); Debugger.log('Gate activity a.title:'+a.title+','+a.activityUIID+' added to the cm.activitiesDisplayed hashtable:'+newActivity_mc,4,'drawActivity','CanvasBranchView'); } else if(a.activityTypeID==Activity.PARALLEL_ACTIVITY_TYPE){ //get the children var children:Array = cm.getCanvas().ddm.getComplexActivityChildren(a.activityUIID); - var newActivity_mc = activityLayer.createChildAtDepth("CanvasParallelActivity",DepthManager.kTop,{_activity:a,_children:children, controller:cbc,_canvasBranchView:cbv, _locked:a.isReadOnly(), fromModuleTab:fromModuleTab}); + + var newActivity_mc = (_module != "monitoring") ? activityLayer.createChildAtDepth("CanvasParallelActivity",DepthManager.kTop,{_activity:a,_children:children, _canvasController:cbc,_canvasBranchView:cbv, _locked:a.isReadOnly()}) + : activityLayer.createChildAtDepth("CanvasParallelActivity",DepthManager.kTop,{_activity:a,_children:children, _monitorController:cbc,_canvasBranchView:cbv, _locked:a.isReadOnly(), fromModuleTab:fromModuleTab}); + cm.activitiesDisplayed.put(a.activityUIID,newActivity_mc); Debugger.log('Parallel activity a.title:'+a.title+','+a.activityUIID+' added to the cm.activitiesDisplayed hashtable :'+newActivity_mc,4,'drawActivity','CanvasBranchView'); } else if(a.activityTypeID==Activity.OPTIONAL_ACTIVITY_TYPE){ var children:Array = cm.getCanvas().ddm.getComplexActivityChildren(a.activityUIID); - var newActivity_mc = activityComplexLayer.createChildAtDepth("CanvasOptionalActivity",DepthManager.kTop,{_activity:a,_children:children, controller:cbc,_canvasBranchView:cbv,_locked:a.isReadOnly(), fromModuleTab:fromModuleTab}); + + var newActivity_mc = (_module != "monitoring") ? activityComplexLayer.createChildAtDepth("CanvasOptionalActivity",DepthManager.kTop,{_activity:a,_children:children, _canvasController:cbc,_canvasBranchView:cbv,_locked:a.isReadOnly()}) + : activityComplexLayer.createChildAtDepth("CanvasOptionalActivity",DepthManager.kTop,{_activity:a,_children:children, _monitorController:cbc,_canvasBranchView:cbv,_locked:a.isReadOnly(), fromModuleTab:fromModuleTab}); + cm.activitiesDisplayed.put(a.activityUIID,newActivity_mc); Debugger.log('Optional activity Type a.title:'+a.title+','+a.activityUIID+' added to the cm.activitiesDisplayed hashtable :'+newActivity_mc,4,'drawActivity','CanvasBranchView'); } else if(a.isBranchingActivity()) { - var newActivity_mc = activityLayer.createChildAtDepth("CanvasActivity",DepthManager.kTop,{_activity:a, controller:cbc,_canvasBranchView:cbv, _module:_module}); + var newActivity_mc = (_module != "monitoring") ? activityLayer.createChildAtDepth("CanvasActivity",DepthManager.kTop,{_activity:a, _canvasController:cbc,_canvasBranchView:cbv}) + : activityLayer.createChildAtDepth("CanvasActivity",DepthManager.kTop,{_activity:a, _monitorController:cbc,_canvasBranchView:cbv, _module:_module}); + cm.activitiesDisplayed.put(a.activityUIID,newActivity_mc); Debugger.log('Branching activity Type a.title:'+a.title+','+a.activityUIID+' added to the cm.activitiesDisplayed hashtable :'+newActivity_mc,4,'drawActivity','CanvasBranchView'); @@ -680,7 +694,7 @@ * @usage * @return CanvasController */ - public function getController():Object { + public function getController() { var c:Controller = super.getController(); if(model instanceof CanvasModel) { Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasActivity.as =================================================================== diff -u -ra51a3578f817472254bb2e84b301122a6d8268cd -rfaa2451a2961575550669f2bceb7522490dde9b4 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasActivity.as (.../CanvasActivity.as) (revision a51a3578f817472254bb2e84b301122a6d8268cd) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasActivity.as (.../CanvasActivity.as) (revision faa2451a2961575550669f2bceb7522490dde9b4) @@ -57,6 +57,8 @@ private var _monitorController:MonitorController; private var _monitorView; + private var _controller; + private var mm:MonitorModel; // used only when called from Monitor Environment private var _canvasModel:CanvasModel; @@ -452,6 +454,8 @@ private function onPress():Void{ // check double-click var now:Number = new Date().getTime(); + Debugger.log('_module:'+_module,Debugger.GEN,'onPress','CanvasActivity'); + Debugger.log('_controller:'+_monitorController,Debugger.GEN,'onPress','CanvasActivity'); if((now - _dcStartTime) <= Config.DOUBLE_CLICK_DELAY && !branchConnector){ if (app.controlKeyPressed != "transition"){ @@ -472,12 +476,12 @@ _doubleClicking = false; if (_module == "monitoring"){ - Debugger.log('SingleClicking:+'+this,Debugger.GEN,'onPress','CanvasActivity for monitoring'); + Debugger.log('SingleClicking1:+'+this,Debugger.GEN,'onPress','CanvasActivity for monitoring'); _monitorController.activityClick(this); }else { - Debugger.log('SingleClicking:+'+this,Debugger.GEN,'onPress','CanvasActivity'); + Debugger.log('SingleClicking2:+'+this,Debugger.GEN,'onPress','CanvasActivity'); _canvasController.activityClick(this); - } + } } @@ -488,11 +492,15 @@ private function onRelease():Void{ if(!_doubleClicking){ Debugger.log('Releasing:'+this,Debugger.GEN,'onRelease','CanvasActivity'); + Debugger.log('_module:'+_module,Debugger.GEN,'onRelease','CanvasActivity'); + + if (_module == "monitoring"){ _monitorController.activityRelease(this); }else { _canvasController.activityRelease(this); } + } } @@ -674,12 +682,5 @@ return _canvasView.ddm; } } - - public function set controller(a):Void { - if(a instanceof CanvasController) - _canvasController = a; - else - _monitorController = a; - } } \ No newline at end of file Index: lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/Monitor.as =================================================================== diff -u -ra51a3578f817472254bb2e84b301122a6d8268cd -rfaa2451a2961575550669f2bceb7522490dde9b4 --- lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/Monitor.as (.../Monitor.as) (revision a51a3578f817472254bb2e84b301122a6d8268cd) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/Monitor.as (.../Monitor.as) (revision faa2451a2961575550669f2bceb7522490dde9b4) @@ -454,7 +454,7 @@ var branchView:CanvasBranchView = CanvasBranchView(_branchView_mc); monitorModel.addObserver(branchView); - branchView.init(monitorModel, undefined); + branchView.init(monitorModel, monitorView.getController()); //Add listener to view so that we know when it's loaded branchView.addEventListener('load', Proxy.create(this, viewLoaded)); Index: lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/MonitorController.as =================================================================== diff -u -rc5ce2369b6232db2c25a966f7873f695ebf6e485 -rfaa2451a2961575550669f2bceb7522490dde9b4 --- lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/MonitorController.as (.../MonitorController.as) (revision c5ce2369b6232db2c25a966f7873f695ebf6e485) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/MonitorController.as (.../MonitorController.as) (revision faa2451a2961575550669f2bceb7522490dde9b4) @@ -32,6 +32,7 @@ import org.lamsfoundation.lams.authoring.Activity; import org.lamsfoundation.lams.authoring.cv.ICanvasActivity; import org.lamsfoundation.lams.authoring.cv.CanvasParallelActivity; +import org.lamsfoundation.lams.authoring.br.CanvasBranchView; import mx.utils.* import mx.controls.* @@ -75,6 +76,7 @@ Debugger.log('activityClick CanvasActivity:'+act.Learner.getUserName(),Debugger.GEN,'activityClick','MonitorController'); }else { _monitorModel.selectedItem = act; + _monitorModel.setDirty(); } } @@ -388,6 +390,11 @@ } else if(tgt.indexOf("exportPortfolio_btn") != -1){ exportClassPortfolio(); }else if(tgt.indexOf("refresh_btn") != -1){ + if(_monitorModel.activeView instanceof CanvasBranchView) { + _monitorModel.activeView.removeMovieClip(); + _monitorModel.getMonitor.closeBranchView(); + } + _app.reloadLearningDesign(_monitorModel.getSequence(), Proxy.create(_monitorModel, _monitorModel.refreshAllData)); }else if(tgt.indexOf("help_btn") != -1){ _monitorModel.tabHelp(); Index: lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/MonitorModel.as =================================================================== diff -u -ra51a3578f817472254bb2e84b301122a6d8268cd -rfaa2451a2961575550669f2bceb7522490dde9b4 --- lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/MonitorModel.as (.../MonitorModel.as) (revision a51a3578f817472254bb2e84b301122a6d8268cd) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/MonitorModel.as (.../MonitorModel.as) (revision faa2451a2961575550669f2bceb7522490dde9b4) @@ -73,6 +73,7 @@ private var monitor_x:Number; private var ttHolder:MovieClip; private var _monitor:Monitor; + private var _selectedItem:Object; // the currently selected thing - could be activity, transition etc. private var _prevSelectedItem:Object; Index: lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/MonitorTransition.as =================================================================== diff -u -rd7823922f404944822957e6c051bc0f1335a76de -rfaa2451a2961575550669f2bceb7522490dde9b4 --- lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/MonitorTransition.as (.../MonitorTransition.as) (revision d7823922f404944822957e6c051bc0f1335a76de) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/MonitorTransition.as (.../MonitorTransition.as) (revision faa2451a2961575550669f2bceb7522490dde9b4) @@ -38,6 +38,7 @@ //set by passing initObj to mc.createClass() //private var _MonitorController:CanvasController; //private var _monitorTabView:MonitorTabView; + private var _transition:Transition; private var _drawnLineStyle:Number; @@ -63,13 +64,12 @@ arrow_mc._visible = false; stopArrow_mc._visible = false; stopSign_mc._visible = false; + //let it wait one frame to set up the components. MovieClipUtils.doLater(Proxy.create(this,init)); - //init(); } public function init():Void{ - //Debugger.log('Running,',4,'init','CanvasTransition'); //todo: all a get style for this _drawnLineStyle = 0x777E9D; draw(); @@ -95,12 +95,10 @@ * @return */ private function draw():Void{ - //Debugger.log('',4,'draw','CanvasTransition'); - var monitor:Monitor = Application.getInstance().getMonitor(); - var fromAct_mc = monitor.getMM().getActivityMCByUIID(_transition.fromUIID); - var toAct_mc = monitor.getMM().getActivityMCByUIID(_transition.toUIID); + var fromAct_mc = monitor.model.getActivityMCByUIID(_transition.fromUIID); + var toAct_mc = monitor.model.getActivityMCByUIID(_transition.toUIID); //TODO: check if its a gate transition and if so render a shorty var isGateTransition = toAct_mc.activity.isGateActivity(); @@ -129,8 +127,6 @@ _midPoint = new Point(arrow_mc._x,arrow_mc._y); - - // gradient var angle:Number = Math.atan2((_endPoint.y- _startPoint.y),(_endPoint.x- _startPoint.x)); var degs:Number = Math.round(angle*180/Math.PI); Index: lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/MonitorView.as =================================================================== diff -u -rc5ce2369b6232db2c25a966f7873f695ebf6e485 -rfaa2451a2961575550669f2bceb7522490dde9b4 --- lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/MonitorView.as (.../MonitorView.as) (revision c5ce2369b6232db2c25a966f7873f695ebf6e485) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/MonitorView.as (.../MonitorView.as) (revision faa2451a2961575550669f2bceb7522490dde9b4) @@ -420,15 +420,12 @@ } public function getMonitorLessonScp():MovieClip{ - trace("Called getMonitorScp") return monitorLesson_scp; } public function getMonitorSequenceScp():MovieClip{ - trace("Called getMonitorScp") return monitorSequence_scp; } public function getMonitorLearnerScp():MovieClip{ - trace("Called getMonitorScp") return monitorLearner_scp; } Index: lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LearnerTabView.as =================================================================== diff -u -rd7823922f404944822957e6c051bc0f1335a76de -rfaa2451a2961575550669f2bceb7522490dde9b4 --- lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LearnerTabView.as (.../LearnerTabView.as) (revision d7823922f404944822957e6c051bc0f1335a76de) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LearnerTabView.as (.../LearnerTabView.as) (revision faa2451a2961575550669f2bceb7522490dde9b4) @@ -48,7 +48,7 @@ * Reflects changes in the MonitorModel */ -class org.lamsfoundation.lams.monitoring.mv.tabviews.LearnerTabView extends AbstractView{ +class org.lamsfoundation.lams.monitoring.mv.tabviews.LearnerTabView extends AbstractView { public static var _tabID:Number = 2; private var _className = "LearnerTabView"; Index: lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/MonitorTabView.as =================================================================== diff -u -ra51a3578f817472254bb2e84b301122a6d8268cd -rfaa2451a2961575550669f2bceb7522490dde9b4 --- lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/MonitorTabView.as (.../MonitorTabView.as) (revision a51a3578f817472254bb2e84b301122a6d8268cd) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/MonitorTabView.as (.../MonitorTabView.as) (revision faa2451a2961575550669f2bceb7522490dde9b4) @@ -199,10 +199,10 @@ break; case 'REMOVE_ACTIVITY' : - removeActivity(infoObj.data, mm) + removeActivity(infoObj.data, mm) break; case 'REMOVE_TRANSITION' : - removeTransition(infoObj.data, mm) + removeTransition(infoObj.data, mm) break; case 'DRAW_DESIGN' : if (infoObj.tabID == _tabID && !mm.locked){ @@ -272,13 +272,16 @@ //Remove all the movies drawn on the transition and activity movieclip holder this._learnerContainer_mc.removeMovieClip(); this.transitionLayer.removeMovieClip(); - this.activityLayer.removeMovieClip(); + this.activityLayer.removeMovieClip(); + this.transparentCover.removeMovieClip(); //Recreate both Transition holder and Activity holder Movieclips transitionLayer = this.createEmptyMovieClip("_transitionLayer_mc", this.getNextHighestDepth()); activityLayer = this.createEmptyMovieClip("_activityLayer_mc", this.getNextHighestDepth(),{_y:learnerMenuBar._height}); _learnerContainer_mc = this.createEmptyMovieClip("_learnerContainer_mc", this.getNextHighestDepth()); - + transparentCover = this.attachMovie("Panel", "_transparentCover_mc", this.getNextHighestDepth(), {_visible: false, enabled: false, _alpha: 50}); + transparentCover.onPress = null; + if (isChanged == false){ mm.setIsProgressChangedSequence(false); Index: lams_flash/src/common/flash/org/lamsfoundation/lams/common/CommonCanvasView.as =================================================================== diff -u -rddbaafba98df3c2f503d7f8cdb755d9f5194dfd0 -rfaa2451a2961575550669f2bceb7522490dde9b4 --- lams_flash/src/common/flash/org/lamsfoundation/lams/common/CommonCanvasView.as (.../CommonCanvasView.as) (revision ddbaafba98df3c2f503d7f8cdb755d9f5194dfd0) +++ lams_flash/src/common/flash/org/lamsfoundation/lams/common/CommonCanvasView.as (.../CommonCanvasView.as) (revision faa2451a2961575550669f2bceb7522490dde9b4) @@ -24,7 +24,8 @@ import org.lamsfoundation.lams.common.dict.*; import org.lamsfoundation.lams.common.ui.*; import org.lamsfoundation.lams.common.util.*; -import org.lamsfoundation.lams.common.mvc.*; +import org.lamsfoundation.lams.common.mvc.*; +import org.lamsfoundation.lams.authoring.DesignDataModel; import org.lamsfoundation.lams.authoring.cv.*; import org.lamsfoundation.lams.monitoring.mv.*; import org.lamsfoundation.lams.authoring.Activity; @@ -83,11 +84,12 @@ var ca = CanvasActivity(m.selectedItem); var a:Activity = ca.activity; - + var ddm:DesignDataModel = (model instanceof MonitorModel) ? MonitorModel(model).getMonitor().ddm : CanvasModel(model).getCanvas().ddm; + // deselect previously selected item if(m.prevSelectedItem != null) { // if child of an complex activity is previously selected, it is easiest to clear all the children - if(m.prevSelectedItem.activity.parentUIID != null && m.getCanvas().ddm.getActivityByUIID(m.prevSelectedItem.activity.parentUIID).activityTypeID != Activity.SEQUENCE_ACTIVITY_TYPE) { + if(m.prevSelectedItem.activity.parentUIID != null && ddm.getActivityByUIID(m.prevSelectedItem.activity.parentUIID).activityTypeID != Activity.SEQUENCE_ACTIVITY_TYPE) { var caComplex = m.activitiesDisplayed.get(m.prevSelectedItem.activity.parentUIID); caComplex.refreshChildren(); } else {