Index: lams_central/web/lams_authoring.swf =================================================================== diff -u -r75ccded90a0064358457a15705aa8605e0553867 -rf1269ae0a26dba294ec02a457561b0b63447565e Binary files differ Index: lams_central/web/lams_authoring_library.swf =================================================================== diff -u -r75ccded90a0064358457a15705aa8605e0553867 -rf1269ae0a26dba294ec02a457561b0b63447565e Binary files differ Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/Canvas.as =================================================================== diff -u -rb47fd6dd5c2e5a38203cb21bd1b72c7b295d1a96 -rf1269ae0a26dba294ec02a457561b0b63447565e --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/Canvas.as (.../Canvas.as) (revision b47fd6dd5c2e5a38203cb21bd1b72c7b295d1a96) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/Canvas.as (.../Canvas.as) (revision f1269ae0a26dba294ec02a457561b0b63447565e) @@ -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 =================================================================== diff -u -r75bae9f675cec296dd7e79715454b0c09b593c21 -rf1269ae0a26dba294ec02a457561b0b63447565e --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as (.../CanvasController.as) (revision 75bae9f675cec296dd7e79715454b0c09b593c21) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as (.../CanvasController.as) (revision f1269ae0a26dba294ec02a457561b0b63447565e) @@ -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 =================================================================== diff -u -r9d5eeace842b7971ad47f350fef71c0e11a352c0 -rf1269ae0a26dba294ec02a457561b0b63447565e --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasHelper.as (.../CanvasHelper.as) (revision 9d5eeace842b7971ad47f350fef71c0e11a352c0) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasHelper.as (.../CanvasHelper.as) (revision f1269ae0a26dba294ec02a457561b0b63447565e) @@ -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 =================================================================== diff -u -r32d5c80db0ec654785f8bf867fdbaf99c236fb1d -rf1269ae0a26dba294ec02a457561b0b63447565e --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as (.../CanvasModel.as) (revision 32d5c80db0ec654785f8bf867fdbaf99c236fb1d) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as (.../CanvasModel.as) (revision f1269ae0a26dba294ec02a457561b0b63447565e) @@ -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