Index: lams_central/web/lams_authoring.swf =================================================================== diff -u -rfac75089b85eb830ca0d5863e3ba44e2ff9e08c3 -r8499a7e0ba9d82c35d27fa14f41428003fe427ce Binary files differ Index: lams_central/web/lams_authoring_library.swf =================================================================== diff -u -rfac75089b85eb830ca0d5863e3ba44e2ff9e08c3 -r8499a7e0ba9d82c35d27fa14f41428003fe427ce Binary files differ Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Activity.as =================================================================== diff -u -r5ebc04888c42799642c9249df906922db6af4450 -r8499a7e0ba9d82c35d27fa14f41428003fe427ce --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Activity.as (.../Activity.as) (revision 5ebc04888c42799642c9249df906922db6af4450) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Activity.as (.../Activity.as) (revision 8499a7e0ba9d82c35d27fa14f41428003fe427ce) @@ -88,6 +88,7 @@ public static var CHOSEN_BRANCHING_ACTIVITY_TYPE:Number = 10; public static var GROUP_BRANCHING_ACTIVITY_TYPE:Number = 11; public static var TOOL_BRANCHING_ACTIVITY_TYPE:Number = 12; + public static var OPTIONS_WITH_SEQUENCES_TYPE:Number = 13; /******************************************************************/ @@ -251,7 +252,7 @@ } public function isOptionalSequenceActivity(parent:Activity):Boolean { - return (this.isSequenceActivity() && parent.isOptionalActivity()); + return (this.isSequenceActivity() && parent.activityTypeID == OPTIONS_WITH_SEQUENCES_TYPE); } public function isParallelActivity():Boolean{ Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/ComplexActivity.as =================================================================== diff -u -r1aa870575978de0fbe4b5ab485f47d85d9b3c0be -r8499a7e0ba9d82c35d27fa14f41428003fe427ce --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/ComplexActivity.as (.../ComplexActivity.as) (revision 1aa870575978de0fbe4b5ab485f47d85d9b3c0be) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/ComplexActivity.as (.../ComplexActivity.as) (revision 8499a7e0ba9d82c35d27fa14f41428003fe427ce) @@ -43,7 +43,6 @@ private var _firstActivityUIID:Number; - private var _isSequenceBased:Boolean; private var _noSequences:Number; function ComplexActivity(activityUIID:Number){ @@ -165,13 +164,9 @@ } public function get isSequenceBased():Boolean{ - return _isSequenceBased; + return (_activityTypeID == Activity.OPTIONS_WITH_SEQUENCES_TYPE); } - public function set isSequenceBased(a:Boolean):Void{ - _isSequenceBased = a; - } - public function get noSequences():Number{ return _noSequences; } Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/DesignDataModel.as =================================================================== diff -u -rfac75089b85eb830ca0d5863e3ba44e2ff9e08c3 -r8499a7e0ba9d82c35d27fa14f41428003fe427ce --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/DesignDataModel.as (.../DesignDataModel.as) (revision fac75089b85eb830ca0d5863e3ba44e2ff9e08c3) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/DesignDataModel.as (.../DesignDataModel.as) (revision 8499a7e0ba9d82c35d27fa14f41428003fe427ce) @@ -487,7 +487,7 @@ _activities.put(newGateActivity.activityUIID,newGateActivity); - } else if(dto.activityTypeID == Activity.OPTIONAL_ACTIVITY_TYPE || dto.activityTypeID == Activity.PARALLEL_ACTIVITY_TYPE){ + } else if(dto.activityTypeID == Activity.OPTIONAL_ACTIVITY_TYPE || dto.activityTypeID == Activity.PARALLEL_ACTIVITY_TYPE || dto.activityTypeID == Activity.OPTIONS_WITH_SEQUENCES_TYPE){ //TODO: Test this! var cAct:ComplexActivity= new ComplexActivity(dto.activityUIID); Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as =================================================================== diff -u -r3029038bc804418124ff5e6ba6534a03a3382581 -r8499a7e0ba9d82c35d27fa14f41428003fe427ce --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as (.../CanvasBranchView.as) (revision 3029038bc804418124ff5e6ba6534a03a3382581) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as (.../CanvasBranchView.as) (revision 8499a7e0ba9d82c35d27fa14f41428003fe427ce) @@ -439,7 +439,7 @@ cm.activitiesDisplayed.put(a.activityUIID,newActivity_mc); Debugger.log('Parallel activity a.title:'+a.title+','+a.activityUIID+' added to the cm.activitiesDisplayed hashtable :'+newActivity_mc,4,'drawActivity','CanvasBranchView'); } - else if(a.activityTypeID==Activity.OPTIONAL_ACTIVITY_TYPE){ + else if(a.activityTypeID==Activity.OPTIONAL_ACTIVITY_TYPE || a.activityTypeID==Activity.OPTIONS_WITH_SEQUENCES_TYPE){ var children:Array = cm.getCanvas().ddm.getComplexActivityChildren(a.activityUIID); var newActivity_mc = (_module != "monitoring") ? activityLayer.createChildAtDepth("CanvasOptionalActivity",DepthManager.kTop,{_activity:a,_children:children, _canvasController:cbc,_canvasBranchView:cbv,_locked:a.isReadOnly()}) Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasActivity.as =================================================================== diff -u -rbcf9450991007fe65f3b373b83da167905ba3fd0 -r8499a7e0ba9d82c35d27fa14f41428003fe427ce --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasActivity.as (.../CanvasActivity.as) (revision bcf9450991007fe65f3b373b83da167905ba3fd0) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasActivity.as (.../CanvasActivity.as) (revision 8499a7e0ba9d82c35d27fa14f41428003fe427ce) @@ -732,6 +732,10 @@ _depthHistory = a; } + public function get actChildren():Array { + return getDDM().getComplexActivityChildren(activity.activityUIID) + } + private function getDDM():DesignDataModel { if(_module == "monitoring") { return _monitorView.ddm; Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as =================================================================== diff -u -rfac75089b85eb830ca0d5863e3ba44e2ff9e08c3 -r8499a7e0ba9d82c35d27fa14f41428003fe427ce --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as (.../CanvasController.as) (revision fac75089b85eb830ca0d5863e3ba44e2ff9e08c3) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as (.../CanvasController.as) (revision 8499a7e0ba9d82c35d27fa14f41428003fe427ce) @@ -560,7 +560,8 @@ private function isActivityOnBin(ca:Object):Void{ if (ca.hitTest(_canvasModel.getCanvas().bin)) { if(!isActivityReadOnly(ca, Dictionary.getValue("cv_element_readOnly_action_del")) && !ca.branchConnector && !isActivityProtected(ca)) { - if (ca.activity.activityTypeID == Activity.OPTIONAL_ACTIVITY_TYPE || ca.activity.activityTypeID == Activity.PARALLEL_ACTIVITY_TYPE){ + if (ca.activity.activityTypeID == Activity.OPTIONAL_ACTIVITY_TYPE || ca.activity.activityTypeID == Activity.OPTIONS_WITH_SEQUENCES_TYPE || ca.activity.activityTypeID == Activity.PARALLEL_ACTIVITY_TYPE || ca.activity.isBranchingActivity()){ + Debugger.log("removing complex act that hit bin" , Debugger.CRITICAL, "isActivityOnBin", "CanvasController"); _canvasModel.removeComplexActivity(ca); } else { _canvasModel.removeActivityOnBin(ca.activity.activityUIID); Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as =================================================================== diff -u -r19c6d29c65bbf38f01f6e4f921718531ec462eff -r8499a7e0ba9d82c35d27fa14f41428003fe427ce --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as (.../CanvasModel.as) (revision 19c6d29c65bbf38f01f6e4f921718531ec462eff) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as (.../CanvasModel.as) (revision 8499a7e0ba9d82c35d27fa14f41428003fe427ce) @@ -279,13 +279,12 @@ var optAct = new ComplexActivity(_cv.ddm.newUIID()); optAct.learningDesignID = _cv.ddm.learningDesignID; - optAct.activityTypeID = Activity.OPTIONAL_ACTIVITY_TYPE; + optAct.activityTypeID = (!isSequence) ? Activity.OPTIONAL_ACTIVITY_TYPE : Activity.OPTIONS_WITH_SEQUENCES_TYPE; optAct.title = (!isSequence) ? Dictionary.getValue('opt_activity_title') : Dictionary.getValue('opt_activity_seq_title'); optAct.groupingSupportType = Activity.GROUPING_SUPPORT_OPTIONAL; optAct.activityCategoryID = Activity.CATEGORY_SYSTEM; optAct.yCoord = pos.y; optAct.xCoord = pos.x; - optAct.isSequenceBased = (isSequence) ? isSequence : false; Debugger.log('Optional Activitys Y Coord is :'+optAct.yCoord,Debugger.GEN,'createNewOptionalActivity','CanvasModel'); Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasSuperModel.as =================================================================== diff -u -ra5d2c421e1c88acf6f2827ec2061d43ff886b628 -r8499a7e0ba9d82c35d27fa14f41428003fe427ce --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasSuperModel.as (.../CanvasSuperModel.as) (revision a5d2c421e1c88acf6f2827ec2061d43ff886b628) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasSuperModel.as (.../CanvasSuperModel.as) (revision 8499a7e0ba9d82c35d27fa14f41428003fe427ce) @@ -219,21 +219,10 @@ //check for a new act in the dmm if(cm_activity == null || cm_activity == undefined){ - if(ddm_activity.isOptionalActivity()) - setOptionalType(ComplexActivity(ddm_activity)); return r = "NEW"; } } - private function setOptionalType(optional:ComplexActivity):Void { - var _optChildren:Array = _cv.ddm.getComplexActivityChildren(optional.activityUIID); - for(var i=0; i<_optChildren.length; i++) - optional.isSequenceBased = _optChildren[i].isSequenceActivity(); - - if(optional.isSequenceBased) - optional.noSequences = _optChildren.length; - } - /** * Compares 2 transitions, decides if they are new, the same or to be deleted * @usage @@ -567,7 +556,7 @@ var k:Array = _activitiesDisplayed.values(); for (var i=0; i