Index: lams_central/web/lams_authoring.swf =================================================================== diff -u -rb5ea111fe1fbd34945b46883d3c83164603cf705 -rddbaafba98df3c2f503d7f8cdb755d9f5194dfd0 Binary files differ Index: lams_central/web/lams_authoring_library.swf =================================================================== diff -u -rb5ea111fe1fbd34945b46883d3c83164603cf705 -rddbaafba98df3c2f503d7f8cdb755d9f5194dfd0 Binary files differ Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as =================================================================== diff -u -r7bdba8e8a266408f4e6f807f366c76ed91c570f4 -rddbaafba98df3c2f503d7f8cdb755d9f5194dfd0 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as (.../CanvasBranchView.as) (revision 7bdba8e8a266408f4e6f807f366c76ed91c570f4) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as (.../CanvasBranchView.as) (revision ddbaafba98df3c2f503d7f8cdb755d9f5194dfd0) @@ -32,6 +32,7 @@ import org.lamsfoundation.lams.common.CommonCanvasView; import mx.controls.*; +import mx.containers.*; import mx.managers.*; import mx.utils.*; @@ -50,6 +51,8 @@ private var _canvasBranchView:CanvasBranchView; private var _canvasBranchingActivity:CanvasActivity; + private var canvas_scp:ScrollPane; + private var startTransX:Number; private var startTransY:Number; @@ -60,6 +63,9 @@ private var hSpace:Number = 30; private var vSpace:Number = 30; + private var currentActivity_x:Number; + private var currentActivity_y:Number; + private var close_mc:MovieClip; // connector hubs for branch connections into and out of sequence activities @@ -75,6 +81,10 @@ */ function CanvasBranchView(){ _canvasBranchView = this; + + currentActivity_x = null; + currentActivity_y = null; + _tm = ThemeManager.getInstance(); defaultSequenceActivity = null; fingerprint = null; @@ -173,7 +183,7 @@ private function draw(){ //get the content path for the sp - content = this; + content = canvas_scp.content; bkg_pnl = content.createClassObject(Panel, "bkg_pnl", getNextHighestDepth()); @@ -249,6 +259,8 @@ } private function open():Void { + _cm.getCanvas().addBin(this); + setSize(_cm); mx.transitions.TransitionManager.start(this, @@ -259,11 +271,15 @@ } private function close():Void { + _cm.getCanvas().hideBin(); + mx.transitions.TransitionManager.start(this, {type:mx.transitions.Zoom, direction:1, duration:0.5, easing:mx.transitions.easing.Strong.easeIn}); _cm.getCanvas().closeBranchView(); + _cm.getCanvas().addBin(_cm.activeView); + _cm.broadcastViewUpdate("SIZE"); } public function localOnReleaseOutside():Void{ @@ -477,7 +493,6 @@ return s; } - /** * Sets the size of the canvas on stage, called from update */ @@ -492,11 +507,19 @@ s.w -= 2*hSpace; s.h -= 2*vSpace; + canvas_scp.setSize(s.w,s.h); bkg_pnl.setSize(s.w, s.h); //Create the grid. The gris is re-drawn each time the canvas is resized. grid_mc = Grid.drawGrid(gridLayer,Math.round(s.w),Math.round(s.h),V_GAP,H_GAP); + //position bin in canvas. + var bin = cm.getCanvas().bin; + bin._x = canvas_scp._x + (s.w - bin._width) - 10; + bin._y = canvas_scp._y + (s.h - bin._height) - 10; + + canvas_scp.redraw(true); + setPosition(cm); } @@ -510,10 +533,8 @@ var cx:Number = ba._x + ba.getVisibleWidth()/2; var cy:Number = ba._y + ba.getVisibleHeight()/2; - bkg_pnl._x = -cx+hSpace; - bkg_pnl._y = -cy+vSpace; - grid_mc._x = -cx+hSpace; - grid_mc._y = -cy+vSpace; + canvas_scp._x = -cx+hSpace; + canvas_scp._y = -cy+vSpace; close_mc._x = bkg_pnl._x + bkg_pnl.width - close_mc._width - 10; close_mc._y = bkg_pnl._y + 10; Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/Bin.as =================================================================== diff -u -r30b7641a18c8c83b3722fc22bb936d54f4eaa18b -rddbaafba98df3c2f503d7f8cdb755d9f5194dfd0 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/Bin.as (.../Bin.as) (revision 30b7641a18c8c83b3722fc22bb936d54f4eaa18b) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/Bin.as (.../Bin.as) (revision ddbaafba98df3c2f503d7f8cdb755d9f5194dfd0) @@ -36,7 +36,7 @@ //this is set by the init object private var _canvasController:CanvasController; - private var _canvasView:CanvasView; + private var _targetView:MovieClip; private var _tip:ToolTip; //locals Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/Canvas.as =================================================================== diff -u -r5ffdfb896de13994030991c7634bb54a7c862404 -rddbaafba98df3c2f503d7f8cdb755d9f5194dfd0 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/Canvas.as (.../Canvas.as) (revision 5ffdfb896de13994030991c7634bb54a7c862404) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/Canvas.as (.../Canvas.as) (revision ddbaafba98df3c2f503d7f8cdb755d9f5194dfd0) @@ -741,13 +741,18 @@ * @return */ public function initBin():Void{ + addBin(_canvasView_mc); + } + + public function addBin(target:MovieClip) { + if(_bin != null) hideBin(); + var cc:CanvasController = canvasView.getController(); - _bin = _canvasView_mc.attachMovie("Bin", "Bin", _canvasView_mc.getNextHighestDepth(),{_canvasController:cc,_canvasView:canvasView}); + _bin = target.attachMovie("Bin", "Bin", target.getNextHighestDepth(), {_canvasController:cc, _targetView:target}); } - public function addBin():Void{ - // var cc:CanvasController = canvasView.getController(); - // return view.attachMovie("Bin", "Bin", view.getNextHighestDepth(),{_controller:cc,_view:cv} + public function hideBin():Void{ + _bin.removeMovieClip(); } /** Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasActivity.as =================================================================== diff -u -r7bdba8e8a266408f4e6f807f366c76ed91c570f4 -rddbaafba98df3c2f503d7f8cdb755d9f5194dfd0 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasActivity.as (.../CanvasActivity.as) (revision 7bdba8e8a266408f4e6f807f366c76ed91c570f4) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasActivity.as (.../CanvasActivity.as) (revision ddbaafba98df3c2f503d7f8cdb755d9f5194dfd0) @@ -512,6 +512,20 @@ public function getVisibleHeight ():Number { return _visibleHeight; } + + public function setPosition(x:Number, y:Number):Void { + _x = x; + _y = y; + + if(branchView != null) { + branchView._x = _x + getVisibleWidth()/2; + branchView._y = _y + getVisibleHeight()/2; + + //branchView.setCurrentPosition(_x, _y); + + } + + } public function set isSetSelected(v:Boolean):Void{ Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as =================================================================== diff -u -r7bdba8e8a266408f4e6f807f366c76ed91c570f4 -rddbaafba98df3c2f503d7f8cdb755d9f5194dfd0 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as (.../CanvasController.as) (revision 7bdba8e8a266408f4e6f807f366c76ed91c570f4) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as (.../CanvasController.as) (revision ddbaafba98df3c2f503d7f8cdb755d9f5194dfd0) @@ -183,6 +183,9 @@ if(!ca.branchConnector) { ca.activity.xCoord = ca._x; ca.activity.yCoord = ca._y; + + if(ca.activity.isBranchingActivity()) ca.setPosition(ca._x, ca._y); + } else { if(_canvasModel.activeView.isStart(ca)) { ca.activity.startXCoord = ca._x; @@ -244,8 +247,20 @@ } private function activitySnapBack(ca:Object){ - ca._x = ca.activity.xCoord; - ca._y = ca.activity.yCoord; + if(ca.branchConnector) { + + if(_canvasModel.activeView.isStart(ca)) { + ca._x = ca.activity.startXCoord; + ca._y = ca.activity.startYCoord; + } else if(_canvasModel.activeView.isEnd(ca)) { + ca._x = ca.activity.endXCoord; + ca._y = ca.activity.endYCoord; + } + + } else { + ca._x = ca.activity.xCoord; + ca._y = ca.activity.yCoord; + } } /** @@ -364,10 +379,10 @@ private function isActivityOnBin(ca:Object):Void{ if (ca.hitTest(_canvasModel.getCanvas().bin)) { - if(!isActivityReadOnly(ca, Dictionary.getValue("cv_element_readOnly_action_del"))){ + if(!isActivityReadOnly(ca, Dictionary.getValue("cv_element_readOnly_action_del")) && !ca.branchConnector){ if (ca.activity.activityTypeID == Activity.OPTIONAL_ACTIVITY_TYPE || ca.activity.activityTypeID == Activity.PARALLEL_ACTIVITY_TYPE){ _canvasModel.removeComplexActivity(ca); - }else { + } else { _canvasModel.removeActivityOnBin(ca.activity.activityUIID); } } else { @@ -535,27 +550,27 @@ } if(_canvasModel.activeTool == CanvasModel.GATE_TOOL){ - var p = new Point(_canvasModel.activeView._xmouse, _canvasModel.activeView._ymouse); + var p = new Point(_canvasModel.activeView.content._xmouse, _canvasModel.activeView.content._ymouse); _canvasModel.createNewGate(Activity.PERMISSION_GATE_ACTIVITY_TYPE,p,parent); _canvasModel.getCanvas().stopGateTool(); } if(_canvasModel.activeTool == CanvasModel.OPTIONAL_TOOL){ - var p = new Point(_canvasModel.activeView._xmouse-(complexActWidth/2), _canvasModel.activeView._ymouse); + var p = new Point(_canvasModel.activeView.content._xmouse-(complexActWidth/2), _canvasModel.activeView.content._ymouse); _canvasModel.createNewOptionalActivity(Activity.OPTIONAL_ACTIVITY_TYPE,p,parent); _canvasModel.getCanvas().stopOptionalActivity(); } if(_canvasModel.activeTool == CanvasModel.GROUP_TOOL){ - var p = new Point(_canvasModel.activeView._xmouse-(toolActWidth/2), _canvasModel.activeView._ymouse-(toolActHeight/2)); + var p = new Point(_canvasModel.activeView.content._xmouse-(toolActWidth/2), _canvasModel.activeView.content._ymouse-(toolActHeight/2)); _canvasModel.createNewGroupActivity(p,parent); _canvasModel.getCanvas().stopGroupTool(); } if(_canvasModel.activeTool == CanvasModel.BRANCH_TOOL){ - var p = new Point(_canvasModel.activeView._xmouse-(toolActWidth/2), _canvasModel.activeView._ymouse-(toolActHeight/2)); + var p = new Point(_canvasModel.activeView.content._xmouse-(toolActWidth/2), _canvasModel.activeView.content._ymouse-(toolActHeight/2)); _canvasModel.createNewBranchActivity(Activity.CHOOSEN_BRANCHING_ACTIVITY_TYPE,p,parent); _canvasModel.getCanvas().stopBranchTool(); } Index: lams_flash/src/common/flash/org/lamsfoundation/lams/common/CommonCanvasView.as =================================================================== diff -u -rd3d682445aa3dca16d7a1010db38c2473c1b8892 -rddbaafba98df3c2f503d7f8cdb755d9f5194dfd0 --- lams_flash/src/common/flash/org/lamsfoundation/lams/common/CommonCanvasView.as (.../CommonCanvasView.as) (revision d3d682445aa3dca16d7a1010db38c2473c1b8892) +++ lams_flash/src/common/flash/org/lamsfoundation/lams/common/CommonCanvasView.as (.../CommonCanvasView.as) (revision ddbaafba98df3c2f503d7f8cdb755d9f5194dfd0) @@ -118,10 +118,10 @@ activityLayer.attachMovie("squareHandle", "h1", activityLayer.getNextHighestDepth()); activityLayer.attachMovie("squareHandle", "h2", activityLayer.getNextHighestDepth()); - activityLayer.h1._x = this._xmouse - activityLayer.h1._y = this._ymouse + activityLayer.h1._x = content._xmouse; + activityLayer.h1._y = content._ymouse; + Debugger.log("content: " + content, Debugger.GEN, "initDrawTempTrans", "CommonCanvasView"); - activityLayer.tempTrans.onEnterFrame = drawTempTrans; @@ -141,7 +141,8 @@ Draw.dashTo(this, _parent.h1._x, _parent.h1._y, _parent._parent._xmouse - 3, _parent._parent._ymouse - 3, 7, 4); _parent.h2._x = _parent._parent._xmouse - 3; - _parent.h2._y = _parent._parent._ymouse - 3; + _parent.h2._y = _parent._parent._ymouse - 3; + }