Index: lams_central/web/lams_authoring.swf =================================================================== diff -u -r82b9d81ea744355442186f1ca95b844fe21991bc -rf080c872ce65a7e79203a01742894294056b9adc Binary files differ Index: lams_central/web/lams_authoring_library.swf =================================================================== diff -u -r82b9d81ea744355442186f1ca95b844fe21991bc -rf080c872ce65a7e79203a01742894294056b9adc Binary files differ Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/BranchingActivity.as =================================================================== diff -u -r976deca023b114ae00e73ad6583f6c8174b25372 -rf080c872ce65a7e79203a01742894294056b9adc --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/BranchingActivity.as (.../BranchingActivity.as) (revision 976deca023b114ae00e73ad6583f6c8174b25372) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/BranchingActivity.as (.../BranchingActivity.as) (revision f080c872ce65a7e79203a01742894294056b9adc) @@ -45,13 +45,17 @@ private var _toolActivityUIID:Number; private var _defaultBranch:Branch; + private var _clear:Boolean; + function BranchingActivity(activityUIID:Number, activityTypeID:Number){ super(activityUIID); _activityTypeID = activityTypeID; _toolActivityUIID == null; _defaultBranch = null; + _clear = false; + } /** @@ -145,5 +149,13 @@ public function get defaultBranch():Branch { return _defaultBranch; } + + public function get clear():Boolean { + return _clear; + } + + public function set clear(a:Boolean):Void { + _clear = a; + } } Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as =================================================================== diff -u -rb16405a2723a7b5fe0d835a651fc001326ff56f1 -rf080c872ce65a7e79203a01742894294056b9adc --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as (.../CanvasBranchView.as) (revision b16405a2723a7b5fe0d835a651fc001326ff56f1) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as (.../CanvasBranchView.as) (revision f080c872ce65a7e79203a01742894294056b9adc) @@ -424,7 +424,9 @@ } private function close():Void { - if(model instanceof CanvasModel) model.getCanvas().hideBin(); + if(model instanceof CanvasModel) model.getCanvas().hideBin(); //typo + + this.activity.clear = false; model.selectedItem = null; var bkeys:Array = model.branchesDisplayed.keys(); @@ -548,6 +550,8 @@ 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()) { + BranchingActivity(a).clear = activity.clear; + 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}); @@ -822,7 +826,7 @@ var hPosition:Number = (model instanceof CanvasModel) ? model.getCanvas().view.getScrollPaneHPosition() : model.getMonitor().getMV().getMonitorSequenceScp().hPosition; var vPosition:Number = (model instanceof CanvasModel) ? model.getCanvas().view.getScrollPaneVPosition() : model.getMonitor().getMV().getMonitorSequenceScp().vPosition; - + canvas_scp._x = (_isBranchChild) ? -cx : -cx + hSpace + hPosition; canvas_scp._y = (_isBranchChild) ? -cy : -cy + vSpace + vPosition; Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as =================================================================== diff -u -r9fce0caf6fe2935fae201bc27121005c83f2c62e -rf080c872ce65a7e79203a01742894294056b9adc --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as (.../CanvasController.as) (revision 9fce0caf6fe2935fae201bc27121005c83f2c62e) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as (.../CanvasController.as) (revision f080c872ce65a7e79203a01742894294056b9adc) @@ -87,10 +87,11 @@ _canvasModel.activeView.close(); return; } else { + var parentAct = _canvasModel.getCanvas().ddm.getActivityByUIID(ca.activity.parentUIID); var parentSelectedAct = _canvasModel.getCanvas().ddm.getActivityByUIID(_tempSelectedItem.activity.parentUIID); var optionalOnCanvas:Array = _canvasModel.findOptionalActivities(); - + if(ca.activity.parentUIID != null && (parentAct.isParallelActivity() || ca.activity.isOptionalSequenceActivity(parentAct))) { _canvasModel.isDragging = false; @@ -169,7 +170,8 @@ var iconMouseY = _canvasModel.activeView.content._ymouse; if (ca.activity.parentUIID != null && - sequenceActivity.activityTypeID != Activity.SEQUENCE_ACTIVITY_TYPE){ + sequenceActivity.activityTypeID != Activity.SEQUENCE_ACTIVITY_TYPE && + ca.activity.activityUIID != _canvasModel.currentBranchingActivity.activity.activityUIID){ for (var i=0; i '+ca.activity.parentUIID,Debugger.GEN,'addParentToActivity','CanvasModel'); + if(ca.activity.isBranchingActivity()) + ca.activity.clear = true; + removeActivity(ca.activity.activityUIID); if(doRemoveParent) removeActivity(parentID); setDirty(); - } - + } + + public function clearBranchingActivity(ca:Object):Void { + + haltRefresh(true); + + // remove branches/sequences + var c:Array = _cv.ddm.getComplexActivityChildren(ca.activity.activityUIID); + + for(var i=0; i