Index: lams_central/web/lams_authoring.swf =================================================================== diff -u -rf080c872ce65a7e79203a01742894294056b9adc -r29e9fbba3cd3b61650ccec4fd7601b72d5bc747b Binary files differ Index: lams_central/web/lams_authoring_library.swf =================================================================== diff -u -rf080c872ce65a7e79203a01742894294056b9adc -r29e9fbba3cd3b61650ccec4fd7601b72d5bc747b Binary files differ Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasHelper.as =================================================================== diff -u -r976deca023b114ae00e73ad6583f6c8174b25372 -r29e9fbba3cd3b61650ccec4fd7601b72d5bc747b --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasHelper.as (.../CanvasHelper.as) (revision 976deca023b114ae00e73ad6583f6c8174b25372) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasHelper.as (.../CanvasHelper.as) (revision 29e9fbba3cd3b61650ccec4fd7601b72d5bc747b) @@ -182,17 +182,24 @@ _ddm.addEventListener('ddmBeforeUpdate',Proxy.create(this,onDDMBeforeUpdate)); checkValidDesign(); - checkReadOnlyDesign(); + checkReadOnlyDesign(); - if(canvasModel.activeView instanceof CanvasBranchView) { - canvasModel.activeView.removeMovieClip(); - closeBranchView(); - canvasModel.getCanvas().addBin(canvasModel.activeView); - - canvasModel.broadcastViewUpdate("SIZE"); - } else if(canvasModel.activeView instanceof CanvasComplexView) { - canvasModel.activeView.close(); + if(canvasModel.activeView instanceof CanvasComplexView) { + canvasModel.closeAllComplexViews(); + } + + if(canvasModel.activeView instanceof CanvasBranchView) { + for(var i=0; i 0) ? CanvasActivity(canvasModel.openBranchingActivities[canvasModel.openBranchingActivities.length-1]) : null; - if(canvasModel.activeView.activity.parentUIID != null) - parentBranching = CanvasActivity(canvasModel.activitiesDisplayed.get(_ddm.getActivityByUIID(canvasModel.activeView.activity.parentUIID).parentUIID)); + //var poppedActivity = monitorModel.getMonitor().ddm.getActivityByUIID(poppedActivityUIID); - Debugger.log("parentUIID: " + canvasModel.activeView.activity.parentUIID, Debugger.CRITICAL, "closeBranchView", "CanvasHelper"); + //if(canvasModel.activeView.activity.parentUIID != null) + // parentBranching = CanvasActivity(canvasModel.activitiesDisplayed.get(_ddm.getActivityByUIID(canvasModel.activeView.activity.parentUIID).parentUIID)); - Debugger.log("is parentBranching: " + parentBranching.activity.isBranchingActivity(), Debugger.CRITICAL, "closeBranchView", "CanvasHelper"); - Debugger.log("parent branchView: " + parentBranching.activity.branchView, Debugger.CRITICAL, "closeBranchView", "CanvasHelper"); + //Debugger.log("parentUIID: " + canvasModel.activeView.activity.parentUIID, Debugger.CRITICAL, "closeBranchView", "CanvasHelper"); + //Debugger.log("is parentBranching: " + parentBranching.activity.isBranchingActivity(), Debugger.CRITICAL, "closeBranchView", "CanvasHelper"); + //Debugger.log("parent branchView: " + parentBranching.activity.branchView, Debugger.CRITICAL, "closeBranchView", "CanvasHelper"); + canvasModel.activeView = (parentBranching.activity.isBranchingActivity()) ? parentBranching.activity.branchView : canvasView; canvasModel.currentBranchingActivity = (parentBranching.activity.isBranchingActivity()) ? parentBranching : null; @@ -572,7 +582,8 @@ canvasModel.addObserver(branchView); ba.activity.branchView = branchView; - + + canvasModel.openBranchingActivities.push(ba); } public function openComplexView(ca:Object):Void { Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as =================================================================== diff -u -rf080c872ce65a7e79203a01742894294056b9adc -r29e9fbba3cd3b61650ccec4fd7601b72d5bc747b --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as (.../CanvasModel.as) (revision f080c872ce65a7e79203a01742894294056b9adc) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as (.../CanvasModel.as) (revision 29e9fbba3cd3b61650ccec4fd7601b72d5bc747b) @@ -1114,8 +1114,10 @@ currentBranchingActivity = ba; if(visible == null) visible = true; + Debugger.log("visible: " + visible, Debugger.CRITICAL, "openBranchActivityContent", "CanvasModel"); Debugger.log("currentBranchingActivity UIID: " + currentBranchingActivity.activity.activityUIID, Debugger.CRITICAL, "openBranchActivityContent", "CanvasModel"); + Debugger.log("branchView: " + ba.activity.branchView, Debugger.CRITICAL, "openBranchActivityContent", "CanvasModel"); if(BranchingActivity(ba.activity).clear) { clearBranchingActivity(ba); @@ -1125,6 +1127,8 @@ activeView = (visible) ? ba.activity.branchView : activeView; ba.activity.branchView.setOpen(visible); ba.activity.branchView.open(); + + openBranchingActivities.push(ba); } else { _cv.openBranchView(currentBranchingActivity, visible); } _lastBranchActionType = null; Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasSuperModel.as =================================================================== diff -u -rf080c872ce65a7e79203a01742894294056b9adc -r29e9fbba3cd3b61650ccec4fd7601b72d5bc747b --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasSuperModel.as (.../CanvasSuperModel.as) (revision f080c872ce65a7e79203a01742894294056b9adc) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasSuperModel.as (.../CanvasSuperModel.as) (revision 29e9fbba3cd3b61650ccec4fd7601b72d5bc747b) @@ -76,7 +76,10 @@ private var _doRefresh:Boolean; private var _activeRefresh:Boolean; private var _refreshQueueCount:Number; - private var _branchingQueue:Array; + private var _branchingQueue:Array; + + private var _openBranchingActivities:Array; + private var _openBranchingActivity:Number; //These are defined so that the compiler can 'see' the events that are added at runtime by EventDispatcher private var dispatchEvent:Function; @@ -103,6 +106,7 @@ _doRefresh = true; _branchingQueue = new Array(); + _openBranchingActivities = new Array(); //Set up this class to use the Flash event delegation model EventDispatcher.initialize(this); @@ -1106,5 +1110,17 @@ public function get ddm():DesignDataModel { return _cv.ddm; } + + public function set openBranchingActivity(a:Number):Void { + _openBranchingActivity = a; + } + + public function get openBranchingActivity():Number { + return _openBranchingActivity; + } + + public function get openBranchingActivities():Array { + return _openBranchingActivities; + } } \ No newline at end of file