Index: lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/Monitor.as =================================================================== diff -u -r33dc8471dbae4257aa5b82047b24c0a2e46152bb -r00838cf212c768fa2e61d0e1a12883bf66b84856 --- lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/Monitor.as (.../Monitor.as) (revision 33dc8471dbae4257aa5b82047b24c0a2e46152bb) +++ lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/Monitor.as (.../Monitor.as) (revision 00838cf212c768fa2e61d0e1a12883bf66b84856) @@ -23,14 +23,15 @@ import org.lamsfoundation.lams.monitoring.Application; import org.lamsfoundation.lams.monitoring.mv.*; import org.lamsfoundation.lams.common.ui.* +import org.lamsfoundation.lams.common.util.*; import org.lamsfoundation.lams.common.dict.* import org.lamsfoundation.lams.common.* import mx.utils.* import mx.managers.*; import mx.events.*; -class Monitor { +class org.lamsfoundation.lams.monitoring.mv.Monitor { //Constants public static var USE_PROPERTY_INSPECTOR = true; @@ -58,8 +59,8 @@ * @usage * @return target_mc //Target clip for attaching view */ - public function Monitor(target_mc:MovieClip, x:Number, y:Number,w:Number,h:Number){ - EventDispatcher.initialize(this); + public function Monitor(target_mc:MovieClip,depth:Number,x:Number,y:Number,w:Number,h:Number){ + mx.events.EventDispatcher.initialize(this); //Create the model monitorModel = new MonitorModel(this); @@ -71,10 +72,11 @@ trace(monitorView_mc); monitorView = MonitorView(monitorView_mc); + monitorView.init(monitorModel,undefined,x,y,w,h); - monitorView_mc.addEventListener('load',Proxy.create(this,viewLoaded)); - _dictionary.addEventListener('init',Proxy.create(this,setupPI)); + monitorView.addEventListener('load',Proxy.create(this,viewLoaded)); + //dictionary.addEventListener('init',Proxy.create(this,setupPI)); //Register view with model to receive update events monitorModel.addObserver(monitorView); @@ -84,7 +86,7 @@ monitorModel.setSize(w,h); //Get reference to application and design data model - app = Application.getInstance(); + //app = Application.getInstance(); } @@ -107,54 +109,8 @@ } } - /** - * Event dispatcher to setup Property inspector once dictionary items are loaded. - * - * @usage - * @return - */ - public function setupPI(){ - if(USE_PROPERTY_INSPECTOR){ - initPropertyInspector(); - } - } - - /** - * Initialises the property inspector - * @usage - */ - public function initPropertyInspector():Void{ - //note the init obnject parameters are passed into the _container object in the embeded class (*in this case PropertyInspector) - //we are setting up a view so we need to pass the model and controller to it - - var mm:MonitorController = monitorView.getController(); - _pi = PopUpManager.createPopUp(Application.root, LFWindow, false,{title:Dictionary.getValue('property_inspector_title'),closeButton:true,scrollContentPath:"PropertyInspector",_monitorModel:monitorModel,_monitorController:mm}); - - //Assign dialog load handler - _pi.addEventListener('contentLoaded',Delegate.create(this,piLoaded)); - //okClickedCallback = callBack; - } /** - * Fired whern property inspector's contentLoaded is fired - * Positions the PI - * @usage - * @param evt - * @return - */ - public function piLoaded(evt:Object) { - if(evt.type == 'contentLoaded'){ - //call a resize to line up the PI - Application.getInstance().onResize(); - - - }else { - //TODO raise wrong event type error - } - - } - - /** * Used by application to set the size * @param width The desired width * @param height the desired height Index: lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/MonitorView.as =================================================================== diff -u -r33dc8471dbae4257aa5b82047b24c0a2e46152bb -r00838cf212c768fa2e61d0e1a12883bf66b84856 --- lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/MonitorView.as (.../MonitorView.as) (revision 33dc8471dbae4257aa5b82047b24c0a2e46152bb) +++ lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/MonitorView.as (.../MonitorView.as) (revision 00838cf212c768fa2e61d0e1a12883bf66b84856) @@ -24,15 +24,14 @@ import org.lamsfoundation.lams.common.util.* import org.lamsfoundation.lams.common.ui.* import org.lamsfoundation.lams.common.style.* -import org.lamsfoundation.lams.authoring.cv.* -import org.lamsfoundation.lams.authoring.* +import org.lamsfoundation.lams.monitoring.mv.* +import org.lamsfoundation.lams.monitoring.*; import org.lamsfoundation.lams.common.dict.* import org.lamsfoundation.lams.common.mvc.* import mx.managers.* import mx.containers.*; import mx.events.* import mx.utils.* -import mx.events.ItemClickEvent; import mx.controls.TabBar; @@ -52,9 +51,9 @@ //Canvas clip private var _monitor_mc:MovieClip; - private var monitor_scp:ScrollPane; - private var monitorTabs_tb:TabBar; - private var bkg_pnl:Panel; + private var monitor_scp:MovieClip; + private var monitorTabs_tb:MovieClip; + private var bkg_pnl:MovieClip; //private var act_pnl:Panel; private var _gridLayer_mc:MovieClip; @@ -95,7 +94,7 @@ V_GAP = 10; //setupCM(); //register to recive updates form the model - MonitorModel(m).addEventListener('viewUpdate',this); + //MonitorModel(m).addEventListener('update',this); MovieClipUtils.doLater(Proxy.create(this,draw)); } @@ -105,21 +104,19 @@ * @usage * @param event */ -public function viewUpdate(event:Object):Void{ - Debugger.log('Recived an Event dispather UPDATE!, updateType:'+event.updateType+', target'+event.target,4,'viewUpdate','CanvasView'); - //Update view from info object - //Debugger.log('Recived an UPDATE!, updateType:'+infoObj.updateType,4,'update','CanvasView'); - var cm:CanvasModel = event.target; +public function update (o:Observable,infoObj:Object):Void{ + + var mm:MonitorModel = MonitorModel(o); - switch (event.updateType){ + switch (infoObj.updateType){ case 'POSITION' : - setPosition(cm); + setPosition(mm); break; case 'SIZE' : - setSize(cm); + setSize(mm); break; default : - Debugger.log('unknown update type :' + event.updateType,Debugger.CRITICAL,'update','org.lamsfoundation.lams.CanvasView'); + Debugger.log('unknown update type :' + infoObj.updateType,Debugger.CRITICAL,'update','org.lamsfoundation.lams.CanvasView'); } } @@ -133,22 +130,21 @@ //Debugger.log('_canvas_mc'+_canvas_mc,Debugger.GEN,'draw','CanvasView'); - var tab_arr:Array = [{label:"Lesson", data:"lesson"}, {label:"Monitor", data:"monitor"}, {label:"Learners", data:"learners"}, {label:"Todo", data:"todo"}]; - - monitorTabs_tb.dataProvider = tab_arr; - monitorTabs_tb.selectedIndex = 0; - - monitorTabs_tb.addEventListener("change", Delegate.create(this,clickEvt)); - bkg_pnl = _monitor_mc.createClassObject(Panel, "bkg_pnl", getNextHighestDepth()); //set up the //_canvas_mc = this; _gridLayer_mc = _monitor_mc.createEmptyMovieClip("_gridLayer_mc", _monitor_mc.getNextHighestDepth()); - bkg_pnl.useHandCursor = false; + //bkg_pnl.useHandCursor = false; + var tab_arr:Array = [{label:"Lesson", data:"lesson"}, {label:"Monitor", data:"monitor"}, {label:"Learners", data:"learners"}, {label:"Todo", data:"todo"}]; + monitorTabs_tb.dataProvider = tab_arr; + monitorTabs_tb.selectedIndex = 0; + + monitorTabs_tb.addEventListener("change", Delegate.create(this,clickEvt)); //setStyles(); + dispatchEvent({type:'load',target:this}); } @@ -159,7 +155,7 @@ * @param evt * @return */ - private function clickEvt(evt:ItemClickEvent):Void{ + private function clickEvt(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; @@ -169,11 +165,33 @@ */ private function setSize(mm:MonitorModel):Void{ var s:Object = mm.getSize(); + trace("Monitor Tab Widtht: "+s.w+" Monitor Tab Height: "+s.h); monitor_scp.setSize(s.w,s.h); bkg_pnl.setSize(s.w,s.h); - - //Create the grid. The gris is re-drawn each time the canvas is resized. + //Create the grid. The grid is re-drawn each time the canvas is resized. var grid_mc = Grid.drawGrid(_gridLayer_mc,Math.round(s.w),Math.round(s.h),V_GAP,H_GAP); } + + /** + * Sets the position of the canvas on stage, called from update + * @param cm Canvas model object + */ + private function setPosition(mm:MonitorModel):Void{ + var p:Object = mm.getPosition(); + trace("X pos set in Model is: "+p.x+" and Y pos set in Model is "+p.y) + this._x = p.x; + this._y = p.y; + } + + + /** + * Overrides method in abstract view to ensure cortect type of controller is returned + * @usage + * @return CanvasController + */ + public function getController():MonitorController{ + var c:Controller = super.getController(); + return MonitorController(c); + } } \ No newline at end of file