Index: lams_central/web/lams_authoring.swf =================================================================== diff -u -rd3a95038f7512b62b050851b24ae07c140049100 -r9aab591f71aa913ad9b848d8cd406728c171470b Binary files differ Index: lams_central/web/lams_authoring_library.swf =================================================================== diff -u -rd3a95038f7512b62b050851b24ae07c140049100 -r9aab591f71aa913ad9b848d8cd406728c171470b Binary files differ Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Activity.as =================================================================== diff -u -rf1b6debeb98703ac264781d1949b04e2745ebd9c -r9aab591f71aa913ad9b848d8cd406728c171470b --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Activity.as (.../Activity.as) (revision f1b6debeb98703ac264781d1949b04e2745ebd9c) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Activity.as (.../Activity.as) (revision 9aab591f71aa913ad9b848d8cd406728c171470b) @@ -270,6 +270,11 @@ return false; } } + + public function isSequenceActivity():Boolean{ + return _activityTypeID == SEQUENCE_ACTIVITY_TYPE; + } + /** * Populates all the fields in this activity from a dto object contaning the following fields * NB: This is not very clever, if the field in the dto is blank then the value is overwritten in the class... Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/ConditionMatchingDialog.as =================================================================== diff -u -r24a933e2927a758498ae27341b19baeb90ca0db3 -r9aab591f71aa913ad9b848d8cd406728c171470b --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/ConditionMatchingDialog.as (.../ConditionMatchingDialog.as) (revision 24a933e2927a758498ae27341b19baeb90ca0db3) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/ConditionMatchingDialog.as (.../ConditionMatchingDialog.as) (revision 9aab591f71aa913ad9b848d8cd406728c171470b) @@ -76,7 +76,7 @@ //Set the labels conditions_label.text = Dictionary.getValue('condmatch_dlg_cond_lst_lbl'); - branches_label.text = Dictionary.getValue('groupmatch_dlg_branches_lst_lbl'); + branches_label.text = Dictionary.getValue('branch_mapping_dlg_branches_lst_lbl'); match_dgd_lbl.text = Dictionary.getValue('branch_mapping_dlg_match_dgd_lbl'); //EVENTS Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/GroupMatchingDialog.as =================================================================== diff -u -r24a933e2927a758498ae27341b19baeb90ca0db3 -r9aab591f71aa913ad9b848d8cd406728c171470b --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/GroupMatchingDialog.as (.../GroupMatchingDialog.as) (revision 24a933e2927a758498ae27341b19baeb90ca0db3) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/GroupMatchingDialog.as (.../GroupMatchingDialog.as) (revision 9aab591f71aa913ad9b848d8cd406728c171470b) @@ -74,7 +74,7 @@ //Set the labels groups_label.text = Dictionary.getValue('groupmatch_dlg_groups_lst_lbl'); - branches_label.text = Dictionary.getValue('groupmatch_dlg_branches_lst_lbl'); + branches_label.text = Dictionary.getValue('branch_mapping_dlg_branches_lst_lbl'); match_dgd_lbl.text = Dictionary.getValue('branch_mapping_dlg_match_dgd_lbl'); //EVENTS Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/ToolOutputConditionsDialog.as =================================================================== diff -u -rd3a95038f7512b62b050851b24ae07c140049100 -r9aab591f71aa913ad9b848d8cd406728c171470b --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/ToolOutputConditionsDialog.as (.../ToolOutputConditionsDialog.as) (revision d3a95038f7512b62b050851b24ae07c140049100) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/ToolOutputConditionsDialog.as (.../ToolOutputConditionsDialog.as) (revision 9aab591f71aa913ad9b848d8cd406728c171470b) @@ -448,7 +448,7 @@ _toolOutputDefin_cmb.dataProvider = _definitions; _toolOutputDefin_cmb.labelFunction = function(itemObj){ - return (itemObj.name + " (" + ToolOutputConditionsDialog.getOutputType(itemObj.type) + ")"); + return (itemObj.description + " (" + ToolOutputConditionsDialog.getOutputType(itemObj.type) + ")"); } _toolOutputDefin_cmb.redraw(true); Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasActivity.as =================================================================== diff -u -r9cff9ef484b8a878642260d5417f1bb407c7f281 -r9aab591f71aa913ad9b848d8cd406728c171470b --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasActivity.as (.../CanvasActivity.as) (revision 9cff9ef484b8a878642260d5417f1bb407c7f281) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasActivity.as (.../CanvasActivity.as) (revision 9aab591f71aa913ad9b848d8cd406728c171470b) @@ -191,6 +191,9 @@ public function refresh(setNegative:Boolean):Void{ bgNegative = String(setNegative); setStyles(); + + setupBranchView = false; + draw(); setSelected(_isSelected); } Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/PropertyInspector.as =================================================================== diff -u -rcd33f92df2c46dfe2e817281d501e179a6094637 -r9aab591f71aa913ad9b848d8cd406728c171470b --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/PropertyInspector.as (.../PropertyInspector.as) (revision cd33f92df2c46dfe2e817281d501e179a6094637) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/PropertyInspector.as (.../PropertyInspector.as) (revision 9aab591f71aa913ad9b848d8cd406728c171470b) @@ -117,6 +117,8 @@ _tool_output_match_btn.addEventListener("click", Delegate.create(this, onConditionMatchClick)); _conditions_setup_btn.addEventListener("click", Delegate.create(this, onConditionsSetupClick)); + _define_monitor_cb.addEventListener("click", Delegate.create(this, onDefineMonitorSelect)); + _pi_defaultBranch_cb.addEventListener("click", Delegate.create(this, onDefaultBranchSelect)); this.onEnterFrame = setupLabels; @@ -490,7 +492,9 @@ if(_canvasModel.selectedItem.activity.activityTypeID == Activity.GROUP_BRANCHING_ACTIVITY_TYPE) { showAppliedGroupingControls(true, !ba.readOnly); - showGroupBasedBranchingControls(true, !ba.readOnly); + showGroupBasedBranchingControls(true, !ba.readOnly); + + _define_monitor_cb.selected = (ba.defineLater != null) ? ba.defineLater : false; } } Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/PropertyInspectorControls.as =================================================================== diff -u -rd3a95038f7512b62b050851b24ae07c140049100 -r9aab591f71aa913ad9b848d8cd406728c171470b --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/PropertyInspectorControls.as (.../PropertyInspectorControls.as) (revision d3a95038f7512b62b050851b24ae07c140049100) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/PropertyInspectorControls.as (.../PropertyInspectorControls.as) (revision 9aab591f71aa913ad9b848d8cd406728c171470b) @@ -107,6 +107,7 @@ private var _group_match_btn:Button; private var _tool_output_match_btn:Button; private var _conditions_setup_btn:Button; + private var _define_monitor_cb:CheckBox; //grouping private var groupType_lbl:Label; @@ -192,11 +193,13 @@ min_lbl.text = Dictionary.getValue('pi_min_act'); max_lbl.text = Dictionary.getValue('pi_max_act'); - _group_match_btn.label = Dictionary.getValue('pi_group_match_btn_lbl'); + _group_match_btn.label = Dictionary.getValue('pi_mapping_btn_lbl'); _group_naming_btn.label = Dictionary.getValue('pi_group_naming_btn_lbl'); - _tool_output_match_btn.label = Dictionary.getValue('pi_tomatch_btn_lbl'); + _tool_output_match_btn.label = Dictionary.getValue('pi_mapping_btn_lbl'); _conditions_setup_btn.label = Dictionary.getValue('pi_condmatch_btn_lbl'); + _define_monitor_cb.label = Dictionary.getValue('pi_define_monitor_cb_lbl'); + // Branch _pi_defaultBranch_cb.label = Dictionary.getValue("pi_defaultBranch_cb_lbl"); @@ -510,13 +513,11 @@ numLearners_rdo.visible = false; numGroups_rdo.visible = false; - _group_naming_btn.visible = true; + _group_naming_btn.visible = (numGroups_stp.value > 0) ? true : false; if(e != null) { numGroups_lbl.enabled = e; _group_naming_btn.enabled = e; - } else { - _group_naming_btn.enabled = false; } } else if(g.groupingTypeID == Grouping.RANDOM_GROUPING) { @@ -540,8 +541,6 @@ numGroups_rdo.enabled = e; _group_naming_btn.enabled = e; - } else { - _group_naming_btn.enabled = false; } checkGroupRadioOptions(e); @@ -607,17 +606,20 @@ g.numberOfGroups = 0; numRandomGroups_stp.enabled = false; - numLearners_stp.enabled = (e != null) ? e&&true : true; + numLearners_stp.enabled = (e != null) ? e : true; - _group_naming_btn.enabled = false; + _group_naming_btn.visible = false; + }else{ - numRandomGroups_stp.enabled = (e != null) ? e&&true : true; + numRandomGroups_stp.enabled = (e != null) ? e : true; numLearners_stp.value = 0; g.learnersPerGroups = 0; numLearners_stp.enabled = false; - _group_naming_btn.enabled = (e != null) ? e&&(numRandomGroups_stp.value > 0) : (numRandomGroups_stp.value > 0); + _group_naming_btn.enabled = (e != null) ? e : true; + _group_naming_btn.visible = (numRandomGroups_stp.value > 0) ? true : false; + } //this is a crazy hack to stop the steppter dissapearing after its .enabled property is set. @@ -630,12 +632,14 @@ var g:Grouping = _canvasModel.getCanvas().ddm.getGroupingByUIID(_canvasModel.selectedItem.activity.createGroupingUIID); Debugger.log("checking group radio options: " + g.numberOfGroups, Debugger.CRITICAL, "checkGroupRadioOptions", "PIC*"); - if(g.numberOfGroups > 0 && g.learnersPerGroups <= 0) - { numGroups_rdo.selected = true; _group_naming_btn.enabled = (e != null) ? e&&true : true; } - else if(g.learnersPerGroups > 0 && g.numberOfGroups <= 0) - { numLearners_rdo.selected = true; _group_naming_btn.enabled = false; } + if(g.numberOfGroups > 0 && g.learnersPerGroups <= 0) { + numGroups_rdo.selected = true; + _group_naming_btn.visible = true; + _group_naming_btn.enabled = (e != null) ? e : true; + } else if(g.learnersPerGroups > 0 && g.numberOfGroups <= 0) + { numLearners_rdo.selected = true; _group_naming_btn.visible = false; } else - { numGroups_rdo.selected = true; _group_naming_btn.enabled = false; } + { numGroups_rdo.selected = true; _group_naming_btn.visible = false; } } public function reDrawTroublesomeSteppersLater(){ @@ -671,11 +675,12 @@ * @return */ public function updateGroupingMethodData(evt:Object){ - var g:Grouping = _canvasModel.getCanvas().ddm.getGroupingByUIID(_canvasModel.selectedItem.activity.createGroupingUIID); Debugger.log("updating grouping method data: " + g.groupingUIID, Debugger.CRITICAL, "updateGroupingMethodData", "PropertyInspectorControls"); if(!_canvasController.isBusy() && evt.type == 'focusOut') { + var g:Grouping = _canvasModel.getCanvas().ddm.getGroupingByUIID(_canvasModel.selectedItem.activity.createGroupingUIID); + if(_canvasModel.getCanvas().ddm.hasBranchMappingsForGroupingUIID(g.groupingUIID)) { _canvasController.setBusy(); LFMessage.showMessageConfirm("Warning: Existing Group-to-Branch mappings may be effected by your change. Do you wish to continue?", Proxy.create(this, doUpdateGroupingMethodData, g), Proxy.create(this, retainOldGroupingMethodData), "Yes", "No", "Warning"); @@ -695,13 +700,9 @@ numGroups_stp.value = 0; g.maxNumberOfGroups = 0; - Debugger.log("groups: " + g.numberOfGroups, Debugger.CRITICAL, "doUpdateGroupingMethodData", "PIC*"); + _group_naming_btn.visible = (numRandomGroups_stp.value > 0) ? true : false; + _define_monitor_cb.selected = false; - _group_naming_btn.enabled = (numRandomGroups_stp.value > 0) ? true : false; - - Debugger.log("enabled: " + _group_naming_btn.enabled, Debugger.CRITICAL, "doUpdateGroupingMethodData", "PIC*"); - - }else{ g.maxNumberOfGroups = numGroups_stp.value; @@ -710,7 +711,9 @@ g.learnersPerGroups = 0; g.numberOfGroups = 0; - _group_naming_btn.enabled = (numGroups_stp.value > 0) ? true : false; + _group_naming_btn.visible = (numGroups_stp.value > 0) ? true : false; + _define_monitor_cb.selected = false; + } setModified(); @@ -824,8 +827,8 @@ maxAct_stp.setStyle('styleName', styleObj); _pi_defaultBranch_cb.setStyle('styleName', styleObj); + _define_monitor_cb.setStyle('styleName', styleObj); - styleObj = _tm.getStyleObject('picombo'); gateType_cmb.setStyle('styleName', styleObj); branchType_cmb.setStyle('styleName', styleObj); @@ -883,16 +886,21 @@ _canvasModel.selectedItem.activity.groupingUIID = selectedGroup.createGroupingUIID; } - _canvasModel.selectedItem.activity.toolActivityUIID = null; + _canvasModel.selectedItem.activity.toolActivityUIID = null; + _canvasModel.selectedItem.activity.defineLater = null; + showGroupBasedBranchingControls(true, !_canvasModel.selectedItem.activity.readOnly); showAppliedGroupingControls(true, !_canvasModel.selectedItem.activity.readOnly); showToolBasedBranchingControls(false); + } else if(evt.target.value == Activity.TOOL_BRANCHING_ACTIVITY_TYPE) { showToolBasedBranchingControls(true, !_canvasModel.selectedItem.activity.readOnly); _canvasModel.selectedItem.activity.groupingUIID = null; + _canvasModel.selectedItem.activity.defineLater = null; + showGroupBasedBranchingControls(false); showAppliedGroupingControls(false); @@ -902,6 +910,7 @@ } else { _canvasModel.selectedItem.activity.groupingUIID = null; _canvasModel.selectedItem.activity.toolActivityUIID = null; + _canvasModel.selectedItem.activity.defineLater = null; showToolBasedBranchingControls(false); showGroupBasedBranchingControls(false); @@ -958,8 +967,15 @@ Debugger.log('Set grouping UIID to: '+a.activity.groupingUIID ,Debugger.GEN,'onAppliedGroupingChange','PropertyInspector'); a.refresh() - if(a.activity.activityTypeID == Activity.GROUP_BRANCHING_ACTIVITY_TYPE) { - showGroupBasedBranchingControls(true, !_canvasModel.selectedItem.activity.readOnly); + if(a.activity.activityTypeID == Activity.GROUP_BRANCHING_ACTIVITY_TYPE) { + + if(a.activity.groupingUIID == null) { + a.activity.defineLater = null; + showGroupBasedBranchingControls(false); + } else { + showGroupBasedBranchingControls(true, !_canvasModel.selectedItem.activity.readOnly); + onDefineMonitorSelect(); + } } setModified(); @@ -1000,20 +1016,35 @@ } private function showGroupBasedBranchingControls(v:Boolean, e:Boolean) { - if(!v) { _group_match_btn.visible = false; return; } + if(!v) { + _group_match_btn.visible = false; + _define_monitor_cb.visible = false; + return; + } + + if(_canvasModel.selectedItem.activity.defineLater != null) + _canvasModel.selectedItem.activity.defineLater = _define_monitor_cb.selected; var ca = _canvasModel.selectedItem; var branches:Object = _canvasModel.getCanvas().ddm.getBranchesForActivityUIID(ca.activity.activityUIID); if(branches.myBranches.length > 0 && ca.activity.groupingUIID != null) { var grouping:Grouping = _canvasModel.getCanvas().ddm.getGroupingByUIID(ca.activity.groupingUIID); - _group_match_btn.visible = (grouping.numberOfGroups > 0 || grouping.maxNumberOfGroups > 0) ? v : false; - if(e != null) _group_match_btn.enabled = e; - } else { - _group_match_btn.visible = false; + if(grouping.learnersPerGroups > 0) + _canvasModel.selectedItem.activity.defineLater = true; + + _define_monitor_cb.selected = (_canvasModel.selectedItem.activity.defineLater != null) ? _canvasModel.selectedItem.activity.defineLater : false; + + _group_match_btn.visible = ((grouping.numberOfGroups > 0 || grouping.maxNumberOfGroups > 0) && !_define_monitor_cb.selected) ? v : false; + _define_monitor_cb.visible = (grouping.numberOfGroups > 0 || grouping.maxNumberOfGroups > 0 || grouping.learnersPerGroups > 0) ? v : false; + + if(e != null && !e) { + _group_match_btn.enabled = e; + _define_monitor_cb.enabled = e; + } + } - } /** @@ -1129,9 +1160,24 @@ _canvasModel.activeView.activity.defaultBranch = BranchConnector(_canvasModel.selectedItem).branch; _pi_defaultBranch_cb.selected _pi_defaultBranch_cb.enabled = false; } + + setModified(); + } + + public function onDefineMonitorSelect(evt:Object):Void { + + if(_define_monitor_cb.selected) + _canvasModel.selectedItem.activity.defineLater = _define_monitor_cb.selected; + else + _canvasModel.selectedItem.activity.defineLater = false; + + var grouping:Grouping = _canvasModel.getCanvas().ddm.getGroupingByUIID(_canvasModel.selectedItem.activity.groupingUIID); + _group_match_btn.visible = ((grouping.numberOfGroups > 0 || grouping.maxNumberOfGroups > 0) && !_define_monitor_cb.selected) ? true : false; + + setModified(); } - - /** + + /** * Recieves the click events from the canvas views (inc Property Inspector) buttons. Based on the target * the relevent method is called to action the user request * @param evt Index: lams_flash/src/central/flash/org/lamsfoundation/lams/learner/ls/Lesson.as =================================================================== diff -u -r79ecb1908592f3debc72d036a491420ef5a853b3 -r9aab591f71aa913ad9b848d8cd406728c171470b --- lams_flash/src/central/flash/org/lamsfoundation/lams/learner/ls/Lesson.as (.../Lesson.as) (revision 79ecb1908592f3debc72d036a491420ef5a853b3) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/learner/ls/Lesson.as (.../Lesson.as) (revision 9aab591f71aa913ad9b848d8cd406728c171470b) @@ -22,8 +22,7 @@ */ import org.lamsfoundation.lams.learner.*; -import org.lamsfoundation.lams.learner.ls.*; -import org.lamsfoundation.lams.learner.lb.*; +import org.lamsfoundation.lams.learner.ls.*; import org.lamsfoundation.lams.common.util.*; import org.lamsfoundation.lams.common.Progress; import org.lamsfoundation.lams.common.ui.Cursor; @@ -44,7 +43,6 @@ private var lessonView:LessonView; private var lessonView_mc:MovieClip; - private var _libraryView:LibraryView; private var _lesson:Lesson; private var _instance:Lesson; Index: lams_flash/src/central/flash/org/lamsfoundation/lams/learner/ls/LessonModel.as =================================================================== diff -u -r79ecb1908592f3debc72d036a491420ef5a853b3 -r9aab591f71aa913ad9b848d8cd406728c171470b --- lams_flash/src/central/flash/org/lamsfoundation/lams/learner/ls/LessonModel.as (.../LessonModel.as) (revision 79ecb1908592f3debc72d036a491420ef5a853b3) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/learner/ls/LessonModel.as (.../LessonModel.as) (revision 9aab591f71aa913ad9b848d8cd406728c171470b) @@ -28,6 +28,7 @@ import org.lamsfoundation.lams.common.Progress; import org.lamsfoundation.lams.authoring.DesignDataModel; import org.lamsfoundation.lams.authoring.Activity; +import org.lamsfoundation.lams.authoring.SequenceActivity; import org.lamsfoundation.lams.authoring.Transition; /* @@ -315,6 +316,20 @@ if (ddmTransition.fromUIID == activity.activityUIID){ var ddm_activity:Activity = learningDesignModel.activities.get(ddmTransition.toUIID); + + if(ddm_activity.isBranchingActivity()) { + var children:Array = learningDesignModel.getComplexActivityChildren(ddm_activity.activityUIID); + Debugger.log("brancing child length: " + children.length, Debugger.CRITICAL, "orderDesign", "LessonModel"); + if(children.length > 0) { + for(var j=0; j < children.length; j++) { + if(Progress.compareProgressData(_progressData, children[i].activityID) == "attempted_mc" && children[i] instanceof SequenceActivity) { + orderDesign(learningDesignModel.activities.get(SequenceActivity(children[i].firstActivityUIID)), order); + Debugger.log("child is attempted (UIID): " + children[i].activityUIID, Debugger.CRITICAL, "orderDesign", "LessonModel"); + } + } + } + } + orderDesign(ddm_activity, order); } @@ -339,6 +354,31 @@ } + /** + private function getDesignToInsert():Object { + // check if Sequence Activity (Branching Activity child) is current activity + var insertObject = new Object(); + insertObject.array = new Array(); + insertObject.parent = null; + + var currentActivity:Activity = _learningDesignModel.getActivityByUIID(getActivityUIID(_progressData.getCurrentActivityId())); + + Debugger.log("current id: " + _progressData.getCurrentActivityId(), Debugger.CRITICAL, "getDesignToInsert", "LessonModel"); + Debugger.log("currentActivity: " + currentActivity.activityUIID, Debugger.CRITICAL, "getDesignToInsert", "LessonModel"); + + if(currentActivity.parentUIID != null) { + + insertObject.parent = _learningDesignModel.getActivityByUIID(currentActivity.parentUIID); + Debugger.log("parentActivity: " + insertObject.parent.title, Debugger.CRITICAL, "getDesignToInsert", "LessonModel"); + + if(currentActivity.isSequenceActivity()) { + orderDesign(currentActivity, insertObject.array); + } + } + + return insertObject; + } + */ public function setCurrentActivityOpen(ca:Object){ if(_currentActivityOpen != null && ca != null){ @@ -369,6 +409,9 @@ public function drawDesign(){ var indexArray:Array = setDesignOrder(); + //var insertObject:Object = getDesignToInsert(indexArray); + //Debugger.log("insert Object array length: " + insertObject.array.length, Debugger.CRITICAL, "updateDesign", "LessonModel"); + //go through the design and get the activities and transitions var dataObj:Object; ddmActivity_keys = learningDesignModel.activities.keys(); @@ -380,6 +423,8 @@ var ddm_activity:Activity = learningDesignModel.activities.get(keyToCheck); if(ddm_activity.parentActivityID > 0 || ddm_activity.parentUIID > 0){ + if(_learningDesignModel.getActivityByUIID(ddm_activity.parentUIID).isSequenceActivity()) + broadcastViewUpdate("UPDATE_ACTIVITY",ddm_activity); return; }else { broadcastViewUpdate("DRAW_ACTIVITY",ddm_activity); @@ -389,8 +434,14 @@ } public function updateDesign(){ + + var indexArray:Array = setDesignOrder(); + if(indexArray.length > activitiesDisplayed.length) { + removeAllActivities(indexArray); + } + //go through the design and get the activities and transitions var dataObj:Object; ddmActivity_keys = learningDesignModel.activities.keys(); @@ -402,14 +453,23 @@ var ddm_activity:Activity = learningDesignModel.activities.get(keyToCheck); + // need to check parentActivityID/parentUIID? if(ddm_activity.parentActivityID > 0 || ddm_activity.parentUIID > 0){ + if(_learningDesignModel.getActivityByUIID(ddm_activity.parentUIID).isSequenceActivity()) + broadcastViewUpdate("UPDATE_ACTIVITY",ddm_activity); return; } else { broadcastViewUpdate("UPDATE_ACTIVITY",ddm_activity); } } } + private function removeAllActivities(indexArray:Array):Void { + for(var i=0; i < indexArray.length; i++) { + broadcastViewUpdate("REMOVE_ACTIVITY", _learningDesignModel.getActivityByUIID(indexArray[i].activityUIID)); + } + } + public function broadcastViewUpdate(updateType, data){ setChanged(); Index: lams_flash/src/central/flash/org/lamsfoundation/lams/learner/ls/LessonView.as =================================================================== diff -u -rd7823922f404944822957e6c051bc0f1335a76de -r9aab591f71aa913ad9b848d8cd406728c171470b --- lams_flash/src/central/flash/org/lamsfoundation/lams/learner/ls/LessonView.as (.../LessonView.as) (revision d7823922f404944822957e6c051bc0f1335a76de) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/learner/ls/LessonView.as (.../LessonView.as) (revision 9aab591f71aa913ad9b848d8cd406728c171470b) @@ -23,7 +23,6 @@ import org.lamsfoundation.lams.learner.*; import org.lamsfoundation.lams.learner.ls.*; -import org.lamsfoundation.lams.learner.lb.*; import org.lamsfoundation.lams.common.*; import org.lamsfoundation.lams.common.mvc.*; @@ -208,6 +207,7 @@ var r = lm.activitiesDisplayed.remove(keys[i]); r.removeMovieClip(); } + ACT_X = -20; ACT_Y = 32.5; } @@ -253,10 +253,10 @@ //take action depending on act type - if(a.activityTypeID==Activity.TOOL_ACTIVITY_TYPE || a.isGroupActivity() ){ + if(a.activityTypeID==Activity.TOOL_ACTIVITY_TYPE || a.isGroupActivity() || a.isBranchingActivity()) { newActivity_mc = _activityLayer_mc.attachMovie("LearnerActivity", "LearnerActivity" + a.activityID, _activityLayer_mc.getNextHighestDepth(),{_activity:a,_controller:lc,_view:lv, _x:(progress_scp._width/2)-ACT_X_OFFSET, _y:ACT_Y, actLabel:activityTitle, learner:lm.progressData, _complex:false}); ACT_Y = newActivity_mc._y + ACTIVITY_OFFSET; - Debugger.log('The activity:'+a.title+','+a.activityTypeID+' is tool/gate/group activity',Debugger.CRITICAL,'drawActivity','LessonView'); + Debugger.log('The activity:'+a.title+','+a.activityTypeID+' is tool/gate/group/branching activity',Debugger.CRITICAL,'drawActivity','LessonView'); } else if(a.isGateActivity()){ newActivity_mc = _activityLayer_mc.attachMovie("LearnerGateActivity", "LearnerGateActivity" + a.activityID, _activityLayer_mc.getNextHighestDepth(),{_activity:a,_controller:lc,_view:lv, _x:(progress_scp._width/2)-ACT_X_OFFSET, _y:ACT_Y, actLabel:activityTitle, learner:lm.progressData, _complex:false}); ACT_Y = newActivity_mc._y + ACTIVITY_OFFSET; Index: lams_flash/src/common/flash/assets/tools/CreateDictionary.swf =================================================================== diff -u -rd7823922f404944822957e6c051bc0f1335a76de -r9aab591f71aa913ad9b848d8cd406728c171470b Binary files differ Index: lams_flash/src/common/flash/org/lamsfoundation/lams/common/LearnerActivity.as =================================================================== diff -u -rd7823922f404944822957e6c051bc0f1335a76de -r9aab591f71aa913ad9b848d8cd406728c171470b --- lams_flash/src/common/flash/org/lamsfoundation/lams/common/LearnerActivity.as (.../LearnerActivity.as) (revision d7823922f404944822957e6c051bc0f1335a76de) +++ lams_flash/src/common/flash/org/lamsfoundation/lams/common/LearnerActivity.as (.../LearnerActivity.as) (revision 9aab591f71aa913ad9b848d8cd406728c171470b) @@ -102,7 +102,7 @@ if(_activity.isGateActivity()){ _visibleHeight = LearnerActivity.GATE_ACTIVITY_HEIGHT; _visibleWidth = LearnerActivity.GATE_ACTIVITY_WIDTH; - }else if(_activity.isGroupActivity()){ + }else if(_activity.isGroupActivity() || _activity.isBranchingActivity()) { _visibleHeight = LearnerActivity.TOOL_ACTIVITY_HEIGHT; _visibleWidth = LearnerActivity.TOOL_ACTIVITY_WIDTH; } Index: lams_learning/web/lams_learner.swf =================================================================== diff -u -rc2cf0c1b4fbc1927b69868d34f96a3549b149a86 -r9aab591f71aa913ad9b848d8cd406728c171470b Binary files differ