Index: lams_central/src/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as =================================================================== diff -u -r890cc18c5aa7f04d04cbcc37a919bf55912d4a7a -r0c9ed217392a2681f63d17450b95b6ee98ab49d4 --- lams_central/src/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as (.../CanvasController.as) (revision 890cc18c5aa7f04d04cbcc37a919bf55912d4a7a) +++ lams_central/src/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as (.../CanvasController.as) (revision 0c9ed217392a2681f63d17450b95b6ee98ab49d4) @@ -3,6 +3,7 @@ import org.lamsfoundation.lams.common.mvc.* import org.lamsfoundation.lams.common.util.* import org.lamsfoundation.lams.common.ui.* +import org.lamsfoundation.lams.common.dict.* import mx.utils.* @@ -26,12 +27,12 @@ } - public function activityClick(ca:Object):Void{ + public function activityClick(ca:Object):Void{ Debugger.log('activityClick CanvasActivity:'+ca.activity.activityUIID,Debugger.GEN,'activityClick','CanvasController'); //if transition tool active - if(_canvasModel.isTransitionToolActive()){ + if(_canvasModel.isTransitionToolActive()){ var transitionTarget = createValidTransitionTarget(ca); - if(transitionTarget instanceof LFError){ + if(transitionTarget instanceof LFError){ transitionTarget.showErrorAlert(null); //transitionTarget.showMessageConfirm() //TODO: transitionTarget.showErrorAlertCrashDump(null); @@ -44,7 +45,7 @@ _canvasModel.addActivityToTransition(ca); } */ - }else{ + }else{ //just select the activity _canvasModel.selectedItem = ca; _canvasModel.isDragging = true; @@ -62,17 +63,61 @@ }else{ //TODO: Show the property inspector if its a parralel activity or whatever } - } + } - public function activityRelease(ca:Object):Void{ + public function activityRelease(ca:Object):Void{ Debugger.log('activityRelease CanvasActivity:'+ca.activity.activityUIID,Debugger.GEN,'activityRelease','CanvasController'); - if(_canvasModel.isDragging){ + if(_canvasModel.isDragging){ ca.stopDrag(); //if we are on the bin - trash it if (ca.hitTest(_canvasModel.getCanvas().bin)){ _canvasModel.getCanvas().removeActivity(ca.activity.activityUIID); } + var optionalOnCanvas:Array = _canvasModel.findOptionalActivities(); + if (ca.activity.parentUIID != null){ + trace ("testing Optional child on Canvas "+ca.activity.activityUIID) + for (var i=0; i 170){ + trace (ca.activity.activityUIID+" had a hitTest with canvas.") + _canvasModel.removeOptionalCA(ca, optionalOnCanvas[i].activity.activityUIID); + //var msg:String = Dictionary.getValue('act_lock_chk'); + //LFMessage.showMessageAlert(msg); + } + } + } + //trace ("Optional ActivityID is: "+optionalOnCanvas[i].activity.activityUIID) + + } + } + //if we are on the optional Activity remove this activity from canvas and assign it a parentID of + //optional activity and place it in the optional activity window. + + + //trace ("testing number of Optionals on Canvas = "+optionalOnCanvas.length) + for (var i=0; i