Index: lams_central/src/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as =================================================================== diff -u -r377ba7ab134005f9113f8e741ef22ee30041aed5 -refde5f59a105c5e583faeced02ae29a9cb8d819c --- lams_central/src/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as (.../CanvasController.as) (revision 377ba7ab134005f9113f8e741ef22ee30041aed5) +++ lams_central/src/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as (.../CanvasController.as) (revision efde5f59a105c5e583faeced02ae29a9cb8d819c) @@ -1,433 +1,413 @@ -/*************************************************************************** - * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) - * ============================================================= - * License Information: http://lamsfoundation.org/licensing/lams/2.0/ - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2.0 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 - * USA - * - * http://www.gnu.org/licenses/gpl.txt - * ************************************************************************ - */ - -import org.lamsfoundation.lams.authoring.* -import org.lamsfoundation.lams.authoring.cv.* -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.* - - -/* -* Makes changes to the Canvas Authoring model's data based on user input. -*/ -class org.lamsfoundation.lams.authoring.cv.CanvasController extends AbstractController { - - private var _canvasModel:CanvasModel; - private var _canvasView:CanvasView; - - /** - * Constructor - * - * @param cm The model to modify. - */ - public function CanvasController (cm:Observable) { - super (cm); - //have to do an upcast - _canvasModel = CanvasModel(getModel()); - - } - +/*************************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * ************************************************************************ + */ + +import org.lamsfoundation.lams.authoring.* +import org.lamsfoundation.lams.authoring.cv.* +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.* + + +/* +* Makes changes to the Canvas Authoring model's data based on user input. +*/ +class org.lamsfoundation.lams.authoring.cv.CanvasController extends AbstractController { + + private var _canvasModel:CanvasModel; + private var _canvasView:CanvasView; + + /** + * Constructor + * + * @param cm The model to modify. + */ + public function CanvasController (cm:Observable) { + super (cm); + //have to do an upcast + _canvasModel = CanvasModel(getModel()); + + } + public function activityClick(ca:Object):Void{ - _canvasModel.selectedItem = null; - Debugger.log('activityClick CanvasActivity:'+ca.activity.activityUIID + ' orderID: ' + ca.activity.orderID,Debugger.GEN,'activityClick','CanvasController'); - Debugger.log('Check if transition tool active :'+_canvasModel.isTransitionToolActive(),Debugger.GEN,'activityClick','CanvasController'); - //if transition tool active + _canvasModel.selectedItem = null; + Debugger.log('activityClick CanvasActivity:'+ca.activity.activityUIID + ' orderID: ' + ca.activity.orderID,Debugger.GEN,'activityClick','CanvasController'); + Debugger.log('Check if transition tool active :'+_canvasModel.isTransitionToolActive(),Debugger.GEN,'activityClick','CanvasController'); + //if transition tool active if(_canvasModel.isTransitionToolActive()){ - - var transitionTarget = createValidTransitionTarget(ca); - if(transitionTarget instanceof LFError){ - transitionTarget.showErrorAlert(null); - //transitionTarget.showMessageConfirm() - //TODO: transitionTarget.showErrorAlertCrashDump(null); - }else{ + var transitionTarget = createValidTransitionTarget(ca); + if(transitionTarget instanceof LFError){ + transitionTarget.showErrorAlert(null); + //transitionTarget.showMessageConfirm() + //TODO: transitionTarget.showErrorAlertCrashDump(null); + }else{ _canvasModel.addActivityToTransition(transitionTarget); - //_canvasModel.resetTransitionTool(); - } - /* - _canvasModel.resetTransitionTool(); - if(ca instanceof CanvasActivity || ca instanceof CanvasParallelActivity ){ - _canvasModel.addActivityToTransition(ca); - } - */ + } + /* + _canvasModel.resetTransitionTool(); + if(ca instanceof CanvasActivity || ca instanceof CanvasParallelActivity ){ + _canvasModel.addActivityToTransition(ca); + } + */ }else{ - - //just select the activity - - var parentAct = _canvasModel.getCanvas().ddm.getActivityByUIID(ca.activity.parentUIID) + + //just select the activity + + var parentAct = _canvasModel.getCanvas().ddm.getActivityByUIID(ca.activity.parentUIID) trace("parent UIID: "+ ca.activity.parentUIID + " and parent's activity type ID: ") trace("parentAct TypeID: "+ parentAct.activityTypeID + " and parent's activity type ID: ") - + if(ca.activity.parentUIID != null && parentAct.activityTypeID == Activity.PARALLEL_ACTIVITY_TYPE){ trace("Parallel Children are: "+ parentAct.activityTypeID.length) - _canvasModel.selectedItem = ca; + _canvasModel.selectedItem = ca; _canvasModel.isDragging = false; - } else { - _canvasModel.selectedItem = ca; - _canvasModel.isDragging = true; + } else { + _canvasModel.selectedItem = ca; + _canvasModel.isDragging = true; ca.startDrag(false); - } - } - - } - - public function activityDoubleClick(ca:Object):Void{ - Debugger.log('activityDoubleClick CanvasActivity:'+ca.activity.activityUIID,Debugger.GEN,'activityDoubleClick','CanvasController'); + } + } + + } + + public function activityDoubleClick(ca:Object):Void{ + Debugger.log('activityDoubleClick CanvasActivity:'+ca.activity.activityUIID,Debugger.GEN,'activityDoubleClick','CanvasController'); _canvasModel.getCanvas().stopActiveTool(); - _canvasModel.selectedItem = ca; - if(ca.activity.activityTypeID == Activity.TOOL_ACTIVITY_TYPE){ - _canvasModel.openToolActivityContent(ca.activity); - }else{ - //TODO: Show the property inspector if its a parralel activity or whatever - } - } - - public function activityRelease(ca:Object):Void{ - Debugger.log('activityRelease CanvasActivity:'+ca.activity.activityUIID,Debugger.GEN,'activityRelease','CanvasController'); + _canvasModel.selectedItem = ca; + if(ca.activity.activityTypeID == Activity.TOOL_ACTIVITY_TYPE){ + _canvasModel.openToolActivityContent(ca.activity); + }else{ + //TODO: Show the property inspector if its a parralel activity or whatever + } + } + + public function activityRelease(ca:Object):Void{ + Debugger.log('activityRelease CanvasActivity:'+ca.activity.activityUIID,Debugger.GEN,'activityRelease','CanvasController'); _canvasModel.getCanvas().stopActiveTool(); - - if(_canvasModel.isDragging){ - ca.stopDrag(); - //if we are on the bin - trash it - - if (ca.hitTest(_canvasModel.getCanvas().bin)){ - trace("Activity "+ca.activity.title+" has hit the bin") - if (ca.activity.activityTypeID == Activity.OPTIONAL_ACTIVITY_TYPE || ca.activity.activityTypeID == Activity.PARALLEL_ACTIVITY_TYPE){ - trace("Complex Activity has hit the bin") - _canvasModel.removeComplexActivity(ca); - } - //_canvasModel.removeActivity(ca.activity.activityUIID); + + if(_canvasModel.isDragging){ + ca.stopDrag(); + //if we are on the bin - trash it + + if (ca.hitTest(_canvasModel.getCanvas().bin)){ + trace("Activity "+ca.activity.title+" has hit the bin") + if (ca.activity.activityTypeID == Activity.OPTIONAL_ACTIVITY_TYPE || ca.activity.activityTypeID == Activity.PARALLEL_ACTIVITY_TYPE){ + trace("Complex Activity has hit the bin") + _canvasModel.removeComplexActivity(ca); + } + //_canvasModel.removeActivity(ca.activity.activityUIID); _canvasModel.getCanvas().removeActivity(ca.activity.activityUIID); - //_canvasModel.setDirty(); - } - - var optionalOnCanvas:Array = _canvasModel.findOptionalActivities(); - - if (ca.activity.parentUIID != null){ - trace ("testing Optional child on Canvas "+ca.activity.activityUIID) - for (var i=0; i 142 || ca._x < -129 || ca._y < -55 || ca._y > optionalOnCanvas[i].getpanelHeight){ - trace (ca.activity.activityUIID+" had a hitTest with canvas.") - //give it the new co-ords and 'drop' it - ca.activity.xCoord = _xmouse - _canvasModel.getPosition().x; - ca.activity.yCoord = _ymouse - _canvasModel.getPosition().y; - _canvasModel.removeOptionalCA(ca, optionalOnCanvas[i].activity.activityUIID); + _canvasModel.selectedItem = ca; + if (ca._x > 142 || ca._x < -129 || ca._y < -55 || ca._y > optionalOnCanvas[i].getpanelHeight){ + trace (ca.activity.activityUIID+" had a hitTest with canvas.") + //give it the new co-ords and 'drop' it + ca.activity.xCoord = _xmouse - _canvasModel.getPosition().x; + ca.activity.yCoord = _ymouse - _canvasModel.getPosition().y; + _canvasModel.removeOptionalCA(ca, optionalOnCanvas[i].activity.activityUIID); } else { - activitySnapBack(ca); - } - } - } - } - } else { - - //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. - for (var i=0; i