Index: lams_central/src/flash/org/lamsfoundation/lams/authoring/DesignDataModel.as =================================================================== diff -u -r1018899505928e10f18912d31942e52d60e256e6 -r6e170f3afbfa8a2684a355204df17d8a57014544 --- lams_central/src/flash/org/lamsfoundation/lams/authoring/DesignDataModel.as (.../DesignDataModel.as) (revision 1018899505928e10f18912d31942e52d60e256e6) +++ lams_central/src/flash/org/lamsfoundation/lams/authoring/DesignDataModel.as (.../DesignDataModel.as) (revision 6e170f3afbfa8a2684a355204df17d8a57014544) @@ -186,12 +186,26 @@ Debugger.log('Transition from:'+transition.fromUIID+', to:'+transition.toUIID,4,'addActivity','DesignDataModel'); _transitions.put(transition.transitionUIID,transition); - dispatchEvent({type:'ddmUpdate',target:this}); + dispatchEvent({type:'ddmUpdate',target:this}); //TODO some validation would be nice return true; } + public function addGrouping(grp:Grouping):Object{ + //dispatch an event to show the design is going to change + dispatchEvent({type:'ddmBeforeUpdate',target:this}); + Debugger.log('groupingUIID:'+grp.groupingUIID,Debugger.GEN,'addGrouping','DesignDataModel'); + var r = _groupings.put(grp.groupingUIID,grp); + if(r){ + return r; + }else{ + return new LFError("Adding grouping to hashtable failed","addGrouping",this,'groupingUIID:'+grp.groupingUIID); + } + + + } + /** * Sets a new design for the DDM. * note the design must be empty to call this, use clearCanvas(true) @@ -240,7 +254,7 @@ _activities.put(newToolActivity.activityUIID,newToolActivity); }else if(dto.objectType = "ComplexActivity"){ - + //TODO: add support for Parallel and Optional activity } } @@ -258,6 +272,8 @@ newTransition.transitionID = tdto.transitionID; _transitions.put(newTransition.transitionUIID,newTransition); } + + //add a loop for the groupings. return success; }