Index: lams_central/web/lams_authoring.swf =================================================================== diff -u -r9cb49c5c64919ebee4c5230be002beadb2af932f -r7ced9db5725f36fd33877261bd003223b2f834f1 Binary files differ Index: lams_central/web/lams_authoring_library.swf =================================================================== diff -u -r9cb49c5c64919ebee4c5230be002beadb2af932f -r7ced9db5725f36fd33877261bd003223b2f834f1 Binary files differ Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as =================================================================== diff -u -r9cb49c5c64919ebee4c5230be002beadb2af932f -r7ced9db5725f36fd33877261bd003223b2f834f1 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as (.../CanvasBranchView.as) (revision 9cb49c5c64919ebee4c5230be002beadb2af932f) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as (.../CanvasBranchView.as) (revision 7ced9db5725f36fd33877261bd003223b2f834f1) @@ -462,6 +462,9 @@ private function removeActivity(a:Activity, cm):Boolean{ if(!cm.isActiveView(this) && !cm.findParent(a, activity)) return false; + if(a.isBranchingActivity()) + cm.activitiesDisplayed.get(a.activityUIID).branchView.removeMovieClip(); + var r = cm.activitiesDisplayed.remove(a.activityUIID); r.removeMovieClip(); var s:Boolean = (r==null) ? false : true; Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasHelper.as =================================================================== diff -u -r9cb49c5c64919ebee4c5230be002beadb2af932f -r7ced9db5725f36fd33877261bd003223b2f834f1 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasHelper.as (.../CanvasHelper.as) (revision 9cb49c5c64919ebee4c5230be002beadb2af932f) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasHelper.as (.../CanvasHelper.as) (revision 7ced9db5725f36fd33877261bd003223b2f834f1) @@ -178,13 +178,17 @@ checkReadOnlyDesign(); if(canvasModel.activeView instanceof CanvasBranchView) { - canvasModel.activeView.removeMovieClip(); - closeBranchView(); + canvasModel.activeView.removeMovieClip(); + closeBranchView(); + canvasModel.getCanvas().addBin(canvasModel.activeView); + + canvasModel.broadcastViewUpdate("SIZE"); } canvasModel.selectedItem = null; canvasModel.setDirty(); - + + canvasModel.clearAllElements(); createContentFolder(); return true; Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as =================================================================== diff -u -r9cb49c5c64919ebee4c5230be002beadb2af932f -r7ced9db5725f36fd33877261bd003223b2f834f1 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as (.../CanvasModel.as) (revision 9cb49c5c64919ebee4c5230be002beadb2af932f) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as (.../CanvasModel.as) (revision 7ced9db5725f36fd33877261bd003223b2f834f1) @@ -1085,7 +1085,7 @@ }else if(r_activity == "DELETE"){ //remove this activity if(cm_activity.parentUIID == null){ - broadcastViewUpdate("REMOVE_ACTIVITY",cm_activity); + broadcastViewUpdate("REMOVE_ACTIVITY", cm_activity); } }else if(r_activity == "CHILD"){ //dont ask the view to draw the activity if it is a child act @@ -1546,4 +1546,53 @@ else return findParent(_cv.ddm.getActivityByUIID(a.parentUIID), b); } + + public function clearAllBranches(a:Activity):Void { + var branch_keys:Array = _branchesDisplayed.keys(); + var act_keys:Array = _activitiesDisplayed.keys(); + Debugger.log("clearing branches: " + branch_keys.length, Debugger.CRITICAL, "clearAllBranches", "CanvasModel"); + + + for(var i=0; i