Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/BranchConnector.as =================================================================== RCS file: /usr/local/cvsroot/lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/BranchConnector.as,v diff -u -r1.10 -r1.11 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/BranchConnector.as 9 Jan 2008 02:10:39 -0000 1.10 +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/BranchConnector.as 16 Jan 2008 06:34:21 -0000 1.11 @@ -21,13 +21,17 @@ * ************************************************************************ */ +import org.lamsfoundation.lams.common.style.ThemeManager; import org.lamsfoundation.lams.common.util.*; import org.lamsfoundation.lams.common.ui.*; import org.lamsfoundation.lams.common.*; import org.lamsfoundation.lams.authoring.*; import org.lamsfoundation.lams.authoring.cv.*; import org.lamsfoundation.lams.authoring.br.*; import org.lamsfoundation.lams.monitoring.mv.*; + +import mx.controls.Label; +import mx.managers.DepthManager; class org.lamsfoundation.lams.authoring.br.BranchConnector extends CanvasConnection { @@ -36,14 +40,22 @@ public static var DIR_SINGLE:Number = 2; private var _branch:Branch; - + + private var bcLabel_mc:MovieClip; + private var bcLabel:Label; + + private var _tm:ThemeManager; + function BranchConnector(){ super(); Debugger.log("_branch.targetUIID:"+_branch.targetUIID,4,'Constructor','BranchConnector'); Debugger.log("_branch.direction:"+_branch.direction,4,'Constructor','BranchConnector'); + + //set the reference to the StyleManager + _tm = ThemeManager.getInstance(); - MovieClipUtils.doLater(Proxy.create(this,init)); + MovieClipUtils.doLater(Proxy.create(this, init)); } public function init():Void{ @@ -54,7 +66,10 @@ if(branch.direction == DIR_SINGLE) drawActivityless(); else - draw(); + draw(); + + if(branch.direction != DIR_TO_END) + createBranchLabel(); } /** @@ -78,7 +93,6 @@ : new Point(toAct_mc.getActivity().xCoord + toOTC.x, toAct_mc.getActivity().yCoord + toOTC.y); createConnection(fromAct_mc, toAct_mc, _startPoint, _endPoint, fromOTC, toOTC); - } private function drawActivityless():Void { @@ -95,6 +109,38 @@ Debugger.log("ep x: " + _endPoint.x + " y: " + _endPoint.y, Debugger.CRITICAL, "drawActivityless", "BranchConnector"); createConnection(fromAct_mc, toAct_mc, _startPoint, _endPoint, fromOTC, toOTC); + } + + public function createBranchLabel():Void { + Debugger.log("arrow mc: " + arrow_mc._x + " " + arrow_mc._y, Debugger.CRITICAL, "createBranchLabel", "BranchConnector"); + Debugger.log("quad: " + _quadrant, Debugger.CRITICAL, "createBranchLabel", "BranchConnector"); + + if(bcLabel_mc != null) + bcLabel_mc.removeMovieClip(); + + var _offset:Number = 10; + + var _xpos = (_quadrant == CanvasConnection.Q1 || _quadrant == CanvasConnection.Q4) ? arrow_mc._x + _offset : arrow_mc._x - _offset; + var _ypos = (_quadrant == CanvasConnection.Q1 || _quadrant == CanvasConnection.Q2) ? arrow_mc._y + _offset : arrow_mc._y - _offset - 22; + + bcLabel_mc = model.activeView.labelContainer.attachMovie("Label", "bcLabel" + _branch.branchUIID, model.activeView.labelContainer.getNextHighestDepth(), {_x: _xpos, _y: _ypos, text:_branch.sequenceName, _width: 40, _height: 22, autoSize: "center", _visible: false}); + bcLabel = Label(bcLabel_mc); + bcLabel.setStyle('styleName', _tm.getStyleObject("label")); + + bcLabel._x -= bcLabel._width/2; + bcLabel._visible = true; + } + + public function updateBranchLabel():Void { + branchLabel = _branch.sequenceActivity.title; + } + + public function set branchLabel(a:String):Void { + bcLabel.text = a; + } + + public function get branchLabel():Label { + return bcLabel; } public function get branch():Branch{ @@ -109,7 +155,7 @@ return Activity(_branch.sequenceActivity); } - private function onPress():Void{ + private function onPress():Void{ // check double-click var now:Number = new Date().getTime(); Debugger.log('now - _dcStartTime:'+(now - _dcStartTime)+' Config.DOUBLE_CLICK_DELAY:'+Config.DOUBLE_CLICK_DELAY,Debugger.GEN,'onPress','CanvasTransition'); @@ -127,7 +173,7 @@ } - private function onRelease():Void{ + private function onRelease():Void{ if(!_doubleClicking){ _canvasController.branchRelease(this); } Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as =================================================================== RCS file: /usr/local/cvsroot/lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as,v diff -u -r1.56 -r1.57 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as 11 Jan 2008 07:32:18 -0000 1.56 +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as 16 Jan 2008 06:34:21 -0000 1.57 @@ -85,6 +85,7 @@ private var _fingerprint:MovieClip; private var _learnerContainer_mc:MovieClip; + private var _labelContainer_mc:MovieClip; private var _open:Boolean; private var _isBranchChild:Boolean; @@ -266,6 +267,7 @@ activityLayer = content.createEmptyMovieClip("_activityLayer_mc", content.getNextHighestDepth()); _learnerContainer_mc = content.createEmptyMovieClip("_learnerContainer_mc", content.getNextHighestDepth()); + _labelContainer_mc = content.createEmptyMovieClip("_labelContainer_mc", content.getNextHighestDepth()); transparentCover = content.createClassObject(Panel, "_transparentCover_mc", content.getNextHighestDepth(), {_visible: false, enabled: false, _alpha: 50}); transparentCover.onPress = null; @@ -370,10 +372,11 @@ if(model instanceof CanvasModel) model.getCanvas().addBin(this.activityLayer); setSize(model); - + mx.transitions.TransitionManager.start(this, {type:mx.transitions.Zoom, direction:0, duration:1, easing:mx.transitions.easing.Bounce.easeOut}); + } private function close():Void { @@ -396,7 +399,7 @@ else model.getCanvas().addBin(model.activeView); model.broadcastViewUpdate("SIZE"); - + } public function localOnReleaseOutside():Void{ @@ -674,7 +677,7 @@ * @param cm The canvas model * @return */ - private function removeBranch(b:Branch,cm){ + private function removeBranch(b:Branch, cm){ Debugger.log("activeView: " + cm.isActiveView(this), Debugger.CRITICAL, "removeBranch", "CanvasBranchView"); if(!cm.isActiveView(this)) return false; @@ -685,6 +688,7 @@ } else if(b.direction == BranchConnector.DIR_TO_END) { b.sequenceActivity.stopAfterActivity = true; } var r = cm.branchesDisplayed.remove(b.branchUIID); + r.branchLabel.removeMovieClip(); r.removeMovieClip(); if(cm instanceof MonitorModel) cm.ddm.branches.remove(b.branchUIID); @@ -724,7 +728,7 @@ bin._y = (s.h - bin._height) - 10; } - canvas_scp.redraw(true); + //canvas_scp.redraw(true); setPosition(cm, cx, cy); } @@ -812,6 +816,10 @@ _branchLayer = a; } + public function get labelContainer():MovieClip { + return _labelContainer_mc; + } + public function get fingerprint():MovieClip { return _fingerprint; } Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasConnection.as =================================================================== RCS file: /usr/local/cvsroot/lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasConnection.as,v diff -u -r1.3 -r1.4 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasConnection.as 23 Oct 2007 04:05:22 -0000 1.3 +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasConnection.as 16 Jan 2008 06:34:21 -0000 1.4 @@ -33,6 +33,13 @@ import org.lamsfoundation.lams.monitoring.mv.tabviews.MonitorTabView; class org.lamsfoundation.lams.authoring.cv.CanvasConnection extends MovieClip{ + + public static var Q1:String = "q1"; + public static var Q2:String = "q2"; + public static var Q3:String = "q3"; + public static var Q4:String = "q4"; + + private var _quadrant:String; private var _canvasController:CanvasController; private var _monitorController:MonitorController; @@ -112,7 +119,7 @@ arrow_mc._rotation = degs; arrow_mc._visible = true; - _midPoint = new Point(arrow_mc._x,arrow_mc._y); + _midPoint = new Point(arrow_mc._x, arrow_mc._y); xPos = this._x; @@ -128,44 +135,48 @@ private function getQuadrant(d:Number) { if(d >= 0 && d < 90) { - return "q3"; + return Q3; } else if(d < 0 && d >= - 90) { - return "q2"; + return Q2; } else if(d < -90 && d >= -180) { - return "q1"; + return Q1; } else { - return "q4"; + return Q4; } } + public function quadrant():String { + return _quadrant; + } + private function calcEdgePoint(_d:Number, x_offset:Number, y_offset:Number, _act_d:Number, point:Point):Point { var _edgePoint:Point = new Point(); var d:Number = _d; - var quad:String = getQuadrant(d); + _quadrant = getQuadrant(d); - switch(quad) { - case "q1": + switch(_quadrant) { + case Q1: d = 180 + d; _edgePoint.y = (d >= _act_d) ? point.y - y_offset : point.y - (x_offset * calcTangent(d, false)); _edgePoint.x = (d >= _act_d) ? point.x - (y_offset * calcTangent(d, true)) : point.x - x_offset;; break; - case "q2": + case Q2: d = Math.abs(d); _edgePoint.y = (d >= _act_d) ? point.y - y_offset : point.y - (x_offset * calcTangent(d, false)); _edgePoint.x = (d >= _act_d) ? point.x + (y_offset * calcTangent(d, true)) : point.x + x_offset;; break; - case "q3": + case Q3: _edgePoint.y = (d >= _act_d) ? point.y + y_offset : point.y + (x_offset * calcTangent(d, false)); _edgePoint.x = (d >= _act_d) ? point.x + (y_offset * calcTangent(d, true)) : point.x + x_offset; break; - case "q4": + case Q4: d = 180 - d; _edgePoint.y = (d >= _act_d) ? point.y + y_offset : point.y + (x_offset * calcTangent(d, false)); Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as =================================================================== RCS file: /usr/local/cvsroot/lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as,v diff -u -r1.54 -r1.55 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as 17 Dec 2007 00:43:00 -0000 1.54 +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as 16 Jan 2008 06:34:20 -0000 1.55 @@ -404,6 +404,7 @@ for (var i=0; i