Index: lams_central/src/flash/org/lamsfoundation/lams/authoring/cv/CanvasActivity.as =================================================================== diff -u -rd502e6d1f34632a757dd6bda2daf8b0c07e1c8a5 -rb03ef46730a3909a403990d0520c4e504d1e6591 --- lams_central/src/flash/org/lamsfoundation/lams/authoring/cv/CanvasActivity.as (.../CanvasActivity.as) (revision d502e6d1f34632a757dd6bda2daf8b0c07e1c8a5) +++ lams_central/src/flash/org/lamsfoundation/lams/authoring/cv/CanvasActivity.as (.../CanvasActivity.as) (revision b03ef46730a3909a403990d0520c4e504d1e6591) @@ -63,9 +63,11 @@ private var _isSelected:Boolean; private var app:Application; - //locals - private var learnerOffset_X:Number = 4 - private var learnerOffset_Y:Number = 3 + + private var learnerOffset_X:Number = 4; + private var learnerOffset_Y:Number = 3; + private var learnerContainer:MovieClip; + private var _module:String; private var icon_mc:MovieClip; private var icon_mcl:MovieClipLoader; @@ -127,6 +129,7 @@ if (_module == "monitoring"){ _monitorView = initObj._monitorView; _monitorController = initObj._monitorController; + learnerContainer = initObj.learnerContainer; }else { _canvasView = initObj._canvasView; _canvasController = initObj._canvasController; @@ -154,7 +157,6 @@ private function showAssets(isVisible:Boolean){ groupIcon_mc._visible = isVisible; title_lbl._visible = isVisible; - //act_pnl._visible = isVisible; icon_mc._visible = isVisible; stopSign_mc._visible = isVisible; canvasActivity_mc._visible = isVisible; @@ -178,7 +180,6 @@ public function setSelected(isSelected){ Debugger.log(_activity.title+" isSelected:"+isSelected,4,'setSelected','CanvasActivity'); - //Debugger.log(_activity.title+" has StartTimeOffset:"+_activity.gateStartTimeOffset(),4,'setSelected','CanvasActivity'); var MARGIN = 5; if(isSelected){ //draw a selected border @@ -201,8 +202,6 @@ var bl_x = tl_x; //biottom left x var bl_y = br_y; //bottom left y - - //dashTo(target:MovieClip, x1:Number, y1:Number,x2:Number, y2:Number, dashLength:Number, spaceLength:Number ) if(_selected_mc){ _selected_mc.removeMovieClip(); } @@ -227,25 +226,15 @@ private function loadIcon():Void{ - //Debugger.log('Running, _activity.libraryActivityUIImage:'+_activity.libraryActivityUIImage,4,'loadIcon','CanvasActivity'); - trace("Icon_MC is: "+Config.getInstance().serverUrl+_activity.libraryActivityUIImage) icon_mc = this.createEmptyMovieClip("icon_mc", this.getNextHighestDepth()); var ml = new MovieLoader(Config.getInstance().serverUrl+_activity.libraryActivityUIImage,setUpActIcon,this,icon_mc); - //icon_mc = MovieLoader.movieCache[Config.getInstance().serverUrl+_activity.libraryActivityUIImage]; - //Debugger.log('icon_mc:'+icon_mc,4,'loadIcon','CanvasActivity'); - //setUpActIcon(icon_mc); - + // swap depths if transparent layer visible if(fade_mc._visible) { icon_mc.swapDepths(fade_mc); } } - - - - - private function setUpActIcon(icon_mc):Void{ icon_mc._x = (CanvasActivity.TOOL_ACTIVITY_WIDTH / 2) - (icon_mc._width / 2); icon_mc._y = (CanvasActivity.TOOL_ACTIVITY_HEIGHT / 2) - (icon_mc._height / 2) - 6; @@ -258,6 +247,19 @@ var learner_Y = _activity.yCoord + learnerOffset_Y; var parentAct:Activity = mm.getMonitor().ddm.getActivityByUIID(_activity.parentUIID) + var xCoord = _activity.xCoord; + + if (_activity.parentUIID != null) { + xCoord = parentAct.xCoord; + + if(parentAct.activityTypeID != Activity.PARALLEL_ACTIVITY_TYPE){ + xCoord = parentAct.xCoord + _activity.xCoord; + learner_X = (learner_X != null) ? learner_X + parentAct.xCoord : null; + learner_Y = learner_Y + parentAct.yCoord; + } + + } + // get the length of learners from the Monitor Model and run a for loop. for (var j=0; j (xCoord + 112)) { - hasPlus = true; - ref.attachMovie("learnerIcon", "learnerIcon"+learner.getUserName(), ref.getNextHighestDepth(),{_activity:_activity, learner:learner, _monitorController:_monitorController, _x:learner_X, _y:learner_Y, _hasPlus:hasPlus }); + learnerContainer.attachMovie("learnerIcon", "learnerIcon"+learner.getUserName(), learnerContainer.getNextHighestDepth(),{_activity:_activity, learner:learner, _monitorController:_monitorController, _x:learner_X, _y:learner_Y, _hasPlus:true }); return; } // attach icon - ref.attachMovie("learnerIcon", "learnerIcon"+learner.getUserName(), ref.getNextHighestDepth(),{_activity:_activity, learner:learner, _monitorController:_monitorController, _x:learner_X, _y:learner_Y, _hasPlus:hasPlus }); + learnerContainer.attachMovie("learnerIcon", "learnerIcon"+learner.getUserName(), learnerContainer.getNextHighestDepth(),{_activity:_activity, learner:learner, _monitorController:_monitorController, _x:learner_X, _y:learner_Y, _hasPlus:false }); // space icons - learner_X = learner_X+10; + learner_X += 10; } } } @@ -330,7 +316,6 @@ var theIcon_mc:MovieClip; title_lbl._visible = true; - //act_pnl.__visible = true; clickTarget_mc._visible = true; fade_mc._visible = false; Index: lams_central/src/flash/org/lamsfoundation/lams/authoring/cv/CanvasOptionalActivity.as =================================================================== diff -u -rd502e6d1f34632a757dd6bda2daf8b0c07e1c8a5 -rb03ef46730a3909a403990d0520c4e504d1e6591 --- lams_central/src/flash/org/lamsfoundation/lams/authoring/cv/CanvasOptionalActivity.as (.../CanvasOptionalActivity.as) (revision d502e6d1f34632a757dd6bda2daf8b0c07e1c8a5) +++ lams_central/src/flash/org/lamsfoundation/lams/authoring/cv/CanvasOptionalActivity.as (.../CanvasOptionalActivity.as) (revision b03ef46730a3909a403990d0520c4e504d1e6591) @@ -36,15 +36,19 @@ * CanvasOptionalActivity * This is the UI / view representation of a complex (Optional) activity */ -class org.lamsfoundation.lams.authoring.cv.CanvasOptionalActivity extends MovieClip implements ICanvasActivity{ - //class org.lamsfoundation.lams.authoring.cv.CanvasParallelActivity extends MovieClip { +class org.lamsfoundation.lams.authoring.cv.CanvasOptionalActivity extends MovieClip implements ICanvasActivity{ + private var CHILD_OFFSET_X : Number = 8; - private var CHILD_OFFSET_Y : Number = 57; + private var CHILD_OFFSET_Y : Number = 57; + private var CHILD_INCRE : Number = 60; + private var newContainerXCoord:Number; - private var newContainerYCoord:Number; - private var CHILD_INCRE : Number = 60; - private var learnerOffset_X:Number = 4 - private var learnerOffset_Y:Number = 3 + private var newContainerYCoord:Number; + + private var learnerOffset_X:Number = 4; + private var learnerOffset_Y:Number = 3; + private var learnerContainer:MovieClip; + //this is set by the init object private var _canvasController : CanvasController; private var _canvasView : CanvasView; @@ -98,9 +102,8 @@ _visibleHeight = container_pnl._height; _visibleWidth = container_pnl._width; _ca = new ComplexActivity(_activity.activityUIID) - _activity.activityCategoryID = Activity.CATEGORY_SYSTEM - //_activity.title = Dictionary.getValue('opt_activity_title') - //init(); + _activity.activityCategoryID = Activity.CATEGORY_SYSTEM; + MovieClipUtils.doLater (Proxy.create (this, init)); } @@ -109,12 +112,9 @@ clickTarget_mc.onRelease = Proxy.create (this, localOnRelease); clickTarget_mc.onReleaseOutside = Proxy.create (this, localOnReleaseOutside); - trace("complex MinOptions :"+_ca.minOptions) actMinOptions = _ca.minOptions; actMaxOptions = _ca.maxOptions; - trace("MinOptions :"+actMinOptions) - trace("MaxOptions :"+actMaxOptions) _ddm.getComplexActivityChildren(_activity.activityUIID); showStatus(false); @@ -123,20 +123,22 @@ for (var j=0; j currentActOrder){ @@ -111,11 +113,13 @@ var msg:String = Dictionary.getValue('al_error_forcecomplete_invalidactivity',[act.Learner.getFullName(), indexArray[i].activity.title]) ; LFMessage.showMessageAlert(msg); } - hasHit = true; + + hasHit = true; } } + if (act.hitTest(_monitorModel.endGate)){ _monitorModel.endGate.doorClosed._visible = false; _monitorModel.endGate.doorOpen._visible = true; @@ -126,11 +130,13 @@ LFMessage.showMessageConfirm(Dictionary.getValue('al_confirm_forcecomplete_tofinish',[act.Learner.getFullName(), indexArray[i].activity.title]), fnOk,fnCancel); hasHit = true; } + if (!hasHit){ activitySnapBack(act) var msg:String = Dictionary.getValue('al_error_forcecomplete_notarget',[act.Learner.getFullName()]) ; LFMessage.showMessageAlert(msg); } + } } Index: lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/MonitorTabView.as =================================================================== diff -u -r1feb16a101c9bfb25d6d738acf9d14858c451950 -rb03ef46730a3909a403990d0520c4e504d1e6591 --- lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/MonitorTabView.as (.../MonitorTabView.as) (revision 1feb16a101c9bfb25d6d738acf9d14858c451950) +++ lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/MonitorTabView.as (.../MonitorTabView.as) (revision b03ef46730a3909a403990d0520c4e504d1e6591) @@ -82,6 +82,7 @@ private var _transitionLayer_mc:MovieClip; private var _activityLayerComplex_mc:MovieClip; private var _activityLayer_mc:MovieClip; + private var _learnerContainer_mc:MovieClip; private var endGate_mc:MovieClip; //private var _transitionPropertiesOK:Function; @@ -246,6 +247,8 @@ _activityLayerComplex_mc = this.createEmptyMovieClip("_activityLayerComplex_mc", this.getNextHighestDepth()); _activityLayer_mc = this.createEmptyMovieClip("_activityLayer_mc", this.getNextHighestDepth(),{_y:learnerMenuBar._height}); + _learnerContainer_mc = this.createEmptyMovieClip("_learnerContainer_mc", this.getNextHighestDepth()); + var s:Object = mm.getSize(); endGate_mc = _activityLayer_mc.createChildAtDepth("endGate",DepthManager.kTop, {_x:0, _y:s.h-endGateOffset}); mm.endGate(endGate_mc); @@ -265,14 +268,18 @@ var totalLearners:Number = mm.allLearnersProgress.length; for (var i=0; i "+finishedLearners+" of "+ totalLearners; @@ -313,14 +320,15 @@ //Remove all the movies drawn on the transition and activity movieclip holder + this._learnerContainer_mc.removeMovieClip(); this._transitionLayer_mc.removeMovieClip(); this._activityLayer_mc.removeMovieClip(); this.endGate_mc.removeMovieClip(); //Recreate both Transition holder and Activity holder Movieclips _transitionLayer_mc = this.createEmptyMovieClip("_transitionLayer_mc", this.getNextHighestDepth()); _activityLayer_mc = this.createEmptyMovieClip("_activityLayer_mc", this.getNextHighestDepth(),{_y:learnerMenuBar._height}); - + _learnerContainer_mc = this.createEmptyMovieClip("_learnerContainer_mc", this.getNextHighestDepth()); endGate_mc = _activityLayer_mc.createChildAtDepth("endGate",DepthManager.kTop, {_x:0, _y:s.h-endGateOffset}); if (isChanged == false){ @@ -385,15 +393,15 @@ //take action depending on act type if(a.activityTypeID==Activity.TOOL_ACTIVITY_TYPE || a.isGroupActivity() ){ - newActivity_mc = _activityLayer_mc.createChildAtDepth("CanvasActivity",DepthManager.kTop,{_activity:a,_monitorController:mc,_monitorTabView:mtv, _module:"monitoring"}); + newActivity_mc = _activityLayer_mc.createChildAtDepth("CanvasActivity",DepthManager.kBottom,{_activity:a,_monitorController:mc,_monitorTabView:mtv, _module:"monitoring", learnerContainer:_learnerContainer_mc}); } else if (a.isGateActivity()){ - newActivity_mc = _activityLayer_mc.createChildAtDepth("CanvasGateActivity",DepthManager.kTop,{_activity:a,_monitorController:mc,_monitorTabView:mtv, _module:"monitoring"}); + newActivity_mc = _activityLayer_mc.createChildAtDepth("CanvasGateActivity",DepthManager.kBottom,{_activity:a,_monitorController:mc,_monitorTabView:mtv, _module:"monitoring"}); } else if(a.activityTypeID==Activity.PARALLEL_ACTIVITY_TYPE){ var children:Array = mm.getMonitor().ddm.getComplexActivityChildren(a.activityUIID); - newActivity_mc = _activityLayer_mc.createChildAtDepth("CanvasParallelActivity",DepthManager.kTop,{_activity:a,_children:children,_monitorController:mc,_monitorTabView:mtv,fromModuleTab:"monitorMonitorTab"}); + newActivity_mc = _activityLayer_mc.createChildAtDepth("CanvasParallelActivity",DepthManager.kBottom,{_activity:a,_children:children,_monitorController:mc,_monitorTabView:mtv,fromModuleTab:"monitorMonitorTab",learnerContainer:_learnerContainer_mc}); } else if(a.activityTypeID==Activity.OPTIONAL_ACTIVITY_TYPE){ var children:Array = mm.getMonitor().ddm.getComplexActivityChildren(a.activityUIID); - newActivity_mc = _activityLayer_mc.createChildAtDepth("CanvasOptionalActivity",DepthManager.kTop,{_activity:a,_children:children,_monitorController:mc,_monitorTabView:mtv,fromModuleTab:"monitorMonitorTab"}); + newActivity_mc = _activityLayer_mc.createChildAtDepth("CanvasOptionalActivity",DepthManager.kBottom,{_activity:a,_children:children,_monitorController:mc,_monitorTabView:mtv,fromModuleTab:"monitorMonitorTab",learnerContainer:_learnerContainer_mc}); } else{ Debugger.log('The activity:'+a.title+','+a.activityUIID+' is of unknown type, it cannot be drawn',Debugger.CRITICAL,'drawActivity','MonitorTabView'); } Index: lams_monitoring/web/lams_monitoring.swf =================================================================== diff -u -r1feb16a101c9bfb25d6d738acf9d14858c451950 -rb03ef46730a3909a403990d0520c4e504d1e6591 Binary files differ Index: lams_monitoring/web/lams_monitoring_library.swf =================================================================== diff -u -r1feb16a101c9bfb25d6d738acf9d14858c451950 -rb03ef46730a3909a403990d0520c4e504d1e6591 Binary files differ