Index: lams_flash/src/common/flash/org/lamsfoundation/lams/common/LearnerActivity.as =================================================================== diff -u -rf8e0c0e67f67bdcdf8ae8367b638c3775f7652de -r121f6514853e03e838776b63cec0efb961a42c64 --- lams_flash/src/common/flash/org/lamsfoundation/lams/common/LearnerActivity.as (.../LearnerActivity.as) (revision f8e0c0e67f67bdcdf8ae8367b638c3775f7652de) +++ lams_flash/src/common/flash/org/lamsfoundation/lams/common/LearnerActivity.as (.../LearnerActivity.as) (revision 121f6514853e03e838776b63cec0efb961a42c64) @@ -22,7 +22,7 @@ */ import org.lamsfoundation.lams.common.*; -import org.lamsfoundation.lams.common.util.*; +import org.lamsfoundation.lams.common.util.*; import org.lamsfoundation.lams.common.ui.*; import org.lamsfoundation.lams.common.dict.*; import org.lamsfoundation.lams.common.mvc.*; @@ -32,18 +32,18 @@ import org.lamsfoundation.lams.authoring.Activity; import org.lamsfoundation.lams.common.style.*; -import com.polymercode.Draw; +import com.polymercode.Draw; import mx.managers.* import mx.containers.*; import mx.events.* import mx.utils.* -import mx.controls.* - -/** -* LearnerActivity - -*/ +import mx.controls.* + +/** +* LearnerActivity - +*/ class LearnerActivity extends MovieClip { - + public static var GATE_ACTIVITY_HEIGHT:Number =50; public static var GATE_ACTIVITY_WIDTH:Number = 50; public static var TOOL_ACTIVITY_WIDTH:Number = 123.1; @@ -56,7 +56,7 @@ private var xPos:Number; private var yPos:Number; - + //this is set by the init object private var _controller:AbstractController; private var _view:AbstractView; @@ -74,16 +74,16 @@ private var actLabel:String; private var learner:Progress; private var clickTarget_mc:MovieClip; - //private var completed_mc:MovieClip; - //private var current_mc:MovieClip; - //private var todo_mc:MovieClip; - //private var attempted_mc:MovieClip; + private var completed_mc:MovieClip; + private var current_mc:MovieClip; + private var todo_mc:MovieClip; + private var attempted_mc:MovieClip; private var canvasActivity_mc:MovieClip; private var title_lbl:MovieClip; private var groupIcon_mc:MovieClip; private var stopSign_mc:MovieClip; private var sentFrom:String; - private var canvasActivityGrouped_mc:MovieClip; + private var canvasActivityGrouped_mc:MovieClip; private var _dcStartTime:Number = 0; private var _doubleClicking:Boolean; private var _visibleWidth:Number; @@ -93,12 +93,14 @@ private var _line_bottom:MovieClip; private var _line_top:MovieClip; - private var icon_mc:MovieClip; private var _complex:Boolean; - - function LearnerActivity(){ - Debugger.log("_activity:"+_activity.title,4,'Constructor','Activity'); + + function LearnerActivity(){ + Debugger.log("_activity:"+_activity.title,4,'Constructor','LearnerActivity'); + Debugger.log("actStatus:"+ actStatus,4,'Constructor','LearnerActivity'); + Debugger.log("learner:"+ learner,4,'Constructor','LearnerActivity'); + _tm = ThemeManager.getInstance(); _tip = new ToolTip(); //Get reference to application and design data model @@ -113,26 +115,26 @@ _visibleWidth = LearnerActivity.TOOL_ACTIVITY_WIDTH; } - //_base_mc = this; + //_base_mc = this; //call init if we have passed in the _activity as an initObj in the attach movie, //otherwise wait as the class outside will call it if(_activity != undefined){ init(); } - - } - + + } + public function init(initObj):Void{ var styleObj = _tm.getStyleObject('smallLabel'); var _autosize:String; if(initObj){ - _view = initObj._view; _controller = initObj._controller; _activity = initObj._activity; learner = initObj.learner; + //actStatus = initObj.actStatus; } if(_complex){ @@ -159,13 +161,18 @@ } Debugger.log('initialising activity : ' + _activity.activityID ,Debugger.CRITICAL,'init','org.lamsfoundation.lams.LearnerActivity'); + Debugger.log("actStatus:"+ actStatus, 4,'init','LearnerActivity'); - MovieClipUtils.doLater(Proxy.create(this,draw)); - + this.onEnterFrame = draw; // MovieClipUtils.doLater(Proxy.create(this, draw)); + } private function showAssets(isVisible:Boolean){ + completed_mc._visible = isVisible; + current_mc._visible = isVisible; canvasActivity_mc._visible = isVisible; + todo_mc._visible = isVisible; + attempted_mc._visible = isVisible title_lbl._visible = true; } @@ -176,9 +183,9 @@ */ public function refresh():Void{ showAssets(false); - learner = controller.getModel().progressData; + learner = (model instanceof LessonModel) ? model.progressData : learner; actStatus = null; - this.removeMovieClip(icon_mc); + draw(); } @@ -189,40 +196,32 @@ * @return */ private function draw(){ + delete this.onEnterFrame; var toolTitle:String if (actStatus == null || actStatus == undefined){ actStatus = Progress.compareProgressData(learner, _activity.activityID); } - //title_lbl._visible = true; - Debugger.log('activity status : ' + actStatus ,Debugger.CRITICAL,'draw','org.lamsfoundation.lams.LearnerActivity'); + Debugger.log("activity: " + _activity.activityID + " // activity status : " + actStatus, Debugger.CRITICAL,'draw','org.lamsfoundation.lams.LearnerActivity'); clickTarget_mc._visible = true; - if (!stopSign_mc) { - switch (actStatus){ - case 'completed_mc' : - icon_mc = this.attachMovie("completed_mc", "completed_mc" + _activity.activityID, this.getNextHighestDepth(), {_x: 58 , _y: -7}); - //completed_mc._visible = true; - break; - case 'current_mc' : - icon_mc = this.attachMovie("current_mc", "current_mc" + _activity.activityID, this.getNextHighestDepth(), {_x: 58 , _y: -7}); - //current_mc._visible = true; - break; - case 'attempted_mc' : - icon_mc = this.attachMovie("attempted_mc", "attempted_mc" + _activity.activityID, this.getNextHighestDepth(), {_x: 58 , _y: -7}); - //attempted_mc._visible = true; - break; - //case 'attempted_mc' - default : - icon_mc = this.attachMovie("todo_mc", "todo_mc" + _activity.activityID, this.getNextHighestDepth(), {_x: 58 , _y: -7}); - //todo_mc._visible = true; - } + switch (actStatus){ + case 'completed_mc' : + completed_mc._visible = true; + break; + case 'current_mc' : + current_mc._visible = true; + break; + case 'attempted_mc' : + attempted_mc._visible = true; + break; + default : + todo_mc._visible = true; } - + //write text - trace("Title passed for Gate Activity: "+actLabel) if (actLabel == undefined){ toolTitle = _activity.title if (toolTitle.length > 19){ @@ -238,9 +237,10 @@ } title_lbl.text = toolTitle; - if(_view instanceof LearnerTabView) + if(_view instanceof LearnerTabView && !_complex) LearnerTabView(_view).drawNext(); - } + + } public function showToolTip(btnObj, btnTT:String):Void{ var appData = getAppData(); @@ -289,7 +289,7 @@ hideToolTip(); } - + private function onPress():Void{ // check double-click @@ -338,10 +338,17 @@ } } + public function get model(){ + if(app.module == 'learner') + return LessonModel(_controller.getModel()); + else + return MonitorModel(_controller.getModel()); + } + public function getAppData():Object{ return controller.appData; - } - + } + /** * * @usage @@ -362,7 +369,7 @@ } - + public function get activity():Activity{ return getActivity(); } @@ -371,20 +378,22 @@ setActivity(a); } - public function getActivity():Activity{ return _activity; - } public function setActivity(a:Activity){ _activity = a; - } + } public function get activityStatus():String{ return actStatus; } + public function set activityStatus(a:String){ + actStatus = a; + } + public function get learnerID():Number{ return learner.getLearnerId(); } @@ -412,5 +421,5 @@ public function get isAttempted():Boolean { return (actStatus == 'attempted_mc'); } - + } \ No newline at end of file