Index: lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/MonitorController.as =================================================================== diff -u -rd4bdb419b0ed924be34bcae8851cdf129cacf19d -rb3b7250de5c79bfaceb71a118735b6fb79c3fad3 --- lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/MonitorController.as (.../MonitorController.as) (revision d4bdb419b0ed924be34bcae8851cdf129cacf19d) +++ lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/MonitorController.as (.../MonitorController.as) (revision b3b7250de5c79bfaceb71a118735b6fb79c3fad3) @@ -26,12 +26,14 @@ import org.lamsfoundation.lams.monitoring.*; import org.lamsfoundation.lams.monitoring.mv.*; import org.lamsfoundation.lams.monitoring.mv.tabviews.*; +import mx.utils.* /** * Controller for the sequence library */ class MonitorController extends AbstractController { private var _monitorModel:MonitorModel; + private var _monitorController:MonitorController; //private var _monitorView:MonitorView; //private var _lessonTabView:LessonTabView; //private var _canvasView:CanvasView; @@ -44,7 +46,8 @@ * @param cm The model to modify. */ public function MonitorController (mm:Observable) { - super (mm); + super (mm); + _monitorController = this; _monitorModel = MonitorModel(model); //get a view if ther is not one //if(!_lessonTabView){ @@ -72,4 +75,93 @@ } + + public function click(evt):Void{ + trace(evt.target); + var tgt:String = new String(evt.target); + if(tgt.indexOf("selectClass_btn") != -1){ + trace('you clicked select button..'); + _monitorModel.setDialogOpen("LM_DIALOG"); + } + } + + /** + * called when the dialog is loaded, calles methods to set up content in dialogue + * also sets up the okClicked event listener + * @usage + * @param evt + * @return + */ + public function openDialogLoaded(evt:Object) { + Debugger.log('!evt.type:'+evt.type,Debugger.GEN,'openDialogLoaded','org.lamsfoundation.lams.MonitorController'); + //Check type is correct + if(evt.type == 'contentLoaded'){ + //Set up callback for ok button click + Debugger.log('!evt.target.scrollContent:'+evt.target.scrollContent,Debugger.GEN,'openDialogLoaded','org.lamsfoundation.lams.MonitorView'); + evt.target.scrollContent.addEventListener('okClicked',Delegate.create(this,okClicked)); + //evt.target.scrollContent.addEventListener('locationTabClick',Delegate.create(this,locationTabClick)); + //evt.target.scrollContent.addEventListener('propertiesTabClick',Delegate.create(this,propertiesTabClick)); + trace('test getView ' + getView()); + //set a ref to the view + evt.target.scrollContent.monitorView = LessonTabView(getView()); + //set a ref to the dia in the view + LessonTabView(getView()).lessonManagerDialog = evt.target.scrollContent; + //set up UI + //note this function registeres the dialog to recieve view updates + evt.target.scrollContent.setUpContent(); + //populate the licenses drop down + //_workspaceModel.populateLicenseDetails(); + //select the right tab, dont pass anything to show the default tab + //_workspaceModel.showTab(_workspaceModel.currentTab); + } else { + //TODO DI 25/05/05 raise wrong event type error + } + } + + /** + * Workspace dialog OK button clicked handler + */ + private function okClicked(evt:Object) { + Debugger.log('!okClicked:'+evt.type+', now follows the resultDTO:',Debugger.GEN,'okClicked','org.lamsfoundation.lams.MonitorController'); + //Check type is correct + if(evt.type == 'okClicked'){ + + //Call the callback, passing in the design selected designId + + //invalidate the cache of folders + //_workspaceModel.clearWorkspaceCache(evt.target.resultDTO.organisationID); + + //pass the resultant DTO back to the class that called us. + //_monitorModel.getMonitor().onOKCallback(evt.target.resultDTO); + }else { + //TODO DI 25/05/05 raise wrong event type error + } + } + + /** + * Invoked when the node is opened. it must be a folder + */ + public function onTreeNodeOpen (evt:Object){ + var treeview = evt.target; + var nodeToOpen:XMLNode = evt.node; + Debugger.log('nodeToOpen organisationID:'+nodeToOpen.attributes.data.organisationID,Debugger.GEN,'onTreeNodeOpen','org.lamsfoundation.lams.MonitorController'); + Debugger.log('nodeToOpen org name:'+nodeToOpen.attributes.data.name,Debugger.GEN,'onTreeNodeOpen','org.lamsfoundation.lams.MonitorController'); + //if this ndoe has children then the + //data has already been got, nothing to do + + } + + /** + * Treeview data changed event handler + */ + public function onTreeNodeClose (evt:Object){ + Debugger.log('type::'+evt.type,Debugger.GEN,'onTreeNodeClose','org.lamsfoundation.lams.MonitorController'); + var treeview = evt.target; + } + + public function onTreeNodeChange (evt:Object){ + Debugger.log('type::'+evt.type,Debugger.GEN,'onTreeNodeChange','org.lamsfoundation.lams.MonitorController'); + var treeview = evt.target; + _monitorModel.setSelectedTreeNode(treeview.selectedNode); + } } \ No newline at end of file