Index: lams_central/web/lams_authoring.swf =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/lams_authoring.swf,v diff -u -r1.518 -r1.519 Binary files differ Index: lams_central/web/lams_authoring_library.swf =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/lams_authoring_library.swf,v diff -u -r1.418 -r1.419 Binary files differ Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/Canvas.as =================================================================== RCS file: /usr/local/cvsroot/lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/Canvas.as,v diff -u -r1.50 -r1.51 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/Canvas.as 19 Feb 2009 01:43:38 -0000 1.50 +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/Canvas.as 27 Feb 2009 05:01:35 -0000 1.51 @@ -869,6 +869,10 @@ Application.getInstance().getComms().sendAndReceive(_ddm.getDataForPreview(Dictionary.getValue('preview_btn'), null), "monitoring/initializeLesson", callback, false) } } + + public function arrangeActivitiesOnCanvas():Void { + canvasModel.arrangeActivities(); + } public function onInitPreviewResponse(r):Void{ if(r instanceof LFError) { 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.87 -r1.88 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as 17 Feb 2009 03:09:16 -0000 1.87 +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as 27 Feb 2009 05:01:34 -0000 1.88 @@ -594,6 +594,7 @@ _canvasModel.openBranchActivityContent(ca, true); Application.getInstance().getToolbar().setButtonState("support_act_btn", false, false); + LFMenuBar.getInstance().enableArrangeActivities(false); // invalidate design after opening tool content window _canvasModel.getCanvas().ddm.validDesign = false; Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasHelper.as =================================================================== RCS file: /usr/local/cvsroot/lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasHelper.as,v diff -u -r1.49 -r1.50 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasHelper.as 6 Feb 2009 05:58:04 -0000 1.49 +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasHelper.as 27 Feb 2009 05:01:35 -0000 1.50 @@ -801,6 +801,9 @@ if (canvasModel.currentBranchingActivity == null && canvasModel.getReferenceActivityOnCanvas() == null) { Application.getInstance().getToolbar().setButtonState("support_act_btn", true, false); } + if (canvasModel.activeView instanceof CanvasView) { + LFMenuBar.getInstance().enableArrangeActivities(true); + } if(canvasModel.activeView instanceof CanvasComplexView) CanvasComplexView(canvasModel.activeView).branchingToClear.push(branchingAct); Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as =================================================================== RCS file: /usr/local/cvsroot/lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as,v diff -u -r1.86 -r1.87 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as 6 Feb 2009 07:44:42 -0000 1.86 +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as 27 Feb 2009 05:01:34 -0000 1.87 @@ -1127,5 +1127,44 @@ _lastBranchActionType = null; } - + + public function arrangeActivities():Void { + var orderedActUIIDs:Array = new Array(); + + var currentActUIID:Number = getFirstActivityUIID(); + while (currentActUIID != null) { + orderedActUIIDs.push(currentActUIID); + // get the next connected act uiid and assign it to the current act uiid + currentActUIID = getNextConnectedActivityUIID(currentActUIID); + } + + broadcastViewUpdate("ARRANGE_ACTIVITIES", orderedActUIIDs); + } + + public function getFirstActivityUIID():Number { + var transitionsOnCanvas:Array = _transitionsDisplayed.values(); + var fromUIIDs:Array = new Array(); + var toUIIDs:Hashtable = new Hashtable(); + + for (var i=0; i