Index: lams_central/web/lams_authoring.swf =================================================================== diff -u -r43bef28b390ac8bec99626dc15c94d577875f046 -r47545d87ebe3a0fde51c85720b8e0693ad471843 Binary files differ Index: lams_central/web/lams_authoring_library.swf =================================================================== diff -u -r43bef28b390ac8bec99626dc15c94d577875f046 -r47545d87ebe3a0fde51c85720b8e0693ad471843 Binary files differ Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as =================================================================== diff -u -r43bef28b390ac8bec99626dc15c94d577875f046 -r47545d87ebe3a0fde51c85720b8e0693ad471843 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as (.../CanvasBranchView.as) (revision 43bef28b390ac8bec99626dc15c94d577875f046) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as (.../CanvasBranchView.as) (revision 47545d87ebe3a0fde51c85720b8e0693ad471843) @@ -278,8 +278,8 @@ _learnerContainer_mc = content.createEmptyMovieClip("_learnerContainer_mc", content.getNextHighestDepth()); - transparentCover = content.createClassObject(Panel, "_transparentCover_mc", content.getNextHighestDepth(), {_visible: false, enabled: false, _alpha: 50}); - transparentCover.onPress = null; + transparentCover = content.createClassObject(Panel, "_transparentCover_mc", content.getNextHighestDepth(), {_visible: false, enabled: true, _alpha: 50}); + transparentCover.onPress = Proxy.create(this, onTransparentCoverClick); complexViewer = content.createEmptyMovieClip("_complex_viewer_mc", content.getNextHighestDepth()); branchContent = content.createEmptyMovieClip("_branch_content_mc", DepthManager.kTopmost); @@ -537,15 +537,14 @@ var newActivity_mc = (_module != "monitoring") ? activityComplexLayer.createChildAtDepth("CanvasOptionalActivity",DepthManager.kTop,{_activity:a,_children:children, _canvasController:cbc,_canvasBranchView:cbv,_locked:a.isReadOnly()}) : activityComplexLayer.createChildAtDepth("CanvasOptionalActivity",DepthManager.kTop,{_activity:a,_children:children, _monitorController:cbc,_canvasBranchView:cbv,_locked:a.isReadOnly(), fromModuleTab:fromModuleTab, learnerContainer:_learnerContainer_mc}); - cm.addToBranchingQueue(newActivity_mc); cm.activitiesDisplayed.put(a.activityUIID,newActivity_mc); Debugger.log('Optional activity Type a.title:'+a.title+','+a.activityUIID+' added to the cm.activitiesDisplayed hashtable :'+newActivity_mc,4,'drawActivity','CanvasBranchView'); } else if(a.isBranchingActivity()) { var newActivity_mc = (_module != "monitoring") ? activityLayer.createChildAtDepth("CanvasActivity",DepthManager.kTop,{_activity:a, _canvasController:cbc,_canvasBranchView:cbv}) : activityLayer.createChildAtDepth("CanvasActivity",DepthManager.kTop,{_activity:a, _monitorController:cbc,_canvasBranchView:cbv, _module:_module, learnerContainer:_learnerContainer_mc}); - + cm.activitiesDisplayed.put(a.activityUIID,newActivity_mc); Debugger.log('Branching activity Type a.title:'+a.title+','+a.activityUIID+' added to the cm.activitiesDisplayed hashtable :'+newActivity_mc,4,'drawActivity','CanvasBranchView'); Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasComplexView.as =================================================================== diff -u -r43bef28b390ac8bec99626dc15c94d577875f046 -r47545d87ebe3a0fde51c85720b8e0693ad471843 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasComplexView.as (.../CanvasComplexView.as) (revision 43bef28b390ac8bec99626dc15c94d577875f046) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasComplexView.as (.../CanvasComplexView.as) (revision 47545d87ebe3a0fde51c85720b8e0693ad471843) @@ -51,9 +51,12 @@ private var _mm:MonitorModel; private var _canvasComplexView:CanvasComplexView; + private var _complexActivity:CanvasActivity; + private var _parentActivity:Object; + private var _prevActiveView; - private var canvas_scp:ScrollPane; + //private var canvas_scp:ScrollPane; private var lastScreenWidth:Number = 500; private var lastScreenHeight:Number = 300; @@ -126,7 +129,14 @@ removeActivity(event.data,cm); break; case 'SELECTED_ITEM' : - highlightActivity(cm); + Debugger.log("selecting item: " + cm.selectedItem.activity.activityUIID, Debugger.CRITICAL, "viewUpdate", "CanvasComplexView"); + Debugger.log("test parent: " + cm.findParent(cm.selectedItem.activity, _complexActivity.activity), Debugger.CRITICAL, "viewUpdate", "CanvasComplexView"); + + var caComplex = activitiesDisplayed.get(_complexActivity.activity.activityUIID); + caComplex.refreshChildren(); + + highlightActivity(cm); + break; case 'SET_ACTIVE' : Debugger.log('setting active :' + event.updateType + " event.data: " + event.data + " condition: " + (event.data == this),Debugger.CRITICAL,'update','org.lamsfoundation.lams.CanvasView'); @@ -143,74 +153,83 @@ */ private function draw(){ //get the content path for the sp - content = canvas_scp.content; - content._alpha = 0; - bkg_pnl = content.createClassObject(Panel, "bkg_pnl", content.getNextHighestDepth(), {_alpha: 0}); + content = this; + //content._alpha = 0; + //bkg_pnl = content.createClassObject(Panel, "bkg_pnl", content.getNextHighestDepth()); - transparentCover = content.createClassObject(Panel, "_transparentCover_mc", content.getNextHighestDepth(), {_visible: true, enabled: false, _alpha: 85}); - transparentCover.onPress = null; + //transparentCover = content.createClassObject(Panel, "_transparentCover_mc", content.getNextHighestDepth(), {_visible: false, enabled: false, _alpha: 50}); + //transparentCover.onPress = null; + activityComplexLayer = content.createEmptyMovieClip("_activityComplexLayer_mc", content.getNextHighestDepth()); activityLayer = content.createEmptyMovieClip("_activityLayer_mc", content.getNextHighestDepth()); - bkg_pnl.useHandCursor = false; + //bkg_pnl.useHandCursor = false; setStyles(); - setSize(model); //Dispatch load event dispatchEvent({type:'load',target:this}); } - + + public function showActivity():Void { + drawActivity(_complexActivity.activity, model); + + // change position + var ca:MovieClip = activitiesDisplayed.get(_complexActivity.activity.activityUIID); + + setSize(model, ca); + + this._visible = true; + } + + public function close():Void { + removeActivity(_complexActivity.activity, model); + + if(model instanceof CanvasModel) { + model.activeView = _prevActiveView; + model.currentBranchingActivity = (_prevActiveView.activity.isBranchingActivity()) ? _prevActiveView.activity : null; + + model.getCanvas().closeComplexView(); + } else { + //model.getMonitor().getMV().getMonitorTabView().showAssets(true); + model.activeView = _prevActiveView; + model.currentBranchingActivity = (_prevActiveView.activity.isBranchingActivity()) ? _prevActiveView.activity : null; + + model.getMonitor().closeComplexView(); + } + } + /** * Draws new or replaces existing activity to canvas stage. * @usage * @param a - Activity to be drawn * @param cm - Refernce to the model * @return Boolean - successfullit */ - private function drawActivity(a:Activity,cm:CanvasModel):Boolean{ + private function drawActivity(a:Activity, cm):Boolean{ if(!cm.isActiveView(this)) return false; var ccv = CanvasComplexView(this); var cvc = getController(); - var setupBranchView:Boolean = (cm.lastBranchActionType == CanvasModel.OPEN_FROM_FILE) ? false /* true */ : false; - - Debugger.log('setupBranchView:' + setupBranchView, Debugger.CRITICAL, 'drawActivity','CanvasComplexView'); - Debugger.log('I am in drawActivity and Activity typeID :'+a.activityTypeID+' added to the cm.activitiesDisplayed hashtable :'+newActivity_mc,4,'drawActivity','CanvasComplexView'); - //take action depending on act type - if(a.activityTypeID==Activity.TOOL_ACTIVITY_TYPE || a.isGroupActivity()){ - var newActivity_mc = activityLayer.createChildAtDepth("CanvasActivity",DepthManager.kTop,{_activity:a,_canvasController:cvc,_canvasComplexView:ccv}); - activitiesDisplayed.put(a.activityUIID,newActivity_mc); - Debugger.log('Tool or gate activity a.title:'+a.title+','+a.activityUIID+' added to the cm.activitiesDisplayed hashtable:'+newActivity_mc,4,'drawActivity','CanvasView'); - } - else if (a.isGateActivity()){ - var newActivity_mc = activityLayer.createChildAtDepth("CanvasGateActivity",DepthManager.kTop,{_activity:a,_canvasController:cvc,_canvasComplexView:ccv}); - cm.activitiesDisplayed.put(a.activityUIID,newActivity_mc); - Debugger.log('Gate activity a.title:'+a.title+','+a.activityUIID+' added to the cm.activitiesDisplayed hashtable:'+newActivity_mc,4,'drawActivity','CanvasView'); - } - else if(a.activityTypeID==Activity.PARALLEL_ACTIVITY_TYPE){ + if(a.activityTypeID==Activity.PARALLEL_ACTIVITY_TYPE){ //get the children var children:Array = cm.getCanvas().ddm.getComplexActivityChildren(a.activityUIID); - var newActivity_mc = activityLayer.createChildAtDepth("CanvasParallelActivity",DepthManager.kTop,{_activity:a,_children:children,_canvasController:cvc,_canvasComplexView:ccv, _locked:a.isReadOnly()}); - activitiesDisplayed.put(a.activityUIID,newActivity_mc); + + var newActivity_mc = activityLayer.createChildAtDepth("CanvasParallelActivity",DepthManager.kTop,{_x: 0, _y: 0, _activity:a,_children:children,_canvasController:cvc,_canvasComplexView:ccv, _locked:a.isReadOnly()}); + + activitiesDisplayed.put(a.activityUIID, newActivity_mc); Debugger.log('Parallel activity a.title:'+a.title+','+a.activityUIID+' added to the cm.activitiesDisplayed hashtable :'+newActivity_mc,4,'drawActivity','CanvasView'); } else if(a.activityTypeID==Activity.OPTIONAL_ACTIVITY_TYPE || a.activityTypeID==Activity.OPTIONS_WITH_SEQUENCES_TYPE){ var children:Array = cm.getCanvas().ddm.getComplexActivityChildren(a.activityUIID); - var newActivity_mc = activityComplexLayer.createChildAtDepth("CanvasOptionalActivity",DepthManager.kTop,{_activity:a,_children:children,_canvasController:cvc,_canvasComplexView:ccv,_locked:a.isReadOnly()}); + var newActivity_mc = activityComplexLayer.createChildAtDepth("CanvasOptionalActivity",DepthManager.kTop,{_x: 0, _y: 0, _activity:a,_children:children,_canvasController:cvc,_canvasComplexView:ccv,_locked:a.isReadOnly()}); - activitiesDisplayed.put(a.activityUIID,newActivity_mc); + activitiesDisplayed.put(a.activityUIID, newActivity_mc); Debugger.log('Optional activity Type a.title:'+a.title+','+a.activityUIID+' added to the cm.activitiesDisplayed hashtable :'+newActivity_mc,4,'drawActivity','CanvasView'); - } - else if(a.isBranchingActivity()){ - var newActivity_mc = activityLayer.createChildAtDepth("CanvasActivity",DepthManager.kTop,{_activity:a,_canvasController:cvc,_canvasComplexView:ccv, setupBranchView: setupBranchView}); - activitiesDisplayed.put(a.activityUIID, newActivity_mc); - Debugger.log('Branching activity Type a.title:'+a.title+','+a.activityUIID+' added to the cm.activitiesDisplayed hashtable :'+newActivity_mc,4,'drawActivity','CanvasView'); - - }else{ + } else { Debugger.log('The activity:'+a.title+','+a.activityUIID+' is of unknown type, it cannot be drawn',Debugger.CRITICAL,'drawActivity','CanvasView'); } @@ -236,22 +255,13 @@ /** * Sets the size of the canvas on stage, called from update */ - private function setSize(cm):Void{ + private function setSize(cm, ca:MovieClip):Void{ var s:Object = cm.getSize(); - var newWidth:Number = Math.max(s.w, lastScreenWidth); - var newHeight:Number = Math.max(s.h, lastScreenHeight); + //canvas_scp.setSize(ca._width, ca._height); + //bkg_pnl.setSize(ca._width, ca._height); + //transparentCover.setSize(s.w, s.h); - canvas_scp.setSize(s.w,s.h); - bkg_pnl.setSize(newWidth, newHeight); - transparentCover.setSize(newWidth, newHeight); - - //position bin in canvas. TODO - - canvas_scp.redraw(true); - - lastScreenWidth = newWidth; - lastScreenHeight = newHeight; } /** @@ -262,8 +272,8 @@ */ private function setStyles() { var styleObj = _tm.getStyleObject('CanvasPanel'); - bkg_pnl.setStyle('styleName', styleObj); - transparentCover.setStyle('styleName', styleObj); + //bkg_pnl.setStyle('styleName', styleObj); + //transparentCover.setStyle('styleName', styleObj); } /** @@ -277,7 +287,8 @@ } public function get ddm():DesignDataModel { - return _cm.getCanvas().ddm; + if(model instanceof CanvasModel) return CanvasModel(model).ddm + else return MonitorModel(model).ddm; } public function get model():Object { @@ -311,11 +322,4 @@ return (model instanceof CanvasModel) ? new CanvasController(model) : new MonitorModel(model); } - public function getScrollPaneVPosition():Number { - return canvas_scp.vPosition; - } - - public function getScrollPaneHPosition():Number { - return canvas_scp.hPosition; - } } \ No newline at end of file Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as =================================================================== diff -u -r43bef28b390ac8bec99626dc15c94d577875f046 -r47545d87ebe3a0fde51c85720b8e0693ad471843 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as (.../CanvasController.as) (revision 43bef28b390ac8bec99626dc15c94d577875f046) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as (.../CanvasController.as) (revision 47545d87ebe3a0fde51c85720b8e0693ad471843) @@ -304,7 +304,7 @@ } - //if we are on the bin - trash it + // if we are on the bin - trash it isActivityOnBin(ca); //get a view if ther is not one @@ -315,26 +315,32 @@ Debugger.log("ca x: " + ca._x, Debugger.CRITICAL, "activityRelease", "CanvasController"); Debugger.log("ca y: " + ca._y, Debugger.CRITICAL, "activityRelease", "CanvasController"); - if(ca._x < 0) ca._x = 0; - if(ca._y < 0) ca._y = 0; - if(ca._x > _canvasView.gridLayer._width - ca.getVisibleWidth()) ca._x = _canvasView.gridLayer._width - ca.getVisibleWidth(); - if(ca._y > _canvasView.gridLayer._height - ca.getVisibleHeight()) ca._y = _canvasView.gridLayer._height - ca.getVisibleHeight(); - - //give it the new co-ords and 'drop' it - if(!ca.branchConnector) { - ca.activity.xCoord = ca._x; - ca.activity.yCoord = ca._y; + if(!(_canvasModel.activeView instanceof CanvasComplexView)) { + if(ca._x < 0) ca._x = 0; + if(ca._y < 0) ca._y = 0; + if(ca._x > _canvasView.gridLayer._width - ca.getVisibleWidth()) ca._x = _canvasView.gridLayer._width - ca.getVisibleWidth(); + if(ca._y > _canvasView.gridLayer._height - ca.getVisibleHeight()) ca._y = _canvasView.gridLayer._height - ca.getVisibleHeight(); - if(ca.activity.isBranchingActivity()) ca.setPosition(ca._x, ca._y); - - } else { - if(_canvasModel.activeView.isStart(ca)) { - ca.activity.startXCoord = ca._x; - ca.activity.startYCoord = ca._y; - } else if(_canvasModel.activeView.isEnd(ca)) { - ca.activity.endXCoord = ca._x; - ca.activity.endYCoord = ca._y; + //give it the new co-ords and 'drop' it + + if(!ca.branchConnector) { + ca.activity.xCoord = ca._x; + ca.activity.yCoord = ca._y; + + if(ca.activity.isBranchingActivity()) ca.setPosition(ca._x, ca._y); + + } else { + if(_canvasModel.activeView.isStart(ca)) { + ca.activity.startXCoord = ca._x; + ca.activity.startYCoord = ca._y; + } else if(_canvasModel.activeView.isEnd(ca)) { + ca.activity.endXCoord = ca._x; + ca.activity.endYCoord = ca._y; + } } + } else { + ca._x = 0; + ca._y = 0; } //refresh the transitions @@ -447,13 +453,17 @@ ca.activity.activityTypeID == Activity.SYNCH_GATE_ACTIVITY_TYPE || ca.activity.activityTypeID == Activity.SCHEDULE_GATE_ACTIVITY_TYPE || ca.activity.activityTypeID == Activity.PERMISSION_GATE_ACTIVITY_TYPE || + ca.activity.activityTypeID == Activity.OPTIONAL_ACTIVITY_TYPE || ca.activity.activityTypeID == Activity.PARALLEL_ACTIVITY_TYPE || ca.activity.activityTypeID == Activity.OPTIONS_WITH_SEQUENCES_TYPE){ + if (!_pi.isPIExpanded()){ _canvasModel.setPIHeight(_pi.piFullHeight()); } - if(ca.activity.parentUIID != null) { + if(ca.activity.parentUIID != null && (ca.activity.activityTypeID == Activity.PARALLEL_ACTIVITY_TYPE || + ca.activity.activityTypeID == Activity.OPTIONAL_ACTIVITY_TYPE || + ca.activity.activityTypeID == Activity.OPTIONS_WITH_SEQUENCES_TYPE)) { // open complex inside complex view Debugger.log("open complex viewer: " + ca.activity.activityUIID, Debugger.CRITICAL, "activityDoubleClick", "CanvasController") _canvasModel.getCanvas().openComplexView(ca); @@ -539,6 +549,7 @@ _canvasModel.resetTransitionTool(); _canvasModel.getCanvas().stopActiveTool(); _canvasModel.getCanvas().stopTransitionTool(); + app.controlKeyPressed = "" } else { @@ -549,18 +560,22 @@ isActivityOnBin(ca); var tgt:String = new String(ca._parent); - - if(tgt.indexOf("childActivities_mc")) { - activitySnapBack(ca); + if(!(_canvasModel.activeView instanceof CanvasComplexView)) { + if(tgt.indexOf("childActivities_mc")) { + activitySnapBack(ca); + } else { + if(ca._x < 0) ca._x = 0; + if(ca._y < 0) ca._y = 0; + if(ca._x > _canvasView.gridLayer._width - ca.getVisibleWidth()) ca._x = _canvasView.gridLayer._width - ca.getVisibleWidth(); + if(ca._y > _canvasView.gridLayer._height - ca.getVisibleHeight()) ca._y = _canvasView.gridLayer._height - ca.getVisibleHeight(); + + // give it the new co-ords and 'drop' it + ca.activity.xCoord = ca._x; + ca.activity.yCoord = ca._y; + } } else { - if(ca._x < 0) ca._x = 0; - if(ca._y < 0) ca._y = 0; - if(ca._x > _canvasView.gridLayer._width - ca.getVisibleWidth()) ca._x = _canvasView.gridLayer._width - ca.getVisibleWidth(); - if(ca._y > _canvasView.gridLayer._height - ca.getVisibleHeight()) ca._y = _canvasView.gridLayer._height - ca.getVisibleHeight(); - - // give it the new co-ords and 'drop' it - ca.activity.xCoord = ca._x; - ca.activity.yCoord = ca._y; + ca._x = 0; + ca._y = 0; } } Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasHelper.as =================================================================== diff -u -r43bef28b390ac8bec99626dc15c94d577875f046 -r47545d87ebe3a0fde51c85720b8e0693ad471843 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasHelper.as (.../CanvasHelper.as) (revision 43bef28b390ac8bec99626dc15c94d577875f046) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasHelper.as (.../CanvasHelper.as) (revision 47545d87ebe3a0fde51c85720b8e0693ad471843) @@ -105,8 +105,7 @@ canvasModel.setDirty(); } else if(evt.target instanceof CanvasComplexView) { // open complex view - evt.target._visible = true; - //evt.target.showComplexActivity(); + evt.target.showActivity(); } else { canvasModel.getCanvas().addBin(evt.target); @@ -580,7 +579,24 @@ var target:MovieClip = (canvasModel.activeView instanceof CanvasBranchView) ? canvasModel.activeView.complexViewer : _canvasView_mc.complexViewer; - _canvasComplexView_mc = target.createChildAtDepth("canvasComplexView", DepthManager.kTop, {_x: 0, _y: 0, _complexActivity:ca, _visible:false}); + var cx:Number; + var cy:Number; + + var parentAct:Activity = ddm.getActivityByUIID(ca.activity.parentUIID); + var grandParentActivity:MovieClip = canvasModel.activitiesDisplayed.get(parentAct.parentUIID); + var parentActivity:MovieClip = canvasModel.activitiesDisplayed.get(parentAct.activityUIID); + + if(parentAct.isSequenceActivity() && grandParentActivity instanceof CanvasOptionalActivity) { + cx = grandParentActivity._x + parentAct.xCoord + ca._x; + cy = grandParentActivity._y + parentAct.yCoord + ca._y; + } else { + cx = parentActivity._x + ca._x; + cy = parentActivity._y + ca._y; + } + + Debugger.log("co ord x: " + cx + " y: " + cy, Debugger.CRITICAL, "openComplexView", "CanvasHelper"); + + _canvasComplexView_mc = target.createChildAtDepth("canvasComplexView", DepthManager.kTop, {_x: cx, _y: cy, _complexActivity:ca, _parentActivity:parentActivity, _visible:false, _prevActiveView: canvasModel.activeView}); canvasComplexView = CanvasComplexView(_canvasComplexView_mc); canvasComplexView.init(canvasModel, undefined); Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasOptionalActivity.as =================================================================== diff -u -r43bef28b390ac8bec99626dc15c94d577875f046 -r47545d87ebe3a0fde51c85720b8e0693ad471843 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasOptionalActivity.as (.../CanvasOptionalActivity.as) (revision 43bef28b390ac8bec99626dc15c94d577875f046) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasOptionalActivity.as (.../CanvasOptionalActivity.as) (revision 47545d87ebe3a0fde51c85720b8e0693ad471843) @@ -163,8 +163,13 @@ if(fromModuleTab == "monitorMonitorTab"){ children_mc[i] = childActivities_mc.attachMovie("CanvasActivity", "CanvasActivity"+i, childActivities_mc.getNextHighestDepth (), {_activity:_children[i] , _monitorController:_monitorController, _monitorView:_monitorTabView, _module:"monitoring", learnerContainer:learnerContainer}); } else { - children_mc[i] = (_canvasBranchView != null) ? childActivities_mc.attachMovie("CanvasActivity", "CanvasActivity"+i, childActivities_mc.getNextHighestDepth (), {_activity:_children[i] , _canvasController:_canvasController, _canvasBranchView:_canvasBranchView}) - : childActivities_mc.attachMovie("CanvasActivity", "CanvasActivity"+i, childActivities_mc.getNextHighestDepth (), {_activity:_children[i] , _canvasController:_canvasController, _canvasView:_canvasView}); + if(_canvasBranchView != null) { + children_mc[i] = childActivities_mc.attachMovie("CanvasActivity", "CanvasActivity"+i, childActivities_mc.getNextHighestDepth (), {_activity:_children[i] , _canvasController:_canvasController, _canvasBranchView:_canvasBranchView}) + } else if(_canvasComplexView != null) { + children_mc[i] = childActivities_mc.attachMovie("CanvasActivity", "CanvasActivity"+i, childActivities_mc.getNextHighestDepth (), {_activity:_children[i] , _canvasController:_canvasController, _canvasComplexView:_canvasComplexView}); + } else { + children_mc[i] = childActivities_mc.attachMovie("CanvasActivity", "CanvasActivity"+i, childActivities_mc.getNextHighestDepth (), {_activity:_children[i] , _canvasController:_canvasController, _canvasView:_canvasView}); + } } //set the positioning co-ords @@ -202,11 +207,21 @@ if(_children[i].isSequenceActivity()) { if(fromModuleTab == "monitorMonitorTab") { - children_mc[i] = (_canvasBranchView != null) ? childActivities_mc.attachMovie("CanvasSequenceActivity", "CanvasSequenceActivity"+i, childActivities_mc.getNextHighestDepth(), {_activity:_children[i] , _monitorController:_monitorController, _monitorView:_canvasBranchView, _module:"monitoring", learnerContainer:learnerContainer}) - : childActivities_mc.attachMovie("CanvasSequenceActivity", "CanvasSequenceActivity"+i, childActivities_mc.getNextHighestDepth(), {_activity:_children[i] , _monitorController:_monitorController, _monitorView:_monitorTabView, _module:"monitoring", learnerContainer:learnerContainer}); + if(_canvasBranchView != null) { + children_mc[i] = childActivities_mc.attachMovie("CanvasSequenceActivity", "CanvasSequenceActivity"+i, childActivities_mc.getNextHighestDepth(), {_activity:_children[i] , _monitorController:_monitorController, _monitorView:_canvasBranchView, _module:"monitoring", learnerContainer:learnerContainer}) + } else if(_canvasComplexView) { + children_mc[i] = childActivities_mc.attachMovie("CanvasSequenceActivity", "CanvasSequenceActivity"+i, childActivities_mc.getNextHighestDepth(), {_activity:_children[i] , _monitorController:_monitorController, _monitorView:_canvasComplexView, _module:"monitoring", learnerContainer:learnerContainer}) + } else { + children_mc[i] = childActivities_mc.attachMovie("CanvasSequenceActivity", "CanvasSequenceActivity"+i, childActivities_mc.getNextHighestDepth(), {_activity:_children[i] , _monitorController:_monitorController, _monitorView:_monitorTabView, _module:"monitoring", learnerContainer:learnerContainer}); + } } else { - children_mc[i] = (_canvasBranchView != null) ? childActivities_mc.attachMovie("CanvasSequenceActivity", "CanvasSequenceActivity"+i, childActivities_mc.getNextHighestDepth(), {_activity:_children[i] , _canvasController:_canvasController, _canvasBranchView:_canvasBranchView}) - : childActivities_mc.attachMovie("CanvasSequenceActivity", "CanvasSequenceActivity"+i, childActivities_mc.getNextHighestDepth(), {_activity:_children[i] , _canvasController:_canvasController, _canvasView:_canvasView}); + if(_canvasBranchView != null) { + children_mc[i] = childActivities_mc.attachMovie("CanvasSequenceActivity", "CanvasSequenceActivity"+i, childActivities_mc.getNextHighestDepth(), {_activity:_children[i] , _canvasController:_canvasController, _canvasBranchView:_canvasBranchView}); + } else if(_canvasComplexView != null) { + children_mc[i] = childActivities_mc.attachMovie("CanvasSequenceActivity", "CanvasSequenceActivity"+i, childActivities_mc.getNextHighestDepth(), {_activity:_children[i] , _canvasController:_canvasController, _canvasComplexView:_canvasComplexView}); + } else { + children_mc[i] = childActivities_mc.attachMovie("CanvasSequenceActivity", "CanvasSequenceActivity"+i, childActivities_mc.getNextHighestDepth(), {_activity:_children[i] , _canvasController:_canvasController, _canvasView:_canvasView}); + } } //set the positioning co-ords children_mc[i].activity.xCoord = CHILD_OFFSET_X; @@ -347,9 +362,12 @@ padlockOpen_mc._x = padlockClosed_mc._x; } - _visibleHeight = container_pnl._height; - _x = _activity.xCoord; - _y = _activity.yCoord; + _visibleHeight = container_pnl._height; + + if(!_canvasComplexView) { + _x = _activity.xCoord; + _y = _activity.yCoord; + } //dimentions of container (this) setLocking(); Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasParallelActivity.as =================================================================== diff -u -r43bef28b390ac8bec99626dc15c94d577875f046 -r47545d87ebe3a0fde51c85720b8e0693ad471843 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasParallelActivity.as (.../CanvasParallelActivity.as) (revision 43bef28b390ac8bec99626dc15c94d577875f046) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasParallelActivity.as (.../CanvasParallelActivity.as) (revision 47545d87ebe3a0fde51c85720b8e0693ad471843) @@ -27,6 +27,7 @@ import org.lamsfoundation.lams.common.ui.*; import org.lamsfoundation.lams.authoring.*; import org.lamsfoundation.lams.authoring.cv.*; +import org.lamsfoundation.lams.authoring.br.CanvasBranchView; import org.lamsfoundation.lams.monitoring.mv.*; import org.lamsfoundation.lams.monitoring.mv.tabviews.*; import org.lamsfoundation.lams.common.style.*; @@ -50,6 +51,7 @@ //this is set by the init object private var _canvasController:CanvasController; private var _canvasView:CanvasView; + private var _canvasBranchView:CanvasBranchView; private var _canvasComplexView:CanvasComplexView; private var _monitorController:MonitorController; @@ -145,17 +147,31 @@ //child1_mc = childActivities_mc.createChildAtDepth("CanvasActivity",DepthManager.kTop,{_activity:child1 ,_monitorController:_monitorController, _monitorView:_monitorTabView, _module:"monitoring", learnerContainer:learnerContainer}); //child2_mc = childActivities_mc.createChildAtDepth("CanvasActivity",DepthManager.kTop,{_activity:child2 ,_monitorController:_monitorController, _monitorView:_monitorTabView, _module:"monitoring", learnerContainer:learnerContainer}); - - child1_mc.init({activity:child1, _monitorController:_monitorController, _monitorView:_monitorTabView, _module:"monitoring", learnerContainer:learnerContainer}); - child2_mc.init({activity:child2, _monitorController:_monitorController, _monitorView:_monitorTabView, _module:"monitoring", learnerContainer:learnerContainer}); + if(_canvasBranchView != null) { + child1_mc.init({activity:child1, _monitorController:_monitorController, _monitorView:_canvasBranchView, _module:"monitoring", learnerContainer:learnerContainer}); + child2_mc.init({activity:child2, _monitorController:_monitorController, _monitorView:_canvasBranchView, _module:"monitoring", learnerContainer:learnerContainer}); + } else if(_canvasComplexView != null) { + child1_mc.init({activity:child1, _monitorController:_monitorController, _monitorView:_canvasComplexView, _module:"monitoring", learnerContainer:learnerContainer}); + child2_mc.init({activity:child2, _monitorController:_monitorController, _monitorView:_canvasComplexView, _module:"monitoring", learnerContainer:learnerContainer}); + } else { + child1_mc.init({activity:child1, _monitorController:_monitorController, _monitorView:_monitorTabView, _module:"monitoring", learnerContainer:learnerContainer}); + child2_mc.init({activity:child2, _monitorController:_monitorController, _monitorView:_monitorTabView, _module:"monitoring", learnerContainer:learnerContainer}); + } Debugger.log("child_mc(s) " + child1_mc + " " + child2_mc, Debugger.CRITICAL, "init", "CanvasParallelActivity"); }else { + if(_canvasBranchView != null) { + child1_mc.init({activity:child1,_canvasController:_canvasController,_canvasBranchView:_canvasBranchView}); + child2_mc.init({activity:child2,_canvasController:_canvasController,_canvasBranchView:_canvasBranchView}); + } else if(_canvasComplexView != null) { + child1_mc.init({activity:child1,_canvasController:_canvasController,_canvasComplexView:_canvasComplexView}); + child2_mc.init({activity:child2,_canvasController:_canvasController,_canvasComplexView:_canvasComplexView}); + } else { + child1_mc.init({activity:child1,_canvasController:_canvasController,_canvasView:_canvasView}); + child2_mc.init({activity:child2,_canvasController:_canvasController,_canvasView:_canvasView}); + } - child1_mc.init({activity:child1,_canvasController:_canvasController,_canvasView:_canvasView}); - child2_mc.init({activity:child2,_canvasController:_canvasController,_canvasView:_canvasView}); - } //let it wait one frame to set up the components. @@ -265,8 +281,10 @@ drawLearners() //position the container (this) - _x = _activity.xCoord; //- newContainerXCoord; - _y = _activity.yCoord; + if(!_canvasComplexView) { + _x = _activity.xCoord; + _y = _activity.yCoord; + } setLocking(); setStyles(); Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasSequenceActivity.as =================================================================== diff -u -r43bef28b390ac8bec99626dc15c94d577875f046 -r47545d87ebe3a0fde51c85720b8e0693ad471843 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasSequenceActivity.as (.../CanvasSequenceActivity.as) (revision 43bef28b390ac8bec99626dc15c94d577875f046) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasSequenceActivity.as (.../CanvasSequenceActivity.as) (revision 47545d87ebe3a0fde51c85720b8e0693ad471843) @@ -29,13 +29,14 @@ import org.lamsfoundation.lams.authoring.br.*; import org.lamsfoundation.lams.monitoring.mv.*; import org.lamsfoundation.lams.monitoring.mv.tabviews.LearnerTabView; -import org.lamsfoundation.lams.common.style.* -import mx.controls.* +import org.lamsfoundation.lams.common.style.*; + +import mx.controls.*; import com.polymercode.Draw; -import mx.managers.* +import mx.managers.*; import mx.containers.*; -import mx.events.* -import mx.utils.* +import mx.events.*; +import mx.utils.*; /** * CanvasActivity - @@ -189,11 +190,16 @@ Debugger.log("activity: " + a.activityUIID, Debugger.CRITICAL, "drawChildActivity", "CanvasSequenceActivity"); - if(_module == "monitoring") - childActivity = childActivities_mc.attachMovie("CanvasActivityMin", "CanvasActivityMin"+a.activityUIID, childActivities_mc.getNextHighestDepth(), {_activity:a , _monitorController:_monitorController, _monitorView:_monitorView, _module:"monitoring", learnerContainer:learnerContainer, _sequenceChild:true}); - else + if(_module == "monitoring") { + if(_canvasBranchView != null) + childActivity = childActivities_mc.attachMovie("CanvasActivityMin", "CanvasActivityMin"+a.activityUIID, childActivities_mc.getNextHighestDepth(), {_activity:a , _monitorController:_monitorController, _canvasBranchView:_canvasBranchView, _module:"monitoring", learnerContainer:learnerContainer, _sequenceChild:true}); + else if(_canvasComplexView != null) + childActivity = childActivities_mc.attachMovie("CanvasActivityMin", "CanvasActivityMin"+a.activityUIID, childActivities_mc.getNextHighestDepth(), {_activity:a , _monitorController:_monitorController, _canvasComplexView: _canvasComplexView, _module:"monitoring", learnerContainer:learnerContainer, _sequenceChild:true}); + else + childActivity = childActivities_mc.attachMovie("CanvasActivityMin", "CanvasActivityMin"+a.activityUIID, childActivities_mc.getNextHighestDepth(), {_activity:a , _monitorController:_monitorController, _monitorView:_monitorView, _module:"monitoring", learnerContainer:learnerContainer, _sequenceChild:true}); + } else { childActivity = childActivities_mc.attachMovie("CanvasActivityMin", "CanvasActivityMin"+a.activityUIID, childActivities_mc.getNextHighestDepth(), {_activity:a , _canvasController:_canvasController, _canvasView:_canvasView, _sequenceChild:true}); - + } //set the positioning co-ords childActivity.activity.xCoord = CHILD_OFFSET_X + ((_children.length-1) * CHILD_INCRE); childActivity.activity.yCoord = CHILD_OFFSET_Y; @@ -207,9 +213,9 @@ Debugger.log("children length: " + _children.length, Debugger.CRITICAL, "drawChildActivity", "CanvasSequenceActivity"); - var transitionObj:Object = getDDM().getTransitionsForActivityUIID(childActivity.activity.activityUIID) + var transitionObj:Object = _ddm.getTransitionsForActivityUIID(childActivity.activity.activityUIID) if(transitionObj.hasTrans && transitionObj.out != null) { - _children.push(getDDM().getActivityByUIID(transitionObj.out.toUIID)) + _children.push(_ddm.getActivityByUIID(transitionObj.out.toUIID)) drawChildActivity(_children[_children.length-1]); } } @@ -413,6 +419,8 @@ return _monitorView.ddm; } else if(_canvasBranchView != null){ return _canvasBranchView.ddm; + } else if(_canvasComplexView != null){ + return _canvasComplexView.ddm; } else { return _canvasView.ddm; } Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasSuperModel.as =================================================================== diff -u -rcda1896b7cc29065750f10d9a3548c3cc9db3a9d -r47545d87ebe3a0fde51c85720b8e0693ad471843 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasSuperModel.as (.../CanvasSuperModel.as) (revision cda1896b7cc29065750f10d9a3548c3cc9db3a9d) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasSuperModel.as (.../CanvasSuperModel.as) (revision 47545d87ebe3a0fde51c85720b8e0693ad471843) @@ -946,6 +946,24 @@ setDirty(); } + + public function getCoords(ca:Activity, o:Object):Object { + var obj:Object = (o != null) ? o : new Object(); + + if(obj.x != null && obj.y != null) { + obj.x += ca.xCoord; + obj.y += ca.yCoord; + } else { + obj.x = ca.xCoord; + obj.y = ca.yCoord; + } + + if(ca.parentUIID != null) { + return getCoords(_cv.ddm.getActivityByUIID(ca.parentUIID), obj); + } else { + return obj; + } + } /** * Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasView.as =================================================================== diff -u -r43bef28b390ac8bec99626dc15c94d577875f046 -r47545d87ebe3a0fde51c85720b8e0693ad471843 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasView.as (.../CanvasView.as) (revision 43bef28b390ac8bec99626dc15c94d577875f046) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasView.as (.../CanvasView.as) (revision 47545d87ebe3a0fde51c85720b8e0693ad471843) @@ -164,8 +164,8 @@ activityComplexLayer = content.createEmptyMovieClip("_activityComplexLayer_mc", content.getNextHighestDepth()); activityLayer = content.createEmptyMovieClip("_activityLayer_mc", content.getNextHighestDepth()); - transparentCover = content.createClassObject(Panel, "_transparentCover_mc", content.getNextHighestDepth(), {_visible: false, enabled: false, _alpha: 50}); - transparentCover.onPress = null; + transparentCover = content.createClassObject(Panel, "_transparentCover_mc", content.getNextHighestDepth(), {_visible: false, enabled: true, _alpha: 50}); + transparentCover.onPress = Proxy.create(this, onTransparentCoverClick); complexViewer = content.createEmptyMovieClip("_complex_viewer_mc", content.getNextHighestDepth()); branchContent = content.createEmptyMovieClip("_branch_content_mc", DepthManager.kTop); Index: lams_flash/src/common/flash/org/lamsfoundation/lams/common/CommonCanvasView.as =================================================================== diff -u -r43bef28b390ac8bec99626dc15c94d577875f046 -r47545d87ebe3a0fde51c85720b8e0693ad471843 --- lams_flash/src/common/flash/org/lamsfoundation/lams/common/CommonCanvasView.as (.../CommonCanvasView.as) (revision 43bef28b390ac8bec99626dc15c94d577875f046) +++ lams_flash/src/common/flash/org/lamsfoundation/lams/common/CommonCanvasView.as (.../CommonCanvasView.as) (revision 47545d87ebe3a0fde51c85720b8e0693ad471843) @@ -115,6 +115,23 @@ } } + + public function onTransparentCoverClick(evt:Object):Void { + + var m = (model instanceof MonitorModel) ? MonitorModel(model) : null; + m = (model instanceof CanvasModel) ? CanvasModel(model) : m; + + Debugger.log("running transparent click: " + m.activeView instanceof CanvasComplexView, Debugger.CRITICAL, "onTransparentcoverClick", "CommonCanvasView"); + + if(m.activeView instanceof CanvasComplexView) { + if(m instanceof CanvasModel) { + m.activeView.close(); + } else { + //m.getMonitor().closeComplexView(); + } + + } + } private function initDrawTempTrans(){ Debugger.log("Initialising drawing temp. Transition", Debugger.GEN, "initDrawTempTrans", "CommonCanvasView");