Index: lams_central/src/flash/lams_monitoring.fla =================================================================== diff -u Binary files differ Index: lams_central/src/flash/lams_monitoring_v1.fla =================================================================== diff -u -r20b693c05a7575b8d9300f7dbc397d6912dad518 -rd4bdb419b0ed924be34bcae8851cdf129cacf19d Binary files differ Index: lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/Monitor.as =================================================================== diff -u -rb9746b5f35ddd1650881f2bc67be8c5f2dcbdc5d -rd4bdb419b0ed924be34bcae8851cdf129cacf19d --- lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/Monitor.as (.../Monitor.as) (revision b9746b5f35ddd1650881f2bc67be8c5f2dcbdc5d) +++ lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/Monitor.as (.../Monitor.as) (revision d4bdb419b0ed924be34bcae8851cdf129cacf19d) @@ -23,6 +23,7 @@ import org.lamsfoundation.lams.monitoring.Application; import org.lamsfoundation.lams.monitoring.mv.*; import org.lamsfoundation.lams.monitoring.mv.tabviews.*; +import org.lamsfoundation.lams.authoring.DesignDataModel; import org.lamsfoundation.lams.common.ui.* import org.lamsfoundation.lams.common.util.*; import org.lamsfoundation.lams.common.dict.* @@ -46,6 +47,7 @@ private var monitorView_mc:MovieClip; private var app:Application; + private var _ddm:DesignDataModel; private var _dictionary:Dictionary; private var _pi:MovieClip; //Property inspector @@ -65,7 +67,7 @@ //Create the model monitorModel = new MonitorModel(this); - + _ddm = new DesignDataModel(); _dictionary = Dictionary.getInstance(); //Create the view @@ -120,6 +122,58 @@ /** + * server call for learning Dseign and sent it to the save it in DataDesignModel + * + * @usage + * @param seq type Sequence; + * @return Void + */ + public function openLearningDesign(seq:Sequence){ + trace('opening learning design...'+ seq.getLearningDesignID()); + var designID:Number = seq.getLearningDesignID(); + //var designId:Number = seq._learningDesignID; + + var callback:Function = Proxy.create(this,saveDataDesignModel); + + Application.getInstance().getComms().getRequest('authoring/author.do?method=getLearningDesignDetails&learningDesignID='+designID,callback, false); + + } + + /* + private function getProgressData(seq:Object){ + trace('getting progress data...'); + var progessId:Number = seq.getSequenceID(); + + var callback:Function = Proxy.create(this, saveProgressData); + Application .getInstance().getComms().getRequest('learning/learner.do?method=getFlashProgressData&progressId=' + progessId, callback, false); + } + */ + + private function saveDataDesignModel(learningDesignDTO:Object){ + trace('returning learning design...'); + trace('saving model data...'); + var seq:Sequence = Sequence(monitorModel.getSequence()); + + _ddm.setDesign(learningDesignDTO); + seq.setLearningDesignModel(_ddm); + + // activite Progress movie + //monitorModel.drawDesign(); + } + + /* + private function saveProgressData(progressDTO:Object) + trace('returning progress data...'); + var progress:Progress = new Progress(); + progress.populateFromDTO(progressDTO); + var seq:Sequence = Sequence(libraryModel.getSelectedSequence()); + seq.setProgress(progress); + + trace('progress data saved...'); + } + */ + + /** * Used by application to set the size * @param width The desired width * @param height the desired height @@ -160,4 +214,8 @@ public function getMV():MonitorView{ return monitorView; } + + public function get ddm():DesignDataModel{ + return _ddm; + } } \ No newline at end of file Index: lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/MonitorController.as =================================================================== diff -u -rd33a24e9a927e063a170b1f896389beee2c16504 -rd4bdb419b0ed924be34bcae8851cdf129cacf19d --- lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/MonitorController.as (.../MonitorController.as) (revision d33a24e9a927e063a170b1f896389beee2c16504) +++ lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/MonitorController.as (.../MonitorController.as) (revision d4bdb419b0ed924be34bcae8851cdf129cacf19d) @@ -24,13 +24,19 @@ import org.lamsfoundation.lams.common.mvc.*; import org.lamsfoundation.lams.common.util.*; import org.lamsfoundation.lams.monitoring.*; -import org.lamsfoundation.lams.monitoring.mv.*; +import org.lamsfoundation.lams.monitoring.mv.*; +import org.lamsfoundation.lams.monitoring.mv.tabviews.*; /** * Controller for the sequence library */ class MonitorController extends AbstractController { - private var _monitorModel:MonitorModel; + private var _monitorModel:MonitorModel; + //private var _monitorView:MonitorView; + //private var _lessonTabView:LessonTabView; + //private var _canvasView:CanvasView; + //private var _canvasView:CanvasView; + //private var _canvasView:CanvasView; /** * Constructor @@ -39,7 +45,11 @@ */ public function MonitorController (mm:Observable) { super (mm); - _monitorModel = MonitorModel(model); + _monitorModel = MonitorModel(model); + //get a view if ther is not one + //if(!_lessonTabView){ + // _lessonTabView = LessonTabView(getView()); + //} } // add control methods @@ -52,8 +62,14 @@ * @return */ public function change(evt):Void{ - trace(evt.target); - trace("test: "+ String(evt.target.selectedIndex)) - //forClick.text="label is: " + evt.itemIndex.label + " index is: " + evt.index + " capital is: " + targetComp.dataProvider[evt.index].data; + trace(evt.target); + trace("test: "+ String(evt.target.selectedIndex)) + if (_monitorModel.getSequence() == null){ + trace ("None of Sequence is selected yet!"); + }else { + _monitorModel.changeTab(evt.target.selectedIndex); } + + + } } \ No newline at end of file Index: lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/MonitorModel.as =================================================================== diff -u -r3b87387c2c34a8fed56fa3fe9a7a006113a7b832 -rd4bdb419b0ed924be34bcae8851cdf129cacf19d --- lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/MonitorModel.as (.../MonitorModel.as) (revision 3b87387c2c34a8fed56fa3fe9a7a006113a7b832) +++ lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/MonitorModel.as (.../MonitorModel.as) (revision d4bdb419b0ed924be34bcae8851cdf129cacf19d) @@ -22,7 +22,9 @@ */ import org.lamsfoundation.lams.monitoring.*; -import org.lamsfoundation.lams.monitoring.mv.*; +import org.lamsfoundation.lams.monitoring.mv.*; +import org.lamsfoundation.lams.authoring.Activity; +import org.lamsfoundation.lams.authoring.Transition; import org.lamsfoundation.lams.common.Sequence; import org.lamsfoundation.lams.common.util.Observable; import org.lamsfoundation.lams.common.util.*; @@ -48,20 +50,30 @@ private var _todos:Array; // Array of ToDo ContributeActivity(s) // state data private var _showLearners:Boolean; - + //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; + + //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. */ public function MonitorModel (monitor:Monitor){ _monitor = monitor; - _showLearners = true; + _showLearners = true; + _activitiesDisplayed = new Hashtable("_activitiesDisplayed"); + _transitionsDisplayed = new Hashtable("_transitionsDisplayed"); } // add get/set methods public function setSequence(activeSeq:Sequence){ _activeSeq = activeSeq; - + _monitor.openLearningDesign(_activeSeq) setChanged(); //send an update @@ -133,12 +145,91 @@ //send an update infoObj = {}; - infoObj.updateType = "SHOW_LEARNERS"; + infoObj.updateType = "HIDE_LEARNERS"; notifyObservers(infoObj); } public function isShowLearners():Boolean{ return _showLearners; + } + + /** + * get the design in the DesignDataModel and update the Monitor Model accordingly. + * NOTE: Design elements are added to the DDM here. + * + * @usage + * @return + */ + public function drawDesign(tabID:Number){ + + //porobbably need to get a bit more granular + //go through the design and get the activities and transitions + var indexArray:Array; + var dataObj:Object; + var ddmActivity_keys:Array = _monitor.ddm.activities.keys(); + + + + indexArray = ddmActivity_keys; + trace("Length of Activities in DDM: "+indexArray.length) + + //loop through and do comparison + for(var i=0;i