Index: lams_central/web/lams_authoring.swf =================================================================== diff -u -r5cd45833dbbf97b54931280286b815a87b26b1c4 -rc8daa528b2fc8459b73d048ddfeb3c0daf4f78c3 Binary files differ Index: lams_central/web/lams_authoring_library.swf =================================================================== diff -u -r5cd45833dbbf97b54931280286b815a87b26b1c4 -rc8daa528b2fc8459b73d048ddfeb3c0daf4f78c3 Binary files differ Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as =================================================================== diff -u -rbf43d38cb2b81bd0cd46b7b78652a4109ea6984d -rc8daa528b2fc8459b73d048ddfeb3c0daf4f78c3 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as (.../CanvasBranchView.as) (revision bf43d38cb2b81bd0cd46b7b78652a4109ea6984d) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as (.../CanvasBranchView.as) (revision c8daa528b2fc8459b73d048ddfeb3c0daf4f78c3) @@ -557,7 +557,7 @@ else if(a.isBranchingActivity()) { BranchingActivity(a).clear = activity.clear; - var newActivity_mc = (_module != "monitoring") ? activityLayer.createChildAtDepth("CanvasBranchingActivity",DepthManager.kTop,{_activity:a, _canvasController:cbc,_canvasBranchView:cbv}) + var newActivity_mc = (_module != "monitoring") ? activityLayer.createChildAtDepth("CanvasBranchingActivity",DepthManager.kTop,{_activity:a, _canvasController:cbc,_canvasBranchView:cbv, showDiagram: true}) : activityLayer.createChildAtDepth("CanvasBranchingActivity",DepthManager.kTop,{_activity:a, _monitorController:cbc,_canvasBranchView:cbv, _module:_module, learnerContainer:_learnerContainer_mc}); cm.activitiesDisplayed.put(a.activityUIID,newActivity_mc); Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchingDiagram.as =================================================================== diff -u -rbf43d38cb2b81bd0cd46b7b78652a4109ea6984d -rc8daa528b2fc8459b73d048ddfeb3c0daf4f78c3 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchingDiagram.as (.../CanvasBranchingDiagram.as) (revision bf43d38cb2b81bd0cd46b7b78652a4109ea6984d) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchingDiagram.as (.../CanvasBranchingDiagram.as) (revision c8daa528b2fc8459b73d048ddfeb3c0daf4f78c3) @@ -38,7 +38,8 @@ **/ class CanvasBranchingDiagram extends MovieClip { - private static var CIRCLE_SIZE:Number = 3; + //private static var CIRCLE_SIZE:Number = 3; + private static var ACT_SIZE:Number = 4; private static var BRANCH_LIMIT:Number = 5; private static var ACTIVITY_LIMIT:Number = 6; @@ -101,34 +102,44 @@ // draw activityless for(var i=0; i < _branchingDetails.length; i++) { - if(_branchingDetails[i].noOfActivities == 0) { + if(_branchingDetails[i].firstActivityUIID == null) { activitylessToBeDrawn = true; } } for(var i=0; (i < _branchingDetails.length && i < BRANCH_LIMIT); i++) { - if(_branchingDetails[i].noOfActivities > 0) { + if(_branchingDetails[i].firstActivityUIID != null) { setPointAction(true, false, false); var count:Number = (activitylessDrawn && i==1) ? i-1 : i; count = (activitylessToBeDrawn && !activitylessDrawn && i>=1) ? count+1 : count; - for(var j=1; (j <= _branchingDetails[i].noOfActivities && j <= ACTIVITY_LIMIT); j++) { + var j = 1; + + var nextActivity:Activity = _ddm.getActivityByUIID(_branchingDetails[i].firstActivityUIID); + + while(j <= ACTIVITY_LIMIT && nextActivity != null) { line_mc.lineTo(MARGIN_X+(j*SPACING), MARGIN_Y+(SPACING*count)); - if(j == ACTIVITY_LIMIT && _branchingDetails[i].noOfActivities > ACTIVITY_LIMIT) { - drawCircle(container, MARGIN_X+(j*SPACING), MARGIN_Y+(SPACING*count), CIRCLE_SIZE, true); - line_mc.moveTo(MARGIN_X+(j*SPACING) + (CIRCLE_SIZE*4) + 1, MARGIN_Y+(SPACING*count)); - } else if((j == ACTIVITY_LIMIT || j == _branchingDetails[i].noOfActivities) && !_branchingDetails[i].hasEndBranch) { - drawCircle(container, MARGIN_X+(j*SPACING), MARGIN_Y+(SPACING*count), CIRCLE_SIZE, false, true); + var assocColorObj:Object = getAssociatedStyle(nextActivity); + + if(j == ACTIVITY_LIMIT && _branchingDetails[i].noActivities > ACTIVITY_LIMIT) { + drawActivity(container, MARGIN_X+(j*SPACING), MARGIN_Y+(SPACING*count), ACT_SIZE, true, false, assocColorObj); + line_mc.moveTo(MARGIN_X+(j*SPACING) + (ACT_SIZE*4) + 1, MARGIN_Y+(SPACING*count)); + } else if((j == ACTIVITY_LIMIT || j == _branchingDetails[i].noActivities) && !_branchingDetails[i].hasEndBranch) { + drawActivity(container, MARGIN_X+(j*SPACING), MARGIN_Y+(SPACING*count), ACT_SIZE, false, true, assocColorObj); } else { - drawCircle(container, MARGIN_X+(j*SPACING), MARGIN_Y+(SPACING*count), CIRCLE_SIZE); + drawActivity(container, MARGIN_X+(j*SPACING), MARGIN_Y+(SPACING*count), ACT_SIZE, false, false, assocColorObj); } + + nextActivity = getNextActivity(nextActivity.activityUIID); + + j++; } if(_branchingDetails[i].hasEndBranch) setPointAction(false, true, true); // end point - } else if(_branchingDetails[i].noOfActivities == 0) { + } else { setPointAction(true, false, false); setPointAction(false, true, true); @@ -140,6 +151,11 @@ setPosition(); } + private function getNextActivity(activityUIID:Number):Activity { + var transitionObj:Object = _ddm.getTransitionsForActivityUIID(activityUIID); + return _ddm.getActivityByUIID(transitionObj.out.toUIID); + } + private function setPointAction(_moveTo:Boolean, _lineTo:Boolean, _isEnd:Boolean):Object { var p:Object = new Object(); p.x = (_isEnd) ? MARGIN_X+((ACTIVITY_LIMIT+1)*SPACING) : MARGIN_X; @@ -159,16 +175,15 @@ Debugger.log("activity: " + _branchingActivity.activityUIID, Debugger.CRITICAL, "getDetails", "CanvasBranchingDiagram"); var sequences:Array = _ddm.getComplexActivityChildren(_branchingActivity.activityUIID); - Debugger.log("no seqs: " + sequences.length, Debugger.CRITICAL, "getDetails", "CanvasBranchingDiagram"); + if(sequences.length > 0) { _empty = false; for(var i=0; i