Index: lams_central/web/lams_authoring.swf =================================================================== diff -u -r787440b6e10d137b05e2c864bb25255d17a76650 -r64f42c88ebf08393b1c53bbd00c3cd4fec211c10 Binary files differ Index: lams_central/web/lams_authoring_library.swf =================================================================== diff -u -r787440b6e10d137b05e2c864bb25255d17a76650 -r64f42c88ebf08393b1c53bbd00c3cd4fec211c10 Binary files differ Index: lams_flash/src/central/flash/lams_authoring.fla =================================================================== diff -u -rb89a7defd5e485d5d4b08f0b55a19e27eb731576 -r64f42c88ebf08393b1c53bbd00c3cd4fec211c10 Binary files differ Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Activity.as =================================================================== diff -u -r7b65bab3de4ed5068c5631a245c30cb4eaa8f098 -r64f42c88ebf08393b1c53bbd00c3cd4fec211c10 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Activity.as (.../Activity.as) (revision 7b65bab3de4ed5068c5631a245c30cb4eaa8f098) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Activity.as (.../Activity.as) (revision 64f42c88ebf08393b1c53bbd00c3cd4fec211c10) @@ -92,6 +92,7 @@ public static var SYNCH_GATE_ACTIVITY_TYPE:Number = 3; public static var SCHEDULE_GATE_ACTIVITY_TYPE:Number = 4; public static var PERMISSION_GATE_ACTIVITY_TYPE:Number = 5; + public static var CONDITION_GATE_ACTIVITY_TYPE:Number = 14; public static var PARALLEL_ACTIVITY_TYPE:Number = 6; public static var OPTIONAL_ACTIVITY_TYPE:Number = 7; public static var SEQUENCE_ACTIVITY_TYPE:Number = 8; @@ -100,7 +101,7 @@ 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; - + /******************************************************************/ /** @@ -207,6 +208,7 @@ */ public static function getGateActivityTypes():Array{ var types:Array = []; + types.addItem({label: Dictionary.getValue('branch_mapping_dlg_condition_col_lbl'), data: CONDITION_GATE_ACTIVITY_TYPE}); types.addItem({label: Dictionary.getValue('synch_act_lbl'), data: SYNCH_GATE_ACTIVITY_TYPE}); types.addItem({label: Dictionary.getValue('sched_act_lbl'), data: SCHEDULE_GATE_ACTIVITY_TYPE}); types.addItem({label: Dictionary.getValue('perm_act_lbl'), data: PERMISSION_GATE_ACTIVITY_TYPE}); @@ -238,6 +240,8 @@ return true; }else if (_activityTypeID == SYSTEM_GATE_ACTIVITY_TYPE){ return true; + }else if (_activityTypeID == CONDITION_GATE_ACTIVITY_TYPE){ + return true; }else{ return false; } @@ -492,8 +496,8 @@ public function get learningLibraryID():Number{ return _learningLibraryID; - } - + } + public function set learningDesignID(a:Number):Void{ _learningDesignID = a; } Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/ActivityEntry.as =================================================================== diff -u --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/ActivityEntry.as (revision 0) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/ActivityEntry.as (revision 64f42c88ebf08393b1c53bbd00c3cd4fec211c10) @@ -0,0 +1,55 @@ +/*************************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * ************************************************************************ + */ + +import org.lamsfoundation.lams.authoring.*; + +/** + * Activity Entry for Branching activities and Tool Output based gates + * @version 2.1.1 + **/ +class ActivityEntry { + + private var _entryID:Number; + private var _entryUIID:Number; + + function ActivityEntry(entryID:Number, entryUIID:Number){ + this.entryID = entryID; + this.entryUIID = entryUIID; + } + + public function set entryID(a:Number) { + _entryID = a; + } + + public function get entryID():Number { + return _entryID; + } + + public function set entryUIID(a:Number) { + _entryUIID = a; + } + + public function get entryUIID():Number { + return _entryUIID; + } +} \ No newline at end of file Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Application.as =================================================================== diff -u -r7b65bab3de4ed5068c5631a245c30cb4eaa8f098 -r64f42c88ebf08393b1c53bbd00c3cd4fec211c10 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Application.as (.../Application.as) (revision 7b65bab3de4ed5068c5631a245c30cb4eaa8f098) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Application.as (.../Application.as) (revision 64f42c88ebf08393b1c53bbd00c3cd4fec211c10) @@ -186,6 +186,8 @@ _root.preloader.start(COMMON_COMPONENT_NO + layout_component_no); + _root._quality = "HIGH"; + _customCursor_mc = _container_mc.createEmptyMovieClip('_customCursor_mc', CCURSOR_DEPTH); //add the cursors: Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/BranchActivityEntry.as =================================================================== diff -u -r569040a69574de6e225967aed31288da54936850 -r64f42c88ebf08393b1c53bbd00c3cd4fec211c10 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/BranchActivityEntry.as (.../BranchActivityEntry.as) (revision 569040a69574de6e225967aed31288da54936850) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/BranchActivityEntry.as (.../BranchActivityEntry.as) (revision 64f42c88ebf08393b1c53bbd00c3cd4fec211c10) @@ -26,34 +26,21 @@ /** * * @author Mitchell Seaton - * @version 2.1 + * @author Daniel Carlier + * @version 2.1.1 **/ -class BranchActivityEntry { +class BranchActivityEntry extends ActivityEntry { - private var _entryID:Number; - private var _entryUIID:Number; private var _sequenceActivity:SequenceActivity; private var _branchingActivity:BranchingActivity; - function BranchActivityEntry(){ + function BranchActivityEntry(entryID:Number, entryUIID:Number, sequenceActivity:SequenceActivity, branchingActivity:BranchingActivity){ + super(entryID, entryUIID); + + this.sequenceActivity = sequenceActivity; + this.branchingActivity = branchingActivity; } - public function set entryID(a:Number) { - _entryID = a; - } - - public function get entryID():Number { - return _entryID; - } - - public function set entryUIID(a:Number) { - _entryUIID = a; - } - - public function get entryUIID():Number { - return _entryUIID; - } - public function set sequenceActivity(a:SequenceActivity) { _sequenceActivity = a; } Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/DesignDataModel.as =================================================================== diff -u -r7b65bab3de4ed5068c5631a245c30cb4eaa8f098 -r64f42c88ebf08393b1c53bbd00c3cd4fec211c10 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/DesignDataModel.as (.../DesignDataModel.as) (revision 7b65bab3de4ed5068c5631a245c30cb4eaa8f098) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/DesignDataModel.as (.../DesignDataModel.as) (revision 64f42c88ebf08393b1c53bbd00c3cd4fec211c10) @@ -49,7 +49,7 @@ public static var COPY_TYPE_ID_AUTHORING:Number = 1; public static var COPY_TYPE_ID_RUN:Number = 2; - public static var COPY_TYPE_ID_PREVIEW:Number = 3; + public static var COPY_TYPE_ID_PREVIEW:Number = 3; //LearningDesign Properties: private var _objectType:String; @@ -340,7 +340,7 @@ //dispatch an event to show the design has changed dispatchEvent({type:'ddmBeforeUpdate',target:this}); - Debugger.log('Branch Mapping entry:' + entry.entryUIID,4,'addBranchMapping','DesignDataModel'); + Debugger.log('Branch Mapping entryUIID:' + entry.entryUIID,4,'addBranchMapping','DesignDataModel'); _branchMappings.put(entry.entryUIID, entry); dispatchEvent({type:'ddmUpdate',target:this}); @@ -499,7 +499,8 @@ } else if(dto.activityTypeID == Activity.SYNCH_GATE_ACTIVITY_TYPE || dto.activityTypeID == Activity.SCHEDULE_GATE_ACTIVITY_TYPE || dto.activityTypeID == Activity.PERMISSION_GATE_ACTIVITY_TYPE || - dto.activityTypeID == Activity.SYSTEM_GATE_ACTIVITY_TYPE ) { + dto.activityTypeID == Activity.SYSTEM_GATE_ACTIVITY_TYPE || + dto.activityTypeID == Activity.CONDITION_GATE_ACTIVITY_TYPE) { var newGateActivity:GateActivity = new GateActivity(dto.activityUIID); newGateActivity.populateFromDTO(dto); @@ -565,7 +566,7 @@ for(var i=0; i 0) - for(var i=0; iLoading Lists", Debugger.CRITICAL, "loadLists", "GateConditionMatchingDialog"); + Debugger.log("Loading Lists: conditions length: " + conditions.length, Debugger.CRITICAL, "loadLists", "GateConditionMatchingDialog"); + + conditions_lst.dataProvider = conditions; + conditions_lst.sortItemsBy("conditionUIID", Array.NUMERIC); + conditions_lst.labelField = "displayName"; + conditions_lst.hScrollPolicy = "on"; + conditions_lst.maxHPosition = 200; + + var gateStates:Array = new Array(); + var openState:ObjState = new ObjState(Dictionary.getValue("gate_open"), "open"); + var closedState:ObjState = new ObjState(Dictionary.getValue("gate_closed"), "closed"); + + gateStates.push(openState); + gateStates.push(closedState); + + gate_lst.dataProvider = gateStates; + gate_lst.labelField = "displayText"; + gate_lst.hScrollPolicy = "on"; + gate_lst.maxHPosition = 200; + + var column_condition:DataGridColumn = new DataGridColumn("displayName"); + column_condition.headerText = Dictionary.getValue("branch_mapping_dlg_condition_col_lbl"); + column_condition.width = match_dgd.width/2; + + var column_gate:DataGridColumn = new DataGridColumn("gateStateDisplayText"); + column_gate.headerText = "Gate"; + column_gate.width = match_dgd.width/2; + match_dgd.addColumn(column_condition); + match_dgd.addColumn(column_gate); + + var mappings:Array = app.getCanvas().ddm.getBranchMappingsByActivityUIIDAndType(gateActivity.activityUIID).toolBased; + + Debugger.log("GateConditionMatchingDialog->loadLists->mappings.length: "+mappings.length, Debugger.CRITICAL, "loadLists", "GateConditionMatchingDialog"); + + for(var i=0; i < mappings.length; i++) { + // mappings[i].condition.gateActivity won't exist for normal branchMappings, hence the check will fail for that case + if(mappings[i].condition.toolActivity.activityUIID == _gateActivity.toolActivityUIID && + mappings[i].condition.gateActivity.activityUIID == _gateActivity.activityUIID) { + match_dgd.addItem(mappings[i]); + removeCondition(mappings[i].condition); + } + } + } + + /** + * Event fired by StyleManager class to notify listeners that Theme has changed + * it is up to listeners to then query Style Manager for relevant style info + */ + public function themeChanged(event:Object):Void{ + if(event.type=='themeChanged') { + setStyles(); + }else { + Debugger.log('themeChanged event broadcast with an object.type not equal to "themeChanged"',Debugger.CRITICAL,'themeChanged','ConditionMatchingDialog'); + } + } + + private function removeCondition(c:ToolOutputCondition) { + var indexList:Array = new Array(); + + for(var i=0; i 0) { + + for(var i=0; i 0) { + LFMessage.showMessageAlert(Dictionary.getValue("gate_mapping_auto_condition_msg"), Proxy.create(this, cleanupUnmappedConditions)); + } else { + _container.deletePopUp(); + } + } + + private function cleanupUnmappedConditions(){ + Debugger.log("clearing all unmapped conditions: " + conditions_lst.length, Debugger.CRITICAL, "cleanupUnmappedConditions", "GateConditionMatchingDialog"); + + for(var i=0; i < conditions_lst.length; i++) { + setupMatch(conditions_lst.getItemAt(i), new ObjState("closed")); + } + + conditions_lst.removeAll(); + app.getCanvas().ddm.conditions.clear(); + + close(); + } + + /** + * Event dispatched by parent container when close button clicked + */ + public function click(e:Object):Void{ + close(); + } + + public function set conditions(a:Array){ + _primary = a; + } + + public function get conditions():Array{ + return _primary; + } + + public function get conditions_lst():List { + return primary_lst; + } + + public function get conditions_label():Label { + return primary_lst_lbl; + } + + public function get gate_lst():List { + return secondary_lst; + } + + public function get gate_label():Label { + return secondary_lst_lbl; + } + + public function set gateActivity(a:GateActivity) { + _gateActivity = a; + } + + public function get gateActivity():GateActivity { + return _gateActivity; + } + +} \ No newline at end of file Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/ToolOutputBranchActivityEntry.as =================================================================== diff -u -r7b65bab3de4ed5068c5631a245c30cb4eaa8f098 -r64f42c88ebf08393b1c53bbd00c3cd4fec211c10 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/ToolOutputBranchActivityEntry.as (.../ToolOutputBranchActivityEntry.as) (revision 7b65bab3de4ed5068c5631a245c30cb4eaa8f098) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/ToolOutputBranchActivityEntry.as (.../ToolOutputBranchActivityEntry.as) (revision 64f42c88ebf08393b1c53bbd00c3cd4fec211c10) @@ -26,17 +26,15 @@ /** * * @author Mitchell Seaton - * @version 2.1 + * @author Daniel Carlier + * @version 2.1.1 **/ class ToolOutputBranchActivityEntry extends BranchActivityEntry { private var _condition:ToolOutputCondition; function ToolOutputBranchActivityEntry(entryID:Number, entryUIID:Number, condition:ToolOutputCondition, sequenceActivity:SequenceActivity, branchingActivity:BranchingActivity){ - this.entryID = entryID; - this.entryUIID = entryUIID; - this.sequenceActivity = sequenceActivity; - this.branchingActivity = branchingActivity; + super(entryID, entryUIID, sequenceActivity, branchingActivity); this.condition = condition; this.condition.branchingActivity = branchingActivity; @@ -66,5 +64,4 @@ public function get displayName():String { return _condition.displayName; } - } \ No newline at end of file Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/ToolOutputCondition.as =================================================================== diff -u -r7b65bab3de4ed5068c5631a245c30cb4eaa8f098 -r64f42c88ebf08393b1c53bbd00c3cd4fec211c10 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/ToolOutputCondition.as (.../ToolOutputCondition.as) (revision 7b65bab3de4ed5068c5631a245c30cb4eaa8f098) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/ToolOutputCondition.as (.../ToolOutputCondition.as) (revision 64f42c88ebf08393b1c53bbd00c3cd4fec211c10) @@ -43,9 +43,12 @@ private var _endValue:Object; private var _exactMatchValue:Object; + // the activity which takes the condition and uses it will either be a gate activity or a branching activity + private var _gateActivity:GateActivity; private var _branchingActivity:BranchingActivity; - private var _toolActivity:ToolActivity; + private var _toolActivity:ToolActivity; // the source of the condition + private var _isDefault:Boolean; function ToolOutputCondition(conditionID:Number, conditionUIID:Number, name:String, type:String, startValue:Object, endValue:Object, exactMatchValue:Object, displayName:String){ @@ -63,7 +66,7 @@ _isDefault = false; } - public static function createBoolCondition(UIID:Number, definition:ToolOutputDefinition, toolActivity:ToolActivity, branchingActivity:BranchingActivity, value:Boolean):ToolOutputCondition { + public static function createBoolCondition(UIID:Number, definition:ToolOutputDefinition, toolActivity:ToolActivity, branchingActivity:BranchingActivity, gateActivity:GateActivity, value:Boolean):ToolOutputCondition { var condition:ToolOutputCondition = new ToolOutputCondition(); condition.conditionUIID = UIID; @@ -73,13 +76,16 @@ condition.displayName = definition.type + " (" + String(value) + ") "; condition.exactMatchValue = value; condition.toolActivity = toolActivity; - condition.branchingActivity = branchingActivity; + + // only one of these (branchingActivity/gateActivity) will be valid for a particular condition, might be an idea to abstact to activity later + condition.branchingActivity = branchingActivity; + condition.gateActivity = gateActivity; } return condition; } - public static function createLongCondition(UIID:Number, displayName:String, definition:ToolOutputDefinition, toolActivity:ToolActivity, branchingActivity:BranchingActivity, startValue:Number, endValue:Number):ToolOutputCondition { + public static function createLongCondition(UIID:Number, displayName:String, definition:ToolOutputDefinition, toolActivity:ToolActivity, branchingActivity:BranchingActivity, gateActivity:GateActivity, startValue:Number, endValue:Number):ToolOutputCondition { var condition:ToolOutputCondition = new ToolOutputCondition(); condition.conditionUIID = UIID; @@ -97,6 +103,7 @@ condition.toolActivity = toolActivity; condition.branchingActivity = branchingActivity; + condition.gateActivity = gateActivity; } return condition; @@ -224,6 +231,14 @@ public function get branchingActivity():BranchingActivity { return _branchingActivity; } + + public function set gateActivity(a:GateActivity) { + _gateActivity = a; + } + + public function get gateActivity():GateActivity { + return _gateActivity; + } public function set isDefault(a:Boolean) { _isDefault = a; Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/ToolOutputGateActivityEntry.as =================================================================== diff -u --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/ToolOutputGateActivityEntry.as (revision 0) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/ToolOutputGateActivityEntry.as (revision 64f42c88ebf08393b1c53bbd00c3cd4fec211c10) @@ -0,0 +1,85 @@ +/*************************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * ************************************************************************ + */ + +import org.lamsfoundation.lams.authoring.*; // imports in super classes prob not needed +import org.lamsfoundation.lams.common.util.Debugger; // remove +import org.lamsfoundation.lams.common.dict.Dictionary; + +/** + * + * @author Daniel Carlier + * @version 2.1.1 + **/ +class ToolOutputGateActivityEntry extends GateActivityEntry { + + private var _condition:ToolOutputCondition; + private var _gateOpenWhenConditionMet:Boolean; + + function ToolOutputGateActivityEntry(entryID:Number, entryUIID:Number, gateActivity:GateActivity, condition:ToolOutputCondition, gateOpenWhenConditionMet:Boolean){ + super(entryID, entryUIID, gateActivity); + + this.condition = condition; + this.condition.gateActivity = gateActivity; + + this.gateOpenWhenConditionMet = gateOpenWhenConditionMet; + } + + public function toData():Object { + var dto:Object = new Object(); + + if(this.entryID) dto.entryID = this.entryID; + if(this.entryUIID) dto.entryUIID = this.entryUIID; + if(this.gateActivity) dto.gateActivityUIID = this.gateActivity.activityUIID; + if(this.condition) dto.condition = _condition.toData(dto); + if(this.gateOpenWhenConditionMet != null) dto.gateOpenWhenConditionMet = this.gateOpenWhenConditionMet; + + return dto; + } + + public function get condition():ToolOutputCondition { + return _condition; + } + + public function set condition(a:ToolOutputCondition):Void { + _condition = a; + } + + /* + * @return _gateOpenWhenConditionMet Boolean value to see if the gate should be open when this condition is met + */ + public function get gateOpenWhenConditionMet():Boolean { + return _gateOpenWhenConditionMet; + } + + public function set gateOpenWhenConditionMet(a:Boolean):Void { + _gateOpenWhenConditionMet = a; + } + + public function get displayName():String { + return _condition.displayName; + } + + public function get gateStateDisplayText():String { + return (gateOpenWhenConditionMet) ? Dictionary.getValue("gate_open") : Dictionary.getValue("gate_closed"); + } +} \ No newline at end of file Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/BranchMappingDialog.as =================================================================== diff -u -r7b65bab3de4ed5068c5631a245c30cb4eaa8f098 -r64f42c88ebf08393b1c53bbd00c3cd4fec211c10 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/BranchMappingDialog.as (.../BranchMappingDialog.as) (revision 7b65bab3de4ed5068c5631a245c30cb4eaa8f098) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/BranchMappingDialog.as (.../BranchMappingDialog.as) (revision 64f42c88ebf08393b1c53bbd00c3cd4fec211c10) @@ -164,7 +164,7 @@ * Called by the OK button */ private function close(){ - Debugger.log('OK Clicked',Debugger.GEN,'ok','org.lamsfoundation.lams.GroupMatchingDialog'); + Debugger.log('OK Clicked',Debugger.GEN,'ok','org.lamsfoundation.lams.authoring.br.BranchMappingDialog'); //close popup _container.deletePopUp(); Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/ToolOutputConditionsDialog.as =================================================================== diff -u -r41f90be3960b8b778b427025961e577ffc95b80a -r64f42c88ebf08393b1c53bbd00c3cd4fec211c10 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/ToolOutputConditionsDialog.as (.../ToolOutputConditionsDialog.as) (revision 41f90be3960b8b778b427025961e577ffc95b80a) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/ToolOutputConditionsDialog.as (.../ToolOutputConditionsDialog.as) (revision 64f42c88ebf08393b1c53bbd00c3cd4fec211c10) @@ -20,10 +20,12 @@ * http://www.gnu.org/licenses/gpl.txt * ************************************************************************ */ - + +import org.lamsfoundation.lams.authoring.Activity; import org.lamsfoundation.lams.authoring.br.*; import org.lamsfoundation.lams.authoring.Application; import org.lamsfoundation.lams.authoring.BranchingActivity; +import org.lamsfoundation.lams.authoring.GateActivity; import org.lamsfoundation.lams.authoring.ToolActivity; import org.lamsfoundation.lams.authoring.ToolOutputDefinition; import org.lamsfoundation.lams.authoring.ToolOutputCondition; @@ -105,6 +107,8 @@ private var _itemCount:Number; private var _branchingActivity:BranchingActivity; + private var _gateActivity:GateActivity; + private var _toolActivity:ToolActivity; //These are defined so that the compiler can 'see' the events that are added at runtime by EventDispatcher @@ -162,8 +166,6 @@ xOkOffset = _bgpanel._width - close_btn._x; yOkOffset = _bgpanel._height - close_btn._y; - _condition_item_dgd.selectable = false; - //Register as listener with StyleManager and set Styles themeManager.addEventListener('themeChanged',this); @@ -333,11 +335,11 @@ private function addButton_onPress():Void { if(validateCondition(_selectedDefinition)) if(_toolOutputLongOptions_cmb.selectedItem.data == OPTION_GTE) - addCondition(ToolOutputCondition.createLongCondition(app.getCanvas().ddm.newUIID(), Dictionary.getValue("to_condition_untitled_item_lbl", [Number(_condition_item_dgd.length+1)]), _selectedDefinition, _toolActivity, _branchingActivity, _start_value_stp.value, null)); + addCondition(ToolOutputCondition.createLongCondition(app.getCanvas().ddm.newUIID(), Dictionary.getValue("to_condition_untitled_item_lbl", [Number(_condition_item_dgd.length+1)]), _selectedDefinition, _toolActivity, _branchingActivity, _gateActivity, _start_value_stp.value, null)); else if(_toolOutputLongOptions_cmb.selectedItem.data == OPTION_LTE) - addCondition(ToolOutputCondition.createLongCondition(app.getCanvas().ddm.newUIID(), Dictionary.getValue("to_condition_untitled_item_lbl", [Number(_condition_item_dgd.length+1)]), _selectedDefinition, _toolActivity, _branchingActivity, null, _start_value_stp.value)); + addCondition(ToolOutputCondition.createLongCondition(app.getCanvas().ddm.newUIID(), Dictionary.getValue("to_condition_untitled_item_lbl", [Number(_condition_item_dgd.length+1)]), _selectedDefinition, _toolActivity, _branchingActivity, _gateActivity, null, _start_value_stp.value)); else - addCondition(ToolOutputCondition.createLongCondition(app.getCanvas().ddm.newUIID(), Dictionary.getValue("to_condition_untitled_item_lbl", [Number(_condition_item_dgd.length+1)]), _selectedDefinition, _toolActivity, _branchingActivity, _start_value_stp.value, _end_value_stp.value)); + addCondition(ToolOutputCondition.createLongCondition(app.getCanvas().ddm.newUIID(), Dictionary.getValue("to_condition_untitled_item_lbl", [Number(_condition_item_dgd.length+1)]), _selectedDefinition, _toolActivity, _branchingActivity, _gateActivity, _start_value_stp.value, _end_value_stp.value)); } private function helpButton_onPress():Void { @@ -533,9 +535,14 @@ } private function itemChanged(evt:Object):Void { + + + if(_selectedIndex == _toolOutputDefin_cmb.selectedIndex) return; + + _toolOutputLongOptions_cmb.selectedIndex = 0; if(app.getCanvas().ddm.hasBranchMappingsForConditionSet(_condition_item_dgd.dataProvider) && evt != null && _toolOutputDefin_cmb.selectedIndex != 0) { @@ -577,6 +584,16 @@ _selectedDefinition = _toolOutputDefin_cmb.dataProvider[_toolOutputDefin_cmb.selectedIndex]; Debugger.log("select definition: " + _selectedDefinition.description, Debugger.CRITICAL, "selectDefinition", "ToolOutputConditionsDialog"); + if (_selectedDefinition.type == ToolOutputDefinition.COMPLEX) { + _condition_item_dgd.selectable = false; + + } else { + if (_condition_item_dgd.selectable == false){ + _condition_item_dgd.selectable = true; + } + } + + if(_selectedDefinition.showConditionNameOnly) addConditionItemColumns(true); else if(_condition_item_dgd.getColumnAt(1) == null) @@ -686,6 +703,7 @@ condition.conditionUIID = ddm.newUIID(); condition.toolActivity = _toolActivity; condition.branchingActivity = _branchingActivity; + condition.gateActivity = _gateActivity; condition.isDefault = true; addCondition(condition); @@ -763,7 +781,12 @@ * Called by the CLOSE button */ private function close(){ - app.pi.openConditionMatchDialog(); + var selectedAct = app.canvas.model.selectedItem.activity; + if (selectedAct instanceof BranchingActivity) { + app.pi.openConditionMatchDialog(); + } else if (selectedAct.activityTypeID == Activity.CONDITION_GATE_ACTIVITY_TYPE) { + app.pi.onGateConditionMatchClick(); + } _container.deletePopUp(); } @@ -860,6 +883,10 @@ _branchingActivity = a; } + public function set gateActivity(a:GateActivity) { + _gateActivity = a; + } + public function set toolActivity(a:ToolActivity) { _toolActivity = a; definitions = _toolActivity.definitions; Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/Canvas.as =================================================================== diff -u -r7b65bab3de4ed5068c5631a245c30cb4eaa8f098 -r64f42c88ebf08393b1c53bbd00c3cd4fec211c10 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/Canvas.as (.../Canvas.as) (revision 7b65bab3de4ed5068c5631a245c30cb4eaa8f098) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/Canvas.as (.../Canvas.as) (revision 64f42c88ebf08393b1c53bbd00c3cd4fec211c10) @@ -983,7 +983,10 @@ if (ca.activity.activityTypeID == Activity.GROUPING_ACTIVITY_TYPE){ var callback:Function = Proxy.create(this, openSystemToolHelp, Application.FLASH_TOOLSIGNATURE_GROUP); app.getHelpURL(callback) - } else if (ca.activity.activityTypeID == Activity.SYNCH_GATE_ACTIVITY_TYPE || ca.activity.activityTypeID == Activity.SCHEDULE_GATE_ACTIVITY_TYPE || ca.activity.activityTypeID == Activity.PERMISSION_GATE_ACTIVITY_TYPE){ + } else if (ca.activity.activityTypeID == Activity.SYNCH_GATE_ACTIVITY_TYPE || + ca.activity.activityTypeID == Activity.SCHEDULE_GATE_ACTIVITY_TYPE || + ca.activity.activityTypeID == Activity.PERMISSION_GATE_ACTIVITY_TYPE || + ca.activity.activityTypeID == Activity.CONDITION_GATE_ACTIVITY_TYPE) { var callback:Function = Proxy.create(this, openSystemToolHelp, Application.FLASH_TOOLSIGNATURE_GATE); app.getHelpURL(callback); } else if(ca.activity.isBranchingActivity()) { Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as =================================================================== diff -u -r7b65bab3de4ed5068c5631a245c30cb4eaa8f098 -r64f42c88ebf08393b1c53bbd00c3cd4fec211c10 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as (.../CanvasController.as) (revision 7b65bab3de4ed5068c5631a245c30cb4eaa8f098) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as (.../CanvasController.as) (revision 64f42c88ebf08393b1c53bbd00c3cd4fec211c10) @@ -1017,7 +1017,15 @@ } private function ToolOutputConditionsDialogLoaded(evt:Object, ta:ToolActivity) { - evt.target.scrollContent.branchingActivity = BranchingActivity(_canvasModel.selectedItem.activity); + if (_canvasModel.selectedItem.activity instanceof BranchingActivity) { + Debugger.log("ToolOutputConditionsDialogLoaded->we have a branching activity", Debugger.GEN, "ToolOutputConditionsDialogLoaded", "CanvasController"); + evt.target.scrollContent.branchingActivity = BranchingActivity(_canvasModel.selectedItem.activity); + } + else if (_canvasModel.selectedItem.activity.activityTypeID == Activity.CONDITION_GATE_ACTIVITY_TYPE) { + Debugger.log("ToolOutputConditionsDialogLoaded->we have a Condition gate activity", Debugger.GEN, "ToolOutputConditionsDialogLoaded", "CanvasController"); + evt.target.scrollContent.gateActivity = GateActivity(_canvasModel.selectedItem.activity); + } + evt.target.scrollContent.toolActivity = ta; evt.target.scrollContent.setupContent(); } Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasSuperModel.as =================================================================== diff -u -r7b65bab3de4ed5068c5631a245c30cb4eaa8f098 -r64f42c88ebf08393b1c53bbd00c3cd4fec211c10 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasSuperModel.as (.../CanvasSuperModel.as) (revision 7b65bab3de4ed5068c5631a245c30cb4eaa8f098) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasSuperModel.as (.../CanvasSuperModel.as) (revision 64f42c88ebf08393b1c53bbd00c3cd4fec211c10) @@ -169,6 +169,11 @@ } } + /* + * Gets all the tool activities that come before the activity from which this method was invoked + * @param: _class the activity type + * @param: _isBranching set true if you only want downstream activities with tool outputs + */ public function getDownstreamActivities(_class, isBranching:Boolean):Array { var _activity; var _activityUIID:Number = selectedItem.activity.activityUIID; Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/PropertyInspector.as =================================================================== diff -u -r7b65bab3de4ed5068c5631a245c30cb4eaa8f098 -r64f42c88ebf08393b1c53bbd00c3cd4fec211c10 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/PropertyInspector.as (.../PropertyInspector.as) (revision 7b65bab3de4ed5068c5631a245c30cb4eaa8f098) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/PropertyInspector.as (.../PropertyInspector.as) (revision 64f42c88ebf08393b1c53bbd00c3cd4fec211c10) @@ -96,7 +96,7 @@ gateType_cmb.addEventListener("change", Delegate.create(this, gateTypeChange)); branchType_cmb.addEventListener("change", Delegate.create(this, onBranchTypeChange)); - toolActs_cmb.addEventListener("change", Delegate.create(this, onBranchToolInputChange)); + toolActs_cmb.addEventListener("change", Delegate.create(this, onActivityInputChange)); // Branching and Gate Inputs appliedGroupingActivity_cmb.addEventListener("change", Delegate.create(this, onAppliedGroupingChange)); minAct_stp.addEventListener("change", Delegate.create(this, updateOptionalData)); @@ -132,6 +132,7 @@ _group_naming_btn.addEventListener("click", Delegate.create(this, onGroupNamingClick)); _map_competence_btn.addEventListener("click", Delegate.create(this, onMapCompetenceClick)); _tool_output_match_btn.addEventListener("click", Delegate.create(this, onConditionMatchClick)); + _tool_output_gate_match_btn.addEventListener("click", Delegate.create(this, onGateConditionMatchClick)); _conditions_setup_btn.addEventListener("click", Delegate.create(this, onConditionsSetupClick)); _define_monitor_cb.addEventListener("click", Delegate.create(this, onDefineMonitorSelect)); @@ -190,11 +191,11 @@ _group_match_btn.label = Dictionary.getValue('pi_group_matching_btn_lbl'); _group_naming_btn.label = Dictionary.getValue('pi_group_naming_btn_lbl'); _tool_output_match_btn.label = Dictionary.getValue('pi_tool_output_matching_btn_lbl'); + _tool_output_gate_match_btn.label = Dictionary.getValue('map_gate_conditions_btn'); _conditions_setup_btn.label = Dictionary.getValue('pi_condmatch_btn_lbl'); _define_monitor_cb.label = Dictionary.getValue('pi_define_monitor_cb_lbl'); - - //TODO Internationalise + _map_competence_btn.label = Dictionary.getValue('map_comptence_btn'); // Branch @@ -716,7 +717,7 @@ } else if(_canvasModel.selectedItem.activity.activityTypeID == Activity.TOOL_BRANCHING_ACTIVITY_TYPE) { if(toolActs_cmb.selectedIndex == 0) { _canvasModel.selectedItem.activity.toolActivityUIID = null; - branchToolInputChange(_canvasModel.selectedItem, toolActs_cmb.dataProvider[0].data); + activityInputChange(_canvasModel.selectedItem, toolActs_cmb.dataProvider[0].data); } } Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/PropertyInspectorControls.as =================================================================== diff -u -r2dc5582160b7aedc807cd540e73ed3cb832840e4 -r64f42c88ebf08393b1c53bbd00c3cd4fec211c10 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/PropertyInspectorControls.as (.../PropertyInspectorControls.as) (revision 2dc5582160b7aedc807cd540e73ed3cb832840e4) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/PropertyInspectorControls.as (.../PropertyInspectorControls.as) (revision 64f42c88ebf08393b1c53bbd00c3cd4fec211c10) @@ -108,6 +108,7 @@ private var _group_match_btn:Button; private var _tool_output_match_btn:Button; + private var _tool_output_gate_match_btn:Button; private var _conditions_setup_btn:Button; private var _define_monitor_cb:CheckBox; @@ -184,6 +185,9 @@ btn_text.htmlText = _tool_output_match_btn.label; _tool_output_match_btn.setSize(btn_text.textWidth + offset, 22); + btn_text.htmlText = _tool_output_gate_match_btn.label; + _tool_output_gate_match_btn.setSize(btn_text.textWidth + offset, 22); + btn_text.htmlText = _conditions_setup_btn.label; _conditions_setup_btn.setSize(btn_text.textWidth + offset, 22); @@ -371,6 +375,7 @@ private function showGateControls(v:Boolean, e:Boolean){ var steppers_visible:Boolean = (_canvasModel.selectedItem.activity.activityTypeID == Activity.SCHEDULE_GATE_ACTIVITY_TYPE); + var tool_controls_visible:Boolean = (_canvasModel.selectedItem.activity.activityTypeID == Activity.CONDITION_GATE_ACTIVITY_TYPE); days_lbl.visible = (steppers_visible && v); hours_lbl.visible = (steppers_visible && v); @@ -384,6 +389,9 @@ gateType_cmb.visible = v; startOffset_lbl.visible = (steppers_visible && v); + _tool_output_gate_match_btn.visible = (tool_controls_visible && (toolActs_cmb.selectedIndex > 0) && v); + // and the conditons definition length > 0 + if(e != null) { days_lbl.enabled = e; hours_lbl.enabled = e; @@ -398,6 +406,7 @@ startOffset_lbl.enabled = e; } + if (tool_controls_visible) showToolBasedGateControls(v, e); } private function showBranchingControls(v:Boolean, e:Boolean){ @@ -430,7 +439,7 @@ if(toolActs_cmb.selectedIndex == 0) { _canvasModel.selectedItem.activity.toolActivityUIID = null; - branchToolInputChange(_canvasModel.selectedItem, toolActs_cmb.dataProvider[0].data); + activityInputChange(_canvasModel.selectedItem, toolActs_cmb.dataProvider[0].data); } } } @@ -551,8 +560,6 @@ numGroups_lbl.enabled = e; numLearners_lbl.enabled = e; equalGroupSizes_lbl.enabled = e; - //numGroups_stp.enabled = e; - //numLearners_stp.enabled = e; numLearners_rdo.enabled = e; numGroups_rdo.enabled = e; equalGroupSizes_chk.enabled = e; @@ -849,6 +856,7 @@ _group_naming_btn.setStyle('styleName', styleObj); _tool_output_match_btn.setStyle('styleName', styleObj); + _tool_output_gate_match_btn.setStyle('styleName', styleObj); _conditions_setup_btn.setStyle('styleName', styleObj); _map_competence_btn.setStyle('styleName', styleObj); @@ -922,16 +930,29 @@ ///////////////////////////////////////////////// /** - *Handles change event fired from the gateType_cmb + * Handles change event fired from the gateType_cmb * @usage * @param evt * @return */ private function onGateTypeChange(evt:Object){ _canvasModel.selectedItem.activity.activityTypeID = evt.target.value; Debugger.log('Set gate type to: _canvasModel.selectedItem.activity.activityTypeID:'+_canvasModel.selectedItem.activity.activityTypeID,Debugger.GEN,'onGateTypeChange','PropertyInspector'); - checkEnableGateControls(!_canvasModel.selectedItem.activity.readOnly); + Debugger.log('Set gate type to: _canvasModel.selectedItem.activity.title:'+_canvasModel.selectedItem.activity.title,Debugger.GEN,'onGateTypeChange','PropertyInspector'); + checkEnableGateControls(!_canvasModel.selectedItem.activity.readOnly); // show/hide schedule steppers + if(evt.target.value == Activity.CONDITION_GATE_ACTIVITY_TYPE) { + + Debugger.log("Activity is of CONDITION_GATE_TYPE", Debugger.CRITICAL, "onGateTypeChange", "PropertyInspectorControls"); + + showToolBasedGateControls(true, !_canvasModel.selectedItem.activity.readOnly); + _canvasModel.selectedItem.activity.groupingUIID = null; + + showGroupBasedBranchingControls(false); + showAppliedGroupingControls(false); + + } + setModified(); } @@ -988,17 +1009,19 @@ setModified(); } + + // for each element in the tool activity combo box do this private function selectToolActivityItem(index:Number, UIID:Number):Void { var mappings:Array = _canvasModel.getCanvas().ddm.getBranchMappingsByActivityUIIDAndType(_canvasModel.selectedItem.activity.activityUIID).toolBased; - Debugger.log("Loading Lists: mappings length: " + mappings.length, Debugger.CRITICAL, "loadLists", "ConditionMatchingDialog"); + Debugger.log("Loading Lists: mappings length: " + mappings.length, Debugger.CRITICAL, "loadLists", "PropertyInspectorControls"); for(var i=0; i < mappings.length; i++) { if(mappings[i].condition.toolActivity.activityUIID == UIID && mappings[i].condition.branchingActivity.activityUIID == _canvasModel.selectedItem.activity.activityUIID) { toolActs_cmb.selectedIndex = index; - branchToolInputChange(_canvasModel.selectedItem, toolActs_cmb.dataProvider[index].data); + activityInputChange(_canvasModel.selectedItem, toolActs_cmb.dataProvider[index].data); } } } @@ -1058,25 +1081,40 @@ setModified(); } - private function onBranchToolInputChange(evt:Object) { - Debugger.log('branch input change: ' + evt.target.value, Debugger.CRITICAL, "onBranchToolInputChange", "PIC*"); + private function onActivityInputChange(evt:Object) { + Debugger.log('branch input change: ' + evt.target.value, Debugger.CRITICAL, "onActivityInputChange", "PropertyInspectorControls"); - branchToolInputChange(_canvasModel.selectedItem, evt.target.value); + activityInputChange(_canvasModel.selectedItem, evt.target.value); } - private function branchToolInputChange(ca, toolActivityUIID) { - var mappings:Array = _canvasModel.getCanvas().ddm.getBranchMappingsByActivityUIIDAndType(ca.activity.activityUIID).toolBased; - + /* + * Invoked when the tool output (input activity) to a Branching/Gate activity changes + * @param ca.activity is the activity which will recieve inputs + */ + private function activityInputChange(ca, toolActivityUIID) { + ca.activity.toolActivityUIID = (toolActivityUIID != 0) ? toolActivityUIID : null; ca.refresh(); - - var sequences:Array = _canvasModel.getCanvas().ddm.getComplexActivityChildren(_canvasModel.selectedItem.activity.activityUIID); - - if(hasConnectedSequences(sequences)) { - _conditions_setup_btn.visible = (ca.activity.toolActivityUIID != null) ? true : false; - _tool_output_match_btn.visible = (ca.activity.toolActivityUIID != null) ? true : false; - } + if (ca.activity.isGateActivity()) { + if (_canvasModel.selectedItem.activity.activityTypeID == Activity.CONDITION_GATE_ACTIVITY_TYPE && toolActs_cmb.selectedIndex > 0) { + _conditions_setup_btn.visible = true; + _tool_output_gate_match_btn.visible = true; + } + else { + _conditions_setup_btn.visible = false; + _tool_output_gate_match_btn.visible = false; + } + } else { // branching activity + var mappings:Array = _canvasModel.getCanvas().ddm.getBranchMappingsByActivityUIIDAndType(ca.activity.activityUIID).toolBased; //necessary? + var sequences:Array = _canvasModel.getCanvas().ddm.getComplexActivityChildren(_canvasModel.selectedItem.activity.activityUIID); + + if(hasConnectedSequences(sequences)) { + _conditions_setup_btn.visible = (ca.activity.toolActivityUIID != null) ? true : false; + _tool_output_match_btn.visible = (ca.activity.toolActivityUIID != null) ? true : false; + } + } + setModified(); } @@ -1093,6 +1131,58 @@ return false; } + private function showToolBasedGateControls(v:Boolean, e:Boolean) { + + var selectedActIsConditionGate:Boolean = (_canvasModel.selectedItem.activity.activityTypeID == Activity.CONDITION_GATE_ACTIVITY_TYPE); + + if(!v) { _tool_output_gate_match_btn.visible = false; _conditions_setup_btn.visible = false; return; } + + toolActs_cmb.visible = v; + branchToolActs_lbl.visible = v; + + branchToolActs_lbl.visible = (selectedActIsConditionGate && v); + toolActs_cmb.visible = (selectedActIsConditionGate && v); + _conditions_setup_btn.visible = (selectedActIsConditionGate && (toolActs_cmb.selectedIndex > 0) && v); + _tool_output_gate_match_btn.visible = (selectedActIsConditionGate && (toolActs_cmb.selectedIndex > 0) && v); + + if (selectedActIsConditionGate) { + + toolActs_cmb.dataProvider = _canvasModel.getDownstreamActivities(ToolActivity, true); + + if(_canvasModel.selectedItem.activity.toolActivityUIID != null) { + var dp = toolActs_cmb.dataProvider; + + for(var i=0; i < dp.length; i++) + if(dp[i].data == _canvasModel.selectedItem.activity.toolActivityUIID) + toolActs_cmb.selectedIndex = i; + + if(toolActs_cmb.selectedIndex == 0) { + _canvasModel.selectedItem.activity.toolActivityUIID = null; + activityInputChange(_canvasModel.selectedItem, toolActs_cmb.dataProvider[0].data); + } + } + + if (toolActs_cmb.selectedIndex > 0) { + + _conditions_setup_btn.visible = v; + _tool_output_gate_match_btn.visible = v; + } + } + else { + _conditions_setup_btn.visible = false; + _tool_output_gate_match_btn.visible = false; + } + + if(e != null) { + toolActs_cmb.enabled = e; + _tool_output_gate_match_btn.enabled = e; + _conditions_setup_btn.enabled = e; + + branchToolActs_lbl.enabled = e; + toolActs_cmb.enabled = e; + } + } + private function showToolBasedBranchingControls(v:Boolean, e:Boolean) { toolActs_cmb.visible = v; branchToolActs_lbl.visible = v; @@ -1222,6 +1312,14 @@ } + private function onGateConditionMatchClick(evt:Object){ + + _app.dialog = PopUpManager.createPopUp(Application.root, LFWindow, true, {title:Dictionary.getValue('map_gate_conditions_btn'), closeButton:true, resize:false, scrollContentPath:'GateConditionMatchingDialog'}); + _app.dialog.addEventListener('contentLoaded', Delegate.create(this, GateConditionMatchDialogLoaded)); + + setModified(); + } + private function onConditionsSetupClick(evt:Object){ // show tool outputs to branch mappings dialog var ta:ToolActivity = ToolActivity(_canvasModel.getCanvas().ddm.getActivityByUIID(_canvasModel.selectedItem.activity.toolActivityUIID)); @@ -1259,6 +1357,14 @@ evt.target.scrollContent.loadLists(); } + private function GateConditionMatchDialogLoaded(evt:Object) { + var conditions:Array = _canvasModel.getCanvas().ddm.getAllConditionsForToolOutput(_canvasModel.selectedItem.activity); + evt.target.scrollContent.branchingActivity = null; + evt.target.scrollContent.gateActivity = GateActivity(_canvasModel.selectedItem.activity); + evt.target.scrollContent.conditions = conditions; + evt.target.scrollContent.loadLists(); + } + /** * @depricated * Index: lams_flash/src/common/flash/org/lamsfoundation/lams/common/util/ObjState.as =================================================================== diff -u --- lams_flash/src/common/flash/org/lamsfoundation/lams/common/util/ObjState.as (revision 0) +++ lams_flash/src/common/flash/org/lamsfoundation/lams/common/util/ObjState.as (revision 64f42c88ebf08393b1c53bbd00c3cd4fec211c10) @@ -0,0 +1,55 @@ +/*************************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * ************************************************************************ + */ + +/** +* Util methods for string manipulation +* @class State +* @author Daniel Carlier +* @decription A generic state representation class +*/ +class org.lamsfoundation.lams.common.util.ObjState { + + private var _displayText:String; + private var _objState:Object; + + function ObjState(displayText:String, objState:Object){ + this.displayText = displayText; + this.objState = objState; + } + + public function get displayText():String { + return _displayText; + } + + public function set displayText(s:String):Void { + _displayText = s; + } + + public function get objState():Object { + return _objState; + } + + public function set objState(s:Object):Void { + _objState = s; + } +} \ No newline at end of file