Index: lams_flash/src/central/flash/lams_authoring.fla =================================================================== diff -u -r8ad16270f3ad03c45a8aa73353d6485bd2631a1c -r60db93c549c96bad95e890f34add10c4ef9d3d2e Binary files differ Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Application.as =================================================================== diff -u -rea5dd39341c9597a297fe0e292479b5e184196c5 -r60db93c549c96bad95e890f34add10c4ef9d3d2e --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Application.as (.../Application.as) (revision ea5dd39341c9597a297fe0e292479b5e184196c5) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Application.as (.../Application.as) (revision 60db93c549c96bad95e890f34add10c4ef9d3d2e) @@ -71,7 +71,7 @@ private static var LOADING_ROOT_DEPTH:Number = 100; //depth of the loading movie private static var APP_ROOT_DEPTH:Number = 10; //depth of the application root - private static var DIALOGUE_DEPTH:Number = 20; //depth of the dialogue box + private static var DIALOGUE_DEPTH:Number = 55; //depth of the dialogue box private static var TOOLTIP_DEPTH:Number = 60; //depth of the tooltip private static var CURSOR_DEPTH:Number = 70; //depth of the cursors private static var CCURSOR_DEPTH:Number = 101; @@ -110,7 +110,6 @@ private var _ccm:CustomContextMenu; private var _debugDialog:MovieClip; //Reference to the debug dialog - private var _dialogueContainer_mc:MovieClip; //Dialog container private var _tooltipContainer_mc:MovieClip; //Tooltip container private var _cursorContainer_mc:MovieClip; //Cursor container private var _menu_mc:MovieClip; //Menu bar clip @@ -434,7 +433,7 @@ * Opens the preferences dialog */ public function showPrefsDialog() { - PopUpManager.createPopUp(Application.root, LFWindow, true,{title:Dictionary.getValue("prefs_dlg_title"),closeButton:true,scrollContentPath:'preferencesDialog'}); + dialog = PopUpManager.createPopUp(Application.root, LFWindow, true,{title:Dictionary.getValue("prefs_dlg_title"),closeButton:true,scrollContentPath:'preferencesDialog'}); } /** @@ -554,7 +553,6 @@ _clipboardData.type = type; _clipboardData.count = 0; - trace("clipBoard data id"+_clipboardData); } /** @@ -579,7 +577,6 @@ }else { LFMessage.showMessageAlert(Dictionary.getValue('al_activity_copy_invalid')); } - //_canvas.removeActivity(_canvas.model.selectedItem.activity.activityUIID); } public function copy():Void{ @@ -715,9 +712,7 @@ * Opens the help->about dialog */ public function showAboutDialog() { - var dialog:MovieClip = PopUpManager.createPopUp(Application.root, LFWindow, true,{title:"About - LAMS Author",closeButton:true,scrollContentPath:'helpaboutDialog'}); - //dialog.addEventListener('contentLoaded',); - // dict: title:Dictionary.getValue('ls_win_helpabout_title') + dialog = PopUpManager.createPopUp(Application.root, LFWindow, true,{title:"About - LAMS Author",closeButton:true,scrollContentPath:'helpaboutDialog'}); } /** Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Branch.as =================================================================== diff -u -r26ac409edd1315ca7b866156ba035590f30d4716 -r60db93c549c96bad95e890f34add10c4ef9d3d2e --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Branch.as (.../Branch.as) (revision 26ac409edd1315ca7b866156ba035590f30d4716) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Branch.as (.../Branch.as) (revision 60db93c549c96bad95e890f34add10c4ef9d3d2e) @@ -31,7 +31,6 @@ private var UIID:Number; private var _sequenceActivity:SequenceActivity; - private var _direction:Number; private var _targetUIID:Number; private var _hubUIID:Number; @@ -50,7 +49,6 @@ _targetUIID = targetUIID; _hubUIID = hubUIID; _sequenceActivity = sequenceActivity; - } public function toData():Object{ @@ -68,6 +66,10 @@ return _sequenceActivity; } + public function get sequenceName():String { + return _sequenceActivity.title; + } + public function get direction():Number { return _direction; } Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/DesignDataModel.as =================================================================== diff -u -rbc0cb5fdeb5ca1b0096d9878301b8ba7327661ab -r60db93c549c96bad95e890f34add10c4ef9d3d2e --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/DesignDataModel.as (.../DesignDataModel.as) (revision bc0cb5fdeb5ca1b0096d9878301b8ba7327661ab) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/DesignDataModel.as (.../DesignDataModel.as) (revision 60db93c549c96bad95e890f34add10c4ef9d3d2e) @@ -23,6 +23,7 @@ import org.lamsfoundation.lams.authoring.*; import org.lamsfoundation.lams.common.util.*; +import org.lamsfoundation.lams.authoring.br.BranchConnector; import org.lamsfoundation.lams.common.*; import mx.events.* /* @@ -47,13 +48,10 @@ 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; - //LearningDesign Properties: - private var _objectType:String; private var _copyTypeID:Number; - private var _learningDesignID:Number; private var _prevLearningDesignID:Number; // used for backup retrieval of the learning Design ID @@ -75,6 +73,7 @@ private var _maxID:Number; private var _firstActivityID:Number; private var _firstActivityUIID:Number; + //James has asked for previous and next fields so I can build up a sequence map of LDs when browsing workspaces... private var _parentLearningDesignID:Number; private var _activities:Hashtable; @@ -121,20 +120,8 @@ //dispatch an event now the design has changed dispatchEvent({type:'ddmUpdate',target:this}); - } - /* - public function getChildActivities(ActivityUIID:Number):Array{ - var _child:Array = new Array(); - var values = _activities.values(); - for (var i=0; i 0) { + + for(var i=0; i< groups_lst.selectedItems.length; i++) { + if(branches_lst.selectedItem != null) { + setupMatch(groups_lst.selectedItems[i], branches_lst.selectedItem); + } else { + LFMessage.showMessageAlert("No branch selected"); + return; + } +; } + + for(var index in groups_lst.selectedIndices) { + groups_lst.removeItemAt(groups_lst.selectedIndices[index]); + } + + } else { + LFMessage.showMessageAlert("No groups selected"); + } + } + + private function setupMatch(group:Object, branch:Branch):Void { + Debugger.log("group: " + group + " branch: " + branch, Debugger.CRITICAL, "setupMatch", "GroupMatchingDialog"); + + var desc = "Group: " + group.groupID + " :: >> Branch: " + branch.sequenceName; + match_lst.addItem({label: desc, data: group}); + + } + + private function removeMatch():Void { + + var rItem:Object = match_lst.selectedItem; + + if(rItem != null) { + groups_lst.addItem(rItem.data); + groups_lst.sortItemsBy("groupID", Array.NUMERIC); + + match_lst.removeItemAt(match_lst.selectedIndex); + } else { + LFMessage.showMessageAlert("No match selected"); + } + + } + + /** + * Event dispatched by parent container when close button clicked + */ + public function click(e:Object):Void{ + e.target.deletePopUp(); + } + + + /** + * Main resize method, called by scrollpane container/parent + */ + public function setSize(w:Number,h:Number):Void{ + //Size the panel + panel.setSize(w,h); + + //Buttons + ok_btn.move(w-xOkOffset,h-yOkOffset); + cancel_btn.move(w-xCancelOffset,h-yCancelOffset); + } + + //Gets+Sets + /** + * set the container refernce to the window holding the dialog + */ + function set container(value:MovieClip){ + _container = value; + } + + public function set groups(a:Array){ + _groups = a; + } + + public function set branches(a:Array){ + _branches = a; + } + +} \ No newline at end of file Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/GroupNamingDialog.as =================================================================== diff -u --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/GroupNamingDialog.as (revision 0) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/GroupNamingDialog.as (revision 60db93c549c96bad95e890f34add10c4ef9d3d2e) @@ -0,0 +1,226 @@ +/*************************************************************************** + * 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.common.* +import org.lamsfoundation.lams.common.ws.* +import org.lamsfoundation.lams.common.ui.* +import org.lamsfoundation.lams.common.util.* +import org.lamsfoundation.lams.common.dict.* +import org.lamsfoundation.lams.common.style.* + +import org.lamsfoundation.lams.authoring.* +import org.lamsfoundation.lams.authoring.br.* + +import mx.controls.* +import mx.controls.gridclasses.DataGridColumn; +import mx.utils.* +import mx.managers.* +import mx.events.* + +/* +* Group Matching Dialog window for editing user preferences +* @author DI +*/ +class GroupNamingDialog extends MovieClip implements Dialog { + + //References to components + clips + private var _container:MovieClip; //The container window that holds the dialog + + private var _groups:Array; + + private var ok_btn:Button; //OK+Cancel buttons + private var cancel_btn:Button; + + private var instructions_lbl:Label; + private var _group_naming_dgd:DataGrid; + + private var _bgpanel:MovieClip; //The underlaying panel base + + private var fm:FocusManager; //Reference to focus manager + private var themeManager:ThemeManager; //Theme manager + + //Dimensions for resizing + private var xOkOffset:Number; + private var yOkOffset:Number; + private var xCancelOffset:Number; + private var yCancelOffset:Number; + + //These are defined so that the compiler can 'see' the events that are added at runtime by EventDispatcher + private var dispatchEvent:Function; + public var addEventListener:Function; + public var removeEventListener:Function; + + /** + * constructor + */ + function GroupNamingDialog(){ + //Set up this class to use the Flash event delegation model + EventDispatcher.initialize(this); + + //Create a clip that will wait a frame before dispatching init to give components time to setup + this.onEnterFrame = init; + } + + /** + * Called a frame after movie attached to allow components to initialise + */ + private function init():Void{ + //Delete the enterframe dispatcher + delete this.onEnterFrame; + + //set the reference to the StyleManager + themeManager = ThemeManager.getInstance(); + + //Set the text for buttons + ok_btn.label = Dictionary.getValue('al_ok'); + cancel_btn.label = Dictionary.getValue('al_cancel'); + instructions_lbl.text = "Changes names for Groups"; + + //get focus manager + set focus to OK button, focus manager is available to all components through getFocusManager + fm = _container.getFocusManager(); + fm.enabled = true; + + //EVENTS + //Add event listeners for ok, cancel and close buttons + ok_btn.addEventListener('click',Delegate.create(this, ok)); + cancel_btn.addEventListener('click',Delegate.create(this, cancel)); + + //Assign Click (close button) and resize handlers + _container.addEventListener('click',this); + _container.addEventListener('size',this); + + //work out offsets from bottom RHS of panel + xOkOffset = _bgpanel._width - ok_btn._x; + yOkOffset = _bgpanel._height - ok_btn._y; + xCancelOffset = _bgpanel._width - cancel_btn._x; + yCancelOffset = _bgpanel._height - cancel_btn._y; + + //Register as listener with StyleManager and set Styles + themeManager.addEventListener('themeChanged',this); + setStyles(); + + //fire event to say we have loaded + _container.contentLoaded(); + } + + /** + * 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') { + //Theme has changed so update objects to reflect new styles + setStyles(); + }else { + Debugger.log('themeChanged event broadcast with an object.type not equal to "themeChanged"',Debugger.CRITICAL,'themeChanged','org.lamsfoundation.lams.WorkspaceDialog'); + } + } + + public function setupGrid():Void { + var column_name:DataGridColumn = new DataGridColumn("name"); + column_name.headerText = "Group Name"; + column_name.editable = true; + + _group_naming_dgd.editable = true; + _group_naming_dgd.addColumn(column_name); + + Debugger.log("setingup grid length: " + _groups.length, Debugger.CRITICAL, "setupGrid", "GroupNamingDialog"); + for(var i=0; i < _groups.length; i++) { + _group_naming_dgd.addItem(_groups[i]); + } + + } + + /** + * Called on initialisation and themeChanged event handler + */ + private function setStyles(){ + //LFWindow, goes first to prevent being overwritten with inherited styles. + var styleObj = themeManager.getStyleObject('LFWindow'); + _container.setStyle('styleName', styleObj); + + //Get the button style from the style manager and apply to both buttons + styleObj = themeManager.getStyleObject('button'); + ok_btn.setStyle('styleName', styleObj); + cancel_btn.setStyle('styleName', styleObj); + + styleObj = themeManager.getStyleObject('CanvasPanel'); + _bgpanel.setStyle('styleName', styleObj); + + //Apply label style + styleObj = themeManager.getStyleObject('label'); + instructions_lbl.setStyle('styleName', styleObj); + } + + /** + * Called by the cancel button + */ + private function cancel(){ + //close parent window + _container.deletePopUp(); + } + + /** + * Called by the OK button + */ + private function ok(){ + Debugger.log('OK Clicked',Debugger.GEN,'ok','org.lamsfoundation.lams.GroupMatchingDialog'); + + //close popup + _container.deletePopUp(); + } + + /** + * Event dispatched by parent container when close button clicked + */ + public function click(e:Object):Void{ + e.target.deletePopUp(); + } + + + /** + * Main resize method, called by scrollpane container/parent + */ + public function setSize(w:Number,h:Number):Void{ + //Size the panel + _bgpanel.setSize(w,h); + + //Buttons + ok_btn.move(w-xOkOffset,h-yOkOffset); + cancel_btn.move(w-xCancelOffset,h-yCancelOffset); + } + + //Gets+Sets + /** + * set the container refernce to the window holding the dialog + */ + function set container(value:MovieClip){ + _container = value; + } + + public function set groups(a:Array){ + _groups = a; + } + +} \ No newline at end of file Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as =================================================================== diff -u -rf1b6debeb98703ac264781d1949b04e2745ebd9c -r60db93c549c96bad95e890f34add10c4ef9d3d2e --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as (.../CanvasModel.as) (revision f1b6debeb98703ac264781d1949b04e2745ebd9c) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as (.../CanvasModel.as) (revision 60db93c549c96bad95e890f34add10c4ef9d3d2e) @@ -594,17 +594,19 @@ } } - public function addNewBranch(sequence:SequenceActivity):Void { + public function addNewBranch(sequence:SequenceActivity, branchingActivity:Activity):Void { if(sequence.firstActivityUIID != null) { - var b:Branch = new Branch(_cv.ddm.newUIID(), BranchConnector.DIR_FROM_START, _cv.ddm.getActivityByUIID(sequence.firstActivityUIID).activityUIID, activeView.startHub.activity.activityUIID, sequence, _cv.ddm.learningDesignID); + var b:Branch = new Branch(_cv.ddm.newUIID(), BranchConnector.DIR_FROM_START, _cv.ddm.getActivityByUIID(sequence.firstActivityUIID).activityUIID, branchingActivity.activityUIID, sequence, _cv.ddm.learningDesignID); _cv.ddm.addBranch(b); if(!sequence.stopAfterActivity) { - b = new Branch(_cv.ddm.newUIID(), BranchConnector.DIR_TO_END, _cv.ddm.getActivityByUIID(this.getLastActivityUIID(sequence.firstActivityUIID)).activityUIID, activeView.endHub.activity.activityUIID, sequence, _cv.ddm.learningDesignID); + b = new Branch(_cv.ddm.newUIID(), BranchConnector.DIR_TO_END, _cv.ddm.getActivityByUIID(this.getLastActivityUIID(sequence.firstActivityUIID)).activityUIID, branchingActivity.activityUIID, sequence, _cv.ddm.learningDesignID); _cv.ddm.addBranch(b); } } + + setDirty(); } private function getLastActivityUIID(activityUIID:Number):Number { Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/PropertyInspector.as =================================================================== diff -u -rd700d385658a5b88ec3e45d2bdae50a505cfe61d -r60db93c549c96bad95e890f34add10c4ef9d3d2e --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/PropertyInspector.as (.../PropertyInspector.as) (revision d700d385658a5b88ec3e45d2bdae50a505cfe61d) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/PropertyInspector.as (.../PropertyInspector.as) (revision 60db93c549c96bad95e890f34add10c4ef9d3d2e) @@ -22,103 +22,28 @@ */ import org.lamsfoundation.lams.authoring.cv.*; +import org.lamsfoundation.lams.authoring.br.BranchConnector; import org.lamsfoundation.lams.authoring.*; import org.lamsfoundation.lams.common.util.* import org.lamsfoundation.lams.common.dict.* import org.lamsfoundation.lams.common.style.* import org.lamsfoundation.lams.common.ui.* import org.lamsfoundation.lams.common.* + import mx.controls.* import mx.utils.* import mx.managers.* import mx.events.* + /* * * @author DC * @version 0.1 * @comments Property Inspector for the canvas * */ -class PropertyInspector extends MovieClip{ +class PropertyInspector extends PropertyInspectorControls { - private var _canvasModel:CanvasModel; - private var _canvasController:CanvasController; - private var _dictionary:Dictionary; - - //References to components + clips - private var _piIsExpended:Boolean; - private var _tm:ThemeManager; - private var toolDisplayName_lbl:Label; - private var clickTarget_mc:MovieClip; - private var _depth:Number; - private var delimitLine:MovieClip; - private var expand_mc:MovieClip; - private var collapse_mc:MovieClip; - - private static var ICON_OFFSET:Number = 20; - - //Properties tab - private var title_lbl:Label; - private var title_txt:TextInput; - private var desc_lbl:Label; - private var desc_txt:TextInput; - private var piHeightHide:Number = 23; - private var piHeightFull:Number = 106; - private var grouping_lbl:Label; - private var applied_grouping_lbl:Label; - private var currentGrouping_lbl:Label; - private var appliedGroupingActivity_cmb:ComboBox; - - private var editGrouping_btn:Button; - private var runOffline_chk:CheckBox; - private var defineLater_chk:CheckBox; - - //genral info - private var total_num_activities_lbl:Label; - - //gates - private var gateType_lbl:Label; - private var gateType_cmb:ComboBox; - private var startOffset_lbl:Label; - private var endOffset_lbl:Label; - private var days_lbl:Label; - private var hours_lbl:Label; - private var mins_lbl:Label; - private var hoursEnd_lbl:Label; - private var minsEnd_lbl:Label; - private var days_stp:NumericStepper; - private var hours_stp:NumericStepper; - private var mins_stp:NumericStepper; - private var endHours_stp:NumericStepper; - private var endMins_stp:NumericStepper; - - //branches - private var branchType_lbl:Label; - private var branchType_cmb:ComboBox; - - //grouping - private var groupType_lbl:Label; - private var numGroups_lbl:Label; - private var numLearners_lbl:Label; - private var groupType_cmb:ComboBox; - private var numGroups_rdo:RadioButton; - private var numLearners_rdo:RadioButton; - private var rndGroup_radio:RadioButtonGroup; - private var numGroups_stp:NumericStepper; - private var numRandomGroups_stp:NumericStepper; - private var numLearners_stp:NumericStepper; - - //Complex Activity - private var min_lbl:Label; - private var max_lbl:Label; - private var minAct_stp:NumericStepper ; - private var maxAct_stp:NumericStepper; - - //screen assets: - private var body_pnl:Panel; - private var bar_pnl:Panel; - private var cover_pnl:Panel; - //Defined so compiler can 'see' events added at runtime by EventDispatcher private var dispatchEvent:Function; public var addEventListener:Function; @@ -130,14 +55,10 @@ */ public function PropertyInspector(){ - //register to recive updates form the model - Debugger.log('Constructor',Debugger.GEN,'PropertyInspector','PropertyInspector'); + super(); - _tm = ThemeManager.getInstance(); //Set up this class to use the Flash event delegation model - EventDispatcher.initialize(this); - _dictionary = Dictionary.getInstance(); //let it wait one frame to set up the components. MovieClipUtils.doLater(Proxy.create(this,init)); @@ -188,6 +109,8 @@ numRandomGroups_stp.addEventListener("change", Delegate.create(this, updateGroupingMethodData)); numRandomGroups_stp.addEventListener("focusOut", Delegate.create(this, updateGroupingMethodData)); + _group_match_btn.addEventListener("click", Delegate.create(this, onGroupMatchClick)); + _group_naming_btn.addEventListener("click", Delegate.create(this, onGroupNamingClick)); this.onEnterFrame = setupLabels; @@ -196,106 +119,6 @@ } - public function setupLabels(){ - toolDisplayName_lbl.text = ""+Dictionary.getValue('pi_title')+"" - - gateType_lbl.text = Dictionary.getValue('trans_dlg_gatetypecmb'); - branchType_lbl.text = Dictionary.getValue("pi_branch_type"); - - days_lbl.text = Dictionary.getValue('pi_days'); - hours_lbl.text = Dictionary.getValue('pi_hours'); - mins_lbl.text = Dictionary.getValue('pi_mins'); - hoursEnd_lbl.text = Dictionary.getValue('pi_hours'); - minsEnd_lbl.text = Dictionary.getValue('pi_mins'); - startOffset_lbl.text = Dictionary.getValue('pi_start_offset'); - endOffset_lbl.text = Dictionary.getValue('pi_end_offset'); - - groupType_lbl.text = Dictionary.getValue('pi_group_type'); - numGroups_lbl.text = Dictionary.getValue('pi_num_groups'); - numLearners_lbl.text = Dictionary.getValue('pi_num_learners'); - - //Properties tab - title_lbl.text = Dictionary.getValue('pi_lbl_title'); - desc_lbl.text = Dictionary.getValue('pi_lbl_desc'); - grouping_lbl.text = Dictionary.getValue('pi_lbl_group'); - currentGrouping_lbl.text = Dictionary.getValue('pi_lbl_currentgroup'); - defineLater_chk.label = Dictionary.getValue('pi_definelater'); - runOffline_chk.label = Dictionary.getValue('pi_runoffline'); - - //Complex Activity - min_lbl.text = Dictionary.getValue('pi_min_act'); - max_lbl.text = Dictionary.getValue('pi_max_act'); - - //populate the synch type combo: - gateType_cmb.dataProvider = Activity.getGateActivityTypes(); - branchType_cmb.dataProvider = Activity.getBranchingActivityTypes(); - groupType_cmb.dataProvider = Grouping.getGroupingTypesDataProvider(); - - //Call to apply style to all the labels and input fields - setStyles(); - - //fire event to say we have loaded - delete this.onEnterFrame; - - //hide all the controls at startup - delimitLine._visible = false; - hideAllSteppers(false); - showGroupingControls(false); - showGeneralControls(false); - showOptionalControls(false); - showToolActivityControls(false); - showGateControls(false); - showBranchingControls(false); - showAppliedGroupingControls(false); - showGeneralInfo(true); - - dispatchEvent({type:'load',target:this}); - } - private function hideAllSteppers(v):Void{ - hours_stp.visible = v - mins_stp.visible = v - endHours_stp.visible = v - endMins_stp.visible = v - numGroups_stp.visible = v - numRandomGroups_stp.visible = v - numLearners_stp.visible = v - minAct_stp.visible = v - maxAct_stp.visible = v - } - - private function setTabIndex(selectedTab:String){ - - //Tool Activities - title_txt.tabIndex = 401 - applied_grouping_lbl.tabIndex = 402 - appliedGroupingActivity_cmb.tabIndex = 402 - runOffline_chk.tabIndex = 403 - defineLater_chk.tabIndex = 404 - - //Optional Activities - desc_txt.tabIndex = 402 - minAct_stp.tabIndex = 403 - maxAct_stp.tabIndex = 404 - - //Gate Activities - //gateType_cmb.enabled = true - gateType_cmb.tabIndex = 402 - days_stp.tabIndex = 403 - hours_stp.tabIndex = 404 - mins_stp.tabIndex = 405 - endHours_stp.tabIndex = 406 - endMins_stp.tabIndex = 407 - - //Grouping Activities - groupType_cmb.tabIndex = 402 - numGroups_stp.tabIndex = 403 - numGroups_rdo.tabIndex = 404 - numRandomGroups_stp.tabIndex = 405 - numLearners_rdo.tabIndex = 406 - numLearners_stp.tabIndex = 407 - - } - public function localOnRelease():Void{ if (_piIsExpended){ @@ -420,6 +243,7 @@ showToolActivityControls(false); showGateControls(false); showAppliedGroupingControls(false); + populateGroupingProperties(GroupingActivity(a)); showAppliedGroupingProperties(a); @@ -523,6 +347,7 @@ delimitLine._visible = false; showTransitionProperties(t); + showGeneralInfo(false); showGeneralControls(false); showOptionalControls(false); @@ -531,7 +356,26 @@ showToolActivityControls(false); showGateControls(false); showAppliedGroupingControls(false); + + } else if(BranchConnector(cm.selectedItem) != null) { + var bc = BranchConnector(cm.selectedItem); + var branch = bc.branch; + cover_pnl.visible = false; + delimitLine._visible = false; + + showBranchProperties(branch); + + showGeneralControls(true, !branch.sequenceActivity.readOnly); + + showGeneralInfo(false); + showOptionalControls(false); + showGroupingControls(false); + showBranchingControls(false); + showToolActivityControls(false); + showGateControls(false); + showAppliedGroupingControls(false); + } else { cover_pnl.visible = false; delimitLine._visible = false; @@ -550,175 +394,6 @@ } } - private function showToolActivityControls(v:Boolean, e:Boolean){ - - var a = _canvasModel.selectedItem.activity; - var parentAct = _canvasModel.getCanvas().ddm.getActivityByUIID(a.parentUIID) - - if(a.parentUIID != null && parentAct.activityTypeID == Activity.PARALLEL_ACTIVITY_TYPE) { - applied_grouping_lbl.visible = v - appliedGroupingActivity_cmb.visible = false; - - applied_grouping_lbl.enabled = e; - - } else { - applied_grouping_lbl.visible = false - appliedGroupingActivity_cmb.visible = v; - - appliedGroupingActivity_cmb.enabled = e; - - } - - grouping_lbl.visible = v; - currentGrouping_lbl.visible = v; - runOffline_chk.visible = v; - defineLater_chk.visible = v; - editGrouping_btn.visible = v; - - if(e != null) { - grouping_lbl.enabled = e; - currentGrouping_lbl.enabled = e; - runOffline_chk.enabled = e; - defineLater_chk.enabled = e; - editGrouping_btn.enabled = e; - } - } - - - private function showGeneralInfo(v:Boolean, e:Boolean){ - total_num_activities_lbl.visible = v; - total_num_activities_lbl.enabled = (e != null) ? e : true; - } - - private function showGeneralControls(v:Boolean, e:Boolean){ - - title_lbl.visible = v; - title_txt.visible = v; - - if(e != null) { - title_lbl.enabled = e; - title_txt.enabled = e; - } - } - - private function showOptionalControls(v:Boolean, e:Boolean){ - - min_lbl.visible = v; - max_lbl.visible = v; - minAct_stp.visible = v; - maxAct_stp.visible = v; - desc_lbl.visible = v; - desc_txt.visible = v; - - if(e != null) { - min_lbl.enabled = e; - max_lbl.enabled = e; - minAct_stp.enabled = e; - maxAct_stp.enabled = e; - desc_lbl.enabled = e; - desc_txt.enabled = e; - } - - grouping_lbl.visible = false; - - - } - - private function showGateControls(v:Boolean, e:Boolean){ - - days_lbl.visible = v; - hours_lbl.visible = v; - mins_lbl.visible = v; - hoursEnd_lbl.visible = v; - minsEnd_lbl.visible = v; - days_stp.visible = v; - hours_stp.visible = v; - mins_stp.visible = v; - gateType_lbl.visible = v; - gateType_cmb.visible = v; - startOffset_lbl.visible = v; - - if(e != null) { - days_lbl.enabled = e; - hours_lbl.enabled = e; - mins_lbl.enabled = e; - hoursEnd_lbl.enabled = e; - minsEnd_lbl.enabled = e; - days_stp.enabled = e; - hours_stp.enabled = e; - mins_stp.enabled = e; - gateType_lbl.enabled = e; - gateType_cmb.enabled = e; - startOffset_lbl.enabled = e; - } - - } - - private function showBranchingControls(v:Boolean, e:Boolean){ - branchType_lbl.visible = v; - branchType_cmb.visible = v; - - if(e != null) { - branchType_lbl.enabled = e; - branchType_cmb.enabled = e; - } - } - - /** - * Shows or hides the app.lied grouping - * AND title fields - * @usage - * @param v - * @return - */ - private function showAppliedGroupingControls(v:Boolean, e:Boolean){ - if(_canvasModel.selectedItem.activity.activityTypeID != Activity.GROUP_BRANCHING_ACTIVITY_TYPE) { - grouping_lbl._y = 52; - appliedGroupingActivity_cmb._y = 52; - } else { - grouping_lbl._y = 75; - appliedGroupingActivity_cmb._y = 75; - } - - grouping_lbl.visible = v; - appliedGroupingActivity_cmb.visible = v; - - if(e != null) { - grouping_lbl.enabled = e; - appliedGroupingActivity_cmb.enabled = e; - } - - } - - private function checkEnabledGroupControl(){ - var ca = _canvasModel.selectedItem; - var parentAct = _canvasModel.getCanvas().ddm.getActivityByUIID(ca.activity.parentUIID) - if (ca.activity.parentUIID != null && parentAct.activityTypeID == Activity.PARALLEL_ACTIVITY_TYPE) { - appliedGroupingActivity_cmb.enabled = false; - }else { - appliedGroupingActivity_cmb.enabled = false; - } - } - - private function showGroupingControls(v:Boolean, e:Boolean){ - groupType_lbl.visible = v; - groupType_cmb.visible = v; - - if(v){ - showRelevantGroupOptions(); - }else{ - numGroups_lbl.visible = v; - numLearners_lbl.visible = v; - numGroups_rdo.visible = v; - numLearners_rdo.visible = v; - numGroups_stp.visible = v; - numRandomGroups_stp.visible = v; - numLearners_stp.visible = v; - - } - - } - private function showToolActivityProperties(ta:ToolActivity){ toolDisplayName_lbl.text = ""+Dictionary.getValue('pi_title')+" - "+StringUtils.cleanNull(ta.toolDisplayName); @@ -802,6 +477,7 @@ if(_canvasModel.selectedItem.activity.activityTypeID == Activity.GROUP_BRANCHING_ACTIVITY_TYPE) { showAppliedGroupingControls(true, !ba.readOnly); + showGroupBasedBranchingControls(true, !ba.readOnly); } } @@ -811,9 +487,17 @@ } + private function showBranchProperties(b:Branch){ + toolDisplayName_lbl.text = ""+Dictionary.getValue('pi_title')+" - "+Dictionary.getValue('pi_activity_type_sequence'); + + title_txt.text = b.sequenceActivity.title; + + } + private function populateGroupingProperties(ga:GroupingActivity){ var g = _canvasModel.getCanvas().ddm.getGroupingByUIID(ga.createGroupingUIID); toolDisplayName_lbl.text = ""+Dictionary.getValue('pi_title')+" - "+Dictionary.getValue('pi_activity_type_grouping'); + Debugger.log('This is the grouping object:',Debugger.GEN,'populateGroupingProperties','PropertyInspector'); ObjectUtils.printObject(g); @@ -829,14 +513,17 @@ numLearners_stp.value = g.learnersPerGroup; }else if(g.numberOfGroups != null){ numRandomGroups_stp.value = g.numberOfGroups; + _group_naming_btn.enabled = (numRandomGroups_stp.value > 0) ? true : false; } }else{ if(g.maxNumberOfGroups != null){ numGroups_stp.value = g.maxNumberOfGroups; + _group_naming_btn.enabled = (numGroups_stp.value > 0) ? true : false; + } else { + _group_naming_btn.enabled = false; } } - } /** @@ -869,425 +556,5 @@ } } - - private function showRelevantGroupOptions(e:Boolean){ - - var ga = _canvasModel.selectedItem.activity; - var g = _canvasModel.getCanvas().ddm.getGroupingByUIID(ga.createGroupingUIID); - Debugger.log('g.groupingTypeID:'+g.groupingTypeID,Debugger.GEN,'showRelevantGroupOptions','org.lamsfoundation.lams.common.cv.PropertyInspector'); - Debugger.log('Grouping.CHOSEN_GROUPING:'+Grouping.CHOSEN_GROUPING,Debugger.GEN,'showRelevantGroupOptions','org.lamsfoundation.lams.common.cv.PropertyInspector'); - Debugger.log('Grouping.RANDOM_GROUPING:'+Grouping.RANDOM_GROUPING,Debugger.GEN,'showRelevantGroupOptions','org.lamsfoundation.lams.common.cv.PropertyInspector'); - - if(g.groupingTypeID == Grouping.CHOSEN_GROUPING){ - trace('chosen'); - numGroups_lbl.visible = true; - numLearners_lbl.visible = false; - numGroups_stp.visible = true; - numRandomGroups_stp.visible = false; - numLearners_stp.visible = false; - numLearners_rdo.visible = false; - numGroups_rdo.visible = false; - - - - - }else if(g.groupingTypeID == Grouping.RANDOM_GROUPING){ - trace('random'); - numGroups_lbl.visible = true; - numLearners_lbl.visible = true; - numGroups_stp.visible = false; - numRandomGroups_stp.visible = true; - numLearners_stp.visible = true; - numLearners_rdo.visible = true; - numGroups_rdo.visible = true; - - if(e != null) { - numGroups_lbl.enabled = e; - numLearners_lbl.enabled = e; - numGroups_stp.enabled = e; - numRandomGroups_stp.enabled = e; - numLearners_stp.enabled = e; - numLearners_rdo.enabled = e; - numGroups_rdo.enabled = e; - } - - checkEnableGroupsOptions(); - }else{ - //error dont understand the grouping type - } - - } - - private function reDrawTroublesomeSteppers(e:Boolean){ - numLearners_stp.visible = true; - numRandomGroups_stp.visible = true; - - - } - - private function checkEnableGateControls(e:Boolean){ - if(_canvasModel.selectedItem.activity.activityTypeID == Activity.SCHEDULE_GATE_ACTIVITY_TYPE){ - if(e != null) { - days_stp.enabled = e; - hours_stp.enabled = e; - mins_stp.enabled = e; - endHours_stp.enabled = e; - endMins_stp.enabled = e; - } else { - days_stp.enabled = true; - hours_stp.enabled = true; - mins_stp.enabled = true; - endHours_stp.enabled = true; - endMins_stp.enabled = true; - } - - } - /**/ - else{ - days_stp.enabled = false; - hours_stp.enabled = false; - mins_stp.enabled = false; - endHours_stp.enabled = false; - endMins_stp.enabled = false; - } - - //this is a crazy hack to stop the steppter dissapearing after its .enabled property is set. - //waits 2 frames to re-display the control ( 1 doensnt work!) - MovieClipUtils.doLater(Proxy.create(this,showGateControlsLater,true)); - } - - public function showGateControlsLater(bool:Boolean){ - MovieClipUtils.doLater(Proxy.create(this,showGateControls,bool)); - } - - /** - * Enables or disables the grouping method steppers - * @usage - * @return - */ - private function checkEnableGroupsOptions(e:Boolean){ - var groupingBy = rndGroup_radio.selection.data; - Debugger.log('groupingBy:'+groupingBy,Debugger.GEN,'checkEnableGroupsOptions','PropertyInspector'); - if(groupingBy == 'num_learners'){ - numRandomGroups_stp.value = 0; - numRandomGroups_stp.enabled = false; - numLearners_stp.enabled = (e != null) ? e :true; - }else{ - numRandomGroups_stp.enabled = (e != null) ? e : true; - numLearners_stp.value = 0; - numLearners_stp.enabled = false; - } - //this is a crazy hack to stop the steppter dissapearing after its .enabled property is set. - //waits 2 frames to re-display the control ( 1 doensnt work!) - MovieClipUtils.doLater(Proxy.create(this,reDrawTroublesomeSteppersLater)); - - } - - public function reDrawTroublesomeSteppersLater(){ - MovieClipUtils.doLater(Proxy.create(this,reDrawTroublesomeSteppers)); - } - - /** - * Called when there is a change in the values of the group method steppers - * Butdates the value inthe grouping class being edited. - * @usage - * @return - */ - public function updateGroupingMethodData(){ - var ga = _canvasModel.selectedItem.activity; - var g = _canvasModel.getCanvas().ddm.getGroupingByUIID(ga.createGroupingUIID); - if(g.groupingTypeID == Grouping.RANDOM_GROUPING){ - //not only one of these should actually have a non 0 value - g.learnersPerGroup = numLearners_stp.value; - g.numberOfGroups = numRandomGroups_stp.value; - }else{ - g.maxNumberOfGroups = numGroups_stp.value; - } - - setModified(); - } - - private function getGroupingActivitiesDP(){ - var gActs = _canvasModel.getCanvas().ddm.getGroupingActivities(); - var gActsDP = new Array(); - var ga = _canvasModel.selectedItem.activity; - var g = _canvasModel.getCanvas().ddm.getGroupingByUIID(ga.createGroupingUIID); - - gActsDP.push({label:Dictionary.getValue('pi_no_grouping'),data:null}); - - for(var i=0; i" + + gateType_lbl.text = Dictionary.getValue('trans_dlg_gatetypecmb'); + branchType_lbl.text = Dictionary.getValue("pi_branch_type"); + + days_lbl.text = Dictionary.getValue('pi_days'); + hours_lbl.text = Dictionary.getValue('pi_hours'); + mins_lbl.text = Dictionary.getValue('pi_mins'); + hoursEnd_lbl.text = Dictionary.getValue('pi_hours'); + minsEnd_lbl.text = Dictionary.getValue('pi_mins'); + startOffset_lbl.text = Dictionary.getValue('pi_start_offset'); + endOffset_lbl.text = Dictionary.getValue('pi_end_offset'); + + groupType_lbl.text = Dictionary.getValue('pi_group_type'); + numGroups_lbl.text = Dictionary.getValue('pi_num_groups'); + numLearners_lbl.text = Dictionary.getValue('pi_num_learners'); + + //Properties tab + title_lbl.text = Dictionary.getValue('pi_lbl_title'); + desc_lbl.text = Dictionary.getValue('pi_lbl_desc'); + grouping_lbl.text = Dictionary.getValue('pi_lbl_group'); + currentGrouping_lbl.text = Dictionary.getValue('pi_lbl_currentgroup'); + defineLater_chk.label = Dictionary.getValue('pi_definelater'); + runOffline_chk.label = Dictionary.getValue('pi_runoffline'); + + //Complex Activity + 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_naming_btn.label = Dictionary.getValue('pi_group_naming_btn_lbl'); + + //populate the synch type combo: + gateType_cmb.dataProvider = Activity.getGateActivityTypes(); + branchType_cmb.dataProvider = Activity.getBranchingActivityTypes(); + groupType_cmb.dataProvider = Grouping.getGroupingTypesDataProvider(); + + //Call to apply style to all the labels and input fields + setStyles(); + + //fire event to say we have loaded + delete this.onEnterFrame; + + //hide all the controls at startup + delimitLine._visible = false; + _group_match_btn.visible = false; + + hideAllSteppers(false); + showGroupingControls(false); + showGeneralControls(false); + showOptionalControls(false); + showToolActivityControls(false); + showGateControls(false); + showBranchingControls(false); + showAppliedGroupingControls(false); + showGeneralInfo(true); + + dispatchEvent({type:'load',target:this}); + } + + private function hideAllSteppers(v):Void{ + hours_stp.visible = v + mins_stp.visible = v + endHours_stp.visible = v + endMins_stp.visible = v + numGroups_stp.visible = v + numRandomGroups_stp.visible = v + numLearners_stp.visible = v + minAct_stp.visible = v + maxAct_stp.visible = v + } + + private function setTabIndex(selectedTab:String){ + + //Tool Activities + title_txt.tabIndex = 401 + applied_grouping_lbl.tabIndex = 402 + appliedGroupingActivity_cmb.tabIndex = 402 + runOffline_chk.tabIndex = 403 + defineLater_chk.tabIndex = 404 + + //Optional Activities + desc_txt.tabIndex = 402 + minAct_stp.tabIndex = 403 + maxAct_stp.tabIndex = 404 + + //Gate Activities + //gateType_cmb.enabled = true + gateType_cmb.tabIndex = 402 + days_stp.tabIndex = 403 + hours_stp.tabIndex = 404 + mins_stp.tabIndex = 405 + endHours_stp.tabIndex = 406 + endMins_stp.tabIndex = 407 + + //Grouping Activities + groupType_cmb.tabIndex = 402 + numGroups_stp.tabIndex = 403 + numGroups_rdo.tabIndex = 404 + numRandomGroups_stp.tabIndex = 405 + numLearners_rdo.tabIndex = 406 + numLearners_stp.tabIndex = 407 + + } + + private function showToolActivityControls(v:Boolean, e:Boolean){ + + var a = _canvasModel.selectedItem.activity; + var parentAct = _canvasModel.getCanvas().ddm.getActivityByUIID(a.parentUIID) + + if(a.parentUIID != null && parentAct.activityTypeID == Activity.PARALLEL_ACTIVITY_TYPE) { + applied_grouping_lbl.visible = v + appliedGroupingActivity_cmb.visible = false; + + applied_grouping_lbl.enabled = e; + + } else { + applied_grouping_lbl.visible = false + appliedGroupingActivity_cmb.visible = v; + + appliedGroupingActivity_cmb.enabled = e; + + } + + grouping_lbl.visible = v; + currentGrouping_lbl.visible = v; + runOffline_chk.visible = v; + defineLater_chk.visible = v; + editGrouping_btn.visible = v; + + if(e != null) { + grouping_lbl.enabled = e; + currentGrouping_lbl.enabled = e; + runOffline_chk.enabled = e; + defineLater_chk.enabled = e; + editGrouping_btn.enabled = e; + } + } + + + private function showGeneralInfo(v:Boolean, e:Boolean){ + total_num_activities_lbl.visible = v; + total_num_activities_lbl.enabled = (e != null) ? e : true; + } + + private function showGeneralControls(v:Boolean, e:Boolean){ + + title_lbl.visible = v; + title_txt.visible = v; + + if(e != null) { + title_lbl.enabled = e; + title_txt.enabled = e; + } + } + + private function showOptionalControls(v:Boolean, e:Boolean){ + + min_lbl.visible = v; + max_lbl.visible = v; + minAct_stp.visible = v; + maxAct_stp.visible = v; + desc_lbl.visible = v; + desc_txt.visible = v; + + if(e != null) { + min_lbl.enabled = e; + max_lbl.enabled = e; + minAct_stp.enabled = e; + maxAct_stp.enabled = e; + desc_lbl.enabled = e; + desc_txt.enabled = e; + } + + grouping_lbl.visible = false; + + + } + + private function showGateControls(v:Boolean, e:Boolean){ + + days_lbl.visible = v; + hours_lbl.visible = v; + mins_lbl.visible = v; + hoursEnd_lbl.visible = v; + minsEnd_lbl.visible = v; + days_stp.visible = v; + hours_stp.visible = v; + mins_stp.visible = v; + gateType_lbl.visible = v; + gateType_cmb.visible = v; + startOffset_lbl.visible = v; + + if(e != null) { + days_lbl.enabled = e; + hours_lbl.enabled = e; + mins_lbl.enabled = e; + hoursEnd_lbl.enabled = e; + minsEnd_lbl.enabled = e; + days_stp.enabled = e; + hours_stp.enabled = e; + mins_stp.enabled = e; + gateType_lbl.enabled = e; + gateType_cmb.enabled = e; + startOffset_lbl.enabled = e; + } + + } + + private function showBranchingControls(v:Boolean, e:Boolean){ + branchType_lbl.visible = v; + branchType_cmb.visible = v; + + if(_group_match_btn.visible && !v) _group_match_btn.visible = v; + + if(e != null) { + branchType_lbl.enabled = e; + branchType_cmb.enabled = e; + } + } + + /** + * Shows or hides the app.lied grouping + * AND title fields + * @usage + * @param v + * @return + */ + private function showAppliedGroupingControls(v:Boolean, e:Boolean){ + if(_canvasModel.selectedItem.activity.activityTypeID != Activity.GROUP_BRANCHING_ACTIVITY_TYPE) { + grouping_lbl._y = 52; + appliedGroupingActivity_cmb._y = 52; + } else { + grouping_lbl._y = 75; + appliedGroupingActivity_cmb._y = 75; + } + + grouping_lbl.visible = v; + appliedGroupingActivity_cmb.visible = v; + + if(e != null) { + grouping_lbl.enabled = e; + appliedGroupingActivity_cmb.enabled = e; + } + + } + + private function checkEnabledGroupControl(){ + var ca = _canvasModel.selectedItem; + var parentAct = _canvasModel.getCanvas().ddm.getActivityByUIID(ca.activity.parentUIID) + if (ca.activity.parentUIID != null && parentAct.activityTypeID == Activity.PARALLEL_ACTIVITY_TYPE) { + appliedGroupingActivity_cmb.enabled = false; + }else { + appliedGroupingActivity_cmb.enabled = false; + } + } + + private function showGroupingControls(v:Boolean, e:Boolean){ + groupType_lbl.visible = v; + groupType_cmb.visible = v; + + if(v){ + showRelevantGroupOptions(); + }else{ + numGroups_lbl.visible = v; + numLearners_lbl.visible = v; + numGroups_rdo.visible = v; + numLearners_rdo.visible = v; + numGroups_stp.visible = v; + numRandomGroups_stp.visible = v; + numLearners_stp.visible = v; + _group_naming_btn.visible = v; + } + + } + + private function showRelevantGroupOptions(e:Boolean){ + + var ga = _canvasModel.selectedItem.activity; + var g = _canvasModel.getCanvas().ddm.getGroupingByUIID(ga.createGroupingUIID); + Debugger.log('g.groupingTypeID:'+g.groupingTypeID,Debugger.GEN,'showRelevantGroupOptions','org.lamsfoundation.lams.common.cv.PropertyInspector'); + Debugger.log('Grouping.CHOSEN_GROUPING:'+Grouping.CHOSEN_GROUPING,Debugger.GEN,'showRelevantGroupOptions','org.lamsfoundation.lams.common.cv.PropertyInspector'); + Debugger.log('Grouping.RANDOM_GROUPING:'+Grouping.RANDOM_GROUPING,Debugger.GEN,'showRelevantGroupOptions','org.lamsfoundation.lams.common.cv.PropertyInspector'); + + if(g.groupingTypeID == Grouping.CHOSEN_GROUPING){ + numGroups_lbl.visible = true; + numLearners_lbl.visible = false; + numGroups_stp.visible = true; + numRandomGroups_stp.visible = false; + numLearners_stp.visible = false; + numLearners_rdo.visible = false; + numGroups_rdo.visible = false; + + _group_naming_btn.visible = true; + + if(e != null) { + numGroups_lbl.enabled = e; + _group_naming_btn.enabled = e; + } + + }else if(g.groupingTypeID == Grouping.RANDOM_GROUPING){ + numGroups_lbl.visible = true; + numLearners_lbl.visible = true; + numGroups_stp.visible = false; + numRandomGroups_stp.visible = true; + numLearners_stp.visible = true; + numLearners_rdo.visible = true; + numGroups_rdo.visible = true; + + _group_naming_btn.visible = true; + + if(e != null) { + numGroups_lbl.enabled = e; + numLearners_lbl.enabled = e; + numGroups_stp.enabled = e; + numRandomGroups_stp.enabled = e; + numLearners_stp.enabled = e; + numLearners_rdo.enabled = e; + numGroups_rdo.enabled = e; + + _group_naming_btn.enabled = e; + } + + + checkEnableGroupsOptions(e); + + }else{ + //error dont understand the grouping type + } + + + } + + private function reDrawTroublesomeSteppers(e:Boolean){ + numLearners_stp.visible = true; + numRandomGroups_stp.visible = true; + + + } + + private function checkEnableGateControls(e:Boolean){ + if(_canvasModel.selectedItem.activity.activityTypeID == Activity.SCHEDULE_GATE_ACTIVITY_TYPE){ + if(e != null) { + days_stp.enabled = e; + hours_stp.enabled = e; + mins_stp.enabled = e; + endHours_stp.enabled = e; + endMins_stp.enabled = e; + } else { + days_stp.enabled = true; + hours_stp.enabled = true; + mins_stp.enabled = true; + endHours_stp.enabled = true; + endMins_stp.enabled = true; + } + + } + /**/ + else{ + days_stp.enabled = false; + hours_stp.enabled = false; + mins_stp.enabled = false; + endHours_stp.enabled = false; + endMins_stp.enabled = false; + } + + //this is a crazy hack to stop the steppter dissapearing after its .enabled property is set. + //waits 2 frames to re-display the control ( 1 doensnt work!) + MovieClipUtils.doLater(Proxy.create(this,showGateControlsLater,true)); + } + + public function showGateControlsLater(bool:Boolean){ + MovieClipUtils.doLater(Proxy.create(this,showGateControls,bool)); + } + + /** + * Enables or disables the grouping method steppers + * @usage + * @return + */ + private function checkEnableGroupsOptions(e:Boolean){ + var groupingBy = rndGroup_radio.selection.data; + Debugger.log('groupingBy:'+groupingBy,Debugger.GEN,'checkEnableGroupsOptions','PropertyInspector'); + if(groupingBy == 'num_learners'){ + numRandomGroups_stp.value = 0; + numRandomGroups_stp.enabled = false; + numLearners_stp.enabled = (e != null) ? e :true; + + _group_naming_btn.enabled = false; + }else{ + numRandomGroups_stp.enabled = (e != null) ? e : true; + numLearners_stp.value = 0; + numLearners_stp.enabled = false; + + _group_naming_btn.enabled = (e != null && numRandomGroups_stp.value > 0) ? e : true; + } + + //this is a crazy hack to stop the steppter dissapearing after its .enabled property is set. + //waits 2 frames to re-display the control ( 1 doensnt work!) + MovieClipUtils.doLater(Proxy.create(this,reDrawTroublesomeSteppersLater)); + + } + + public function reDrawTroublesomeSteppersLater(){ + MovieClipUtils.doLater(Proxy.create(this,reDrawTroublesomeSteppers)); + } + + /** + * Called when there is a change in the values of the group method steppers + * Butdates the value inthe grouping class being edited. + * @usage + * @return + */ + public function updateGroupingMethodData(){ + var ga = _canvasModel.selectedItem.activity; + var g = _canvasModel.getCanvas().ddm.getGroupingByUIID(ga.createGroupingUIID); + if(g.groupingTypeID == Grouping.RANDOM_GROUPING){ + //not only one of these should actually have a non 0 value + g.learnersPerGroup = numLearners_stp.value; + g.numberOfGroups = numRandomGroups_stp.value; + }else{ + g.maxNumberOfGroups = numGroups_stp.value; + } + + setModified(); + } + + private function getGroupingActivitiesDP(){ + var gActs = _canvasModel.getCanvas().ddm.getGroupingActivities(); + var gActsDP = new Array(); + var ga = _canvasModel.selectedItem.activity; + var g = _canvasModel.getCanvas().ddm.getGroupingByUIID(ga.createGroupingUIID); + + gActsDP.push({label:Dictionary.getValue('pi_no_grouping'),data:null}); + + for(var i=0; i 0 && ca.activity.groupingUIID != null) { + _group_match_btn.visible = v; + _group_match_btn.enabled = e; + } else { + _group_match_btn.visible = false; + } + + } + + /** + * Handles click event from the grouping method radio buttons + * @usage + * @param evt + * @return + */ + private function onGroupingMethodChange(evt:Object){ + checkEnableGroupsOptions(!_canvasModel.selectedItem.activity.readOnly); + setModified(); + } + + + private function onScheduleOffsetChange(evt:Object){ + + var startOffsetMins:Number = (days_stp.value * 60 * 24) + (hours_stp.value * 60) + mins_stp.value; + _canvasModel.selectedItem.activity.gateStartTimeOffset = startOffsetMins; + var endOffsetMins:Number = (endHours_stp.value * 60) + endMins_stp.value; + _canvasModel.selectedItem.activity.gateEndTimeOffset = endOffsetMins; + Debugger.log('activity.gateStartTimeOffset :'+_canvasModel.selectedItem.activity.gateStartTimeOffset ,Debugger.GEN,'onScheduleOffsetChange','PropertyInspector'); + Debugger.log('activity.gateEndTimeOffset :'+_canvasModel.selectedItem.activity.gateEndTimeOffset,Debugger.GEN,'onScheduleOffsetChange','PropertyInspector'); + + setModified(); + + } + + private function onGroupMatchClick(evt:Object){ + + // open group to branch matching window + _app.dialog = PopUpManager.createPopUp(Application.root, LFWindow, true, {title:Dictionary.getValue('groupmatch_dlg_title_lbl'), closeButton:true, viewResize:false, scrollContentPath:'groupMatchDialog'}); + _app.dialog.addEventListener('contentLoaded', Delegate.create(this, groupMatchDialogLoaded)); + + setModified(); + } + + private function onGroupNamingClick(evt:Object){ + + // open group to branch matching window + _app.dialog = PopUpManager.createPopUp(Application.root, LFWindow, true, {title:Dictionary.getValue('groupnaming_dlg_title_lbl'), closeButton:true, viewResize:false, scrollContentPath:'GroupNamingDialog'}); + _app.dialog.addEventListener('contentLoaded', Delegate.create(this, GroupNamingDialogLoaded)); + + setModified(); + } + + private function groupMatchDialogLoaded(evt:Object) { + var branches:Object = _canvasModel.getCanvas().ddm.getBranchesForActivityUIID(_canvasModel.selectedItem.activity.activityUIID); + var grouping = _canvasModel.getCanvas().ddm.getGroupingByUIID(_canvasModel.selectedItem.activity.groupingUIID); + + evt.target.scrollContent.groups = grouping.getGroups(); + evt.target.scrollContent.branches = getValidBranches(branches.myBranches); + evt.target.scrollContent.loadLists(); + + } + + private function GroupNamingDialogLoaded(evt:Object) { + var grouping = _canvasModel.getCanvas().ddm.getGroupingByUIID(_canvasModel.selectedItem.activity.createGroupingUIID); + + Debugger.log("grouping: " + grouping, Debugger.CRITICAL, "GroupNamingDialogLoaded", "PropertyInspectorControls"); + + evt.target.scrollContent.groups = grouping.getGroups(); + evt.target.scrollContent.setupGrid(); + } + + private function getValidBranches(branches:Array):Array { + for(var i=0; i < branches.length; i++) { + if(branches[i].direction != BranchConnector.DIR_FROM_START) + branches.splice(i, 1); + } + + return branches; + } + + /** + * 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 + */ + /**/ + public function click(e):Void{ + var tgt:String = new String(e.target); + if(tgt.indexOf("defineLater_chk") != -1){ + + _canvasModel.selectedItem.activity.defineLater = defineLater_chk.selected; + Debugger.log('_canvasModel.selectedItem.activity.defineLater:'+_canvasModel.selectedItem.activity.defineLater,Debugger.GEN,'click','PropertyInspector'); + + }else if(tgt.indexOf("runOffline_chk") != -1){ + + _canvasModel.selectedItem.activity.runOffline = runOffline_chk.selected; + Debugger.log('_canvasModel.selectedItem.activity.runOffline:'+_canvasModel.selectedItem.activity.runOffline,Debugger.GEN,'click','PropertyInspector'); + _canvasModel.selectedItem.refresh(_canvasModel.selectedItem.activity.runOffline) + } + + setModified(); + } + + + /** + * Recieves the click events from the canvas views (inc Property Inspector) buttons. Based on the label + * the relevent method is called to action the user request + * @param evt + */ + public function focusOut(e):Void{ + var tgt:String = new String(e.target); + Debugger.log('focusOut tgt:'+tgt,Debugger.GEN,'focusOut','PropertyInspector'); + + if(tgt.indexOf("title_txt") != -1){ + //todo check if this is the right place to set edited content, should it be ddm? + _canvasModel.selectedItem.activity.title = title_txt.text; + + }else if(tgt.indexOf("desc_txt") != -1){ + _canvasModel.selectedItem.activity.description= desc_txt.text; + } + _canvasModel.selectedItem.refresh(); + if (_canvasModel.selectedItem.activity.activityTypeID == Activity.PARALLEL_ACTIVITY_TYPE || _canvasModel.selectedItem.activity.activityTypeID == Activity.OPTIONAL_ACTIVITY_TYPE){ + _canvasModel.selectedItem.init(); + } + + setModified(); + + } + + /** + * + * Invalidate design (set modified/unsaved flag) when Activity properties are modified + * + */ + private function setModified():Void{ + _canvasModel.getCanvas().ddm.validDesign = false; + _canvasModel.getCanvas().checkValidDesign(); + + ApplicationParent.extCall("setSaved", "false"); + } + + private function moveItem(item:Object, xDiff:Number, yDiff:Number) { + item._x += xDiff; + item._y += yDiff; + } + +} + Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/tb/Toolbar.as =================================================================== diff -u -r77deb8f0850b92b8de8bbecd08f011b6450c00ea -r60db93c549c96bad95e890f34add10c4ef9d3d2e --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/tb/Toolbar.as (.../Toolbar.as) (revision 77deb8f0850b92b8de8bbecd08f011b6450c00ea) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/tb/Toolbar.as (.../Toolbar.as) (revision 60db93c549c96bad95e890f34add10c4ef9d3d2e) @@ -57,7 +57,7 @@ toolbarModel = new ToolbarModel(this, mode); //Create the view - toolbarView_mc = target_mc.createChildAtDepth("toolbarView",DepthManager.kTop); + toolbarView_mc = target_mc.createChildAtDepth("toolbarView", DepthManager.kTop); //Cast toolbar view clip as ToolbarBview and initialise passing in model toolbarView = ToolbarView(toolbarView_mc); Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/tb/ToolbarView.as =================================================================== diff -u -rea5dd39341c9597a297fe0e292479b5e184196c5 -r60db93c549c96bad95e890f34add10c4ef9d3d2e --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/tb/ToolbarView.as (.../ToolbarView.as) (revision ea5dd39341c9597a297fe0e292479b5e184196c5) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/tb/ToolbarView.as (.../ToolbarView.as) (revision 60db93c549c96bad95e890f34add10c4ef9d3d2e) @@ -81,8 +81,6 @@ _tm = ThemeManager.getInstance(); _dictionary = Dictionary.getInstance(); _tip = new ToolTip(); - //_dictionary.addEventListener('init',Proxy.create(this,setupButtons)); - //_dictionary.addEventListener('init',Proxy.create(this,setupLabels)); } /** @@ -109,7 +107,7 @@ var widthSet1:Number = Math.max(flowW, gateW) var widthSet2:Number = Math.max(flowW, branchW) var maxWidth:Number = Math.max(widthSet1, widthSet2) - trace("flow width: "+flowW+" gate width: "+gateW+" branch width: "+branchW+" and max button width: "+maxWidth) + flow_bkg_pnl.setSize(maxWidth+6, 95) flow_bkg_pnl._x = branch_btn._x-3; Index: lams_flash/src/central/flash/org/lamsfoundation/lams/learner/Application.as =================================================================== diff -u -rd7823922f404944822957e6c051bc0f1335a76de -r60db93c549c96bad95e890f34add10c4ef9d3d2e --- lams_flash/src/central/flash/org/lamsfoundation/lams/learner/Application.as (.../Application.as) (revision d7823922f404944822957e6c051bc0f1335a76de) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/learner/Application.as (.../Application.as) (revision 60db93c549c96bad95e890f34add10c4ef9d3d2e) @@ -259,15 +259,12 @@ //Which item has loaded switch (evt.target.className) { case 'Lesson' : - trace('Lesson loaded...'); _lessonLoaded = true; break; case 'Header' : - trace('Header loaded...'); _headerLoaded = true; break; case 'Scratchpad' : - trace('Scratchpad loaded...'); _scratchpadLoaded = true; break; default: @@ -338,7 +335,6 @@ Debugger.log('current: ' + current,Debugger.CRITICAL,'refreshProgress','Application'); Debugger.log('version: ' + version,Debugger.CRITICAL,'refreshProgress','Application'); Debugger.log('_root lesson ID: ' + _root.lessonID + ' passed in lesson ID: ' + lessonID,Debugger.CRITICAL,'refreshProgress','Application'); - //Debugger.log('_root unique ID: ' + _root.uniqueID + ' passed in unique ID: ' + uniqueID,Debugger.CRITICAL,'refreshProgress','Application'); if(_root.lessonID == lessonID){ var attemptedArray:Array = attempted.split("_"); @@ -362,8 +358,7 @@ * */ static function get tooltip():MovieClip { - trace("tooltip called") - //Return root if valid otherwise raise a big system error as app. will not work without it + //Return root if valid otherwise raise a big system error as app. will not work without it if(_instance._tooltipContainer_mc != undefined) { return _instance._tooltipContainer_mc; } else { @@ -418,10 +413,7 @@ */ private function onKeyDown(){ - //var mouseListener:Object = new Object(); - //Debugger.log('Key.isDown(Key.CONTROL): ' + Key.isDown(Key.CONTROL),Debugger.GEN,'onKeyDown','Application'); - //Debugger.log('Key: ' + Key.getCode(),Debugger.GEN,'onKeyDown','Application'); - //the debug window: + // show/hide the debug window: if (Key.isDown(Key.CONTROL) && Key.isDown(Key.ALT) && Key.isDown(QUESTION_MARK_KEY)) { if (!_debugDialog.content){ showDebugger(); Index: lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/Application.as =================================================================== diff -u -rd7823922f404944822957e6c051bc0f1335a76de -r60db93c549c96bad95e890f34add10c4ef9d3d2e --- lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/Application.as (.../Application.as) (revision d7823922f404944822957e6c051bc0f1335a76de) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/Application.as (.../Application.as) (revision 60db93c549c96bad95e890f34add10c4ef9d3d2e) @@ -69,7 +69,7 @@ public static var WORKSPACE_H:Number = 200; public static var APP_ROOT_DEPTH:Number = 10; //depth of the application root - public static var DIALOGUE_DEPTH:Number = 20; //depth of the cursors + public static var DIALOGUE_DEPTH:Number = 55; //depth of the cursors public static var TOOLTIP_DEPTH:Number = 60; //depth of the cursors public static var CURSOR_DEPTH:Number = 40; //depth of the cursors public static var MENU_DEPTH:Number = 25; //depth of the menu @@ -106,8 +106,6 @@ private var _config:Config; private var _debugDialog:MovieClip; //Reference to the debug dialog - - private var _dialogueContainer_mc:MovieClip; //Dialog container private var _tooltipContainer_mc:MovieClip; //Tooltip container private var _cursorContainer_mc:MovieClip; //Cursor container private var _menu_mc:MovieClip; //Menu bar clip Index: lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/LessonManagerDialog.as =================================================================== diff -u -rd7823922f404944822957e6c051bc0f1335a76de -r60db93c549c96bad95e890f34add10c4ef9d3d2e --- lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/LessonManagerDialog.as (.../LessonManagerDialog.as) (revision d7823922f404944822957e6c051bc0f1335a76de) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/LessonManagerDialog.as (.../LessonManagerDialog.as) (revision 60db93c549c96bad95e890f34add10c4ef9d3d2e) @@ -105,49 +105,37 @@ * constructor */ function LessonManagerDialog(){ - trace('initialising Lesson Manager Dialog'); - //Set up this class to use the Flash event delegation model + //Set up this class to use the Flash event delegation model EventDispatcher.initialize(this); + _resultDTO = new Object(); _learnersLoaded = false; _staffLoaded = false; - //Create a clip that will wait a frame before dispatching init to give components time to setup + + //Create a clip that will wait a frame before dispatching init to give components time to setup MovieClipUtils.doLater(Proxy.create(this,init)); } /** * Called a frame after movie attached to allow components to initialise */ private function init():Void{ - - trace('now initialising ...'); - + //set the reference to the StyleManager themeManager = ThemeManager.getInstance(); - // Set the styles setStyles(); setLabels(); - //Set the text for buttons - //ok_btn.label = Dictionary.getValue('lesson_dlg_ok'); - //cancel_btn.label = Dictionary.getValue('lesson_dlg_cancel'); - // disable on startup until learners/staff loaded enableButtons(false); - //Set the labels - - //get focus manager + set focus to OK button, focus manager is available to all components through getFocusManager - //fm = _container.getFocusManager(); - //fm.enabled = true; - //ok_btn.setFocus(); - //EVENTS //Add event listeners for ok, cancel and close buttons ok_btn.addEventListener('click',Delegate.create(this, ok)); cancel_btn.addEventListener('click',Delegate.create(this, cancel)); - //Assign Click (close button) and resize handlers + + //Assign Click (close button) and resize handlers _container.addEventListener('click',this); _container.addEventListener('size',this); @@ -158,8 +146,7 @@ yCancelOffset = panel._height - cancel_btn._y; treeview = org_dnd.getTree(); - trace('LF window: ' + _container); - trace('Tree: ' + treeview); + //fire event to say we have loaded _container.contentLoaded(); } @@ -171,9 +158,6 @@ */ public function setUpContent():Void{ - //register to recive updates form the model - //MonitorModel(_monitorView.getModel()).addEventListener('viewUpdate',this); - Debugger.log('_monitorView:'+_monitorView,Debugger.GEN,'setUpContent','org.lamsfoundation.lams.LessonManagerDialog'); //get a ref to the controller and kkep it here to listen for events: @@ -183,13 +167,9 @@ //Add event listeners for ok, cancel and close buttons ok_btn.addEventListener('onPress',Delegate.create(this, ok)); cancel_btn.addEventListener('onPress',Delegate.create(this, cancel)); - trace("OrganisationID is: "+_monitorModel.getSequence().organisationID) - getOrganisations(_monitorModel.getSequence().organisationID, null); - //Set up the treeview - //setUpTreeview(); - - //itemSelected(treeview.selectedNode); + getOrganisations(_monitorModel.getSequence().organisationID, null); + } /** @@ -209,7 +189,6 @@ * Called by the cancel button */ private function cancel(){ - trace('Cancel'); //close parent window _container.deletePopUp(); } @@ -229,37 +208,26 @@ var selectedStaff:Array = new Array(); if(snode == null){ - trace('no course/class selected'); - //LFMessage.showMessageAlert(Dictionary.getValue('al_validation_msg3_1'), null, null); return false; } else { // add selected users to dto - trace('learners') - - for(var i=0; i= USERS_LOAD_CHECK_TIMEOUT_COUNT){ //if we havent loaded the dict or theme by the timeout count then give up Debugger.log('raeached time out waiting to load dict and themes, giving up.',Debugger.CRITICAL,'checkUILoaded','Application'); @@ -457,23 +401,25 @@ if(classID != undefined){ Application.getInstance().getComms().getRequest('workspace.do?method=getUserOrganisation&userID='+_root.userID+'&organisationID='+classID+'&roles=MONITOR,COURSE MANAGER',callback, false); }else if(courseID != undefined){ - trace('course defined: doing request'); Application.getInstance().getComms().getRequest('workspace.do?method=getUserOrganisation&userID='+_root.userID+'&organisationID='+courseID+'&roles=MONITOR,COURSE MANAGER',callback, false); }else{ // TODO no course or class defined } } private function showOrgTree(dto:Object):Void{ - trace('organisations tree returned...'); - trace('creating root node...'); - // create root (dummy) node + if(dto instanceof LFError) { + LFError(dto).showErrorAlert(); + return; + } + + // create root (dummy) node var odto = getDataObject(dto); _monitorModel.initOrganisationTree(); + var rootNode:XMLNode = _monitorModel.treeDP.addTreeNode(odto.name, odto); - //rootNode.attributes.isBranch = true; _monitorModel.setOrganisationResource(RT_ORG+'_'+odto.organisationID,rootNode); // create tree xml branches @@ -486,13 +432,10 @@ private function createXMLNodes(root:XMLNode, nodes:Array) { for(var i=0; i0){ childNode.attributes.isBranch = true; createXMLNodes(childNode, nodes[i].nodes); @@ -539,11 +482,9 @@ */ public function loadLearners(users:Array):Void{ - trace('loading Learners...'); _learnerList = clearScp(_learnerList); _learner_mc = learner_scp.content; - trace('list length: ' + users.length); for(var i=0; i= DATA_LOAD_CHECK_TIMEOUT_COUNT) { Debugger.log('reached timeout waiting for data to load.',Debugger.CRITICAL,'checkDataLoaded','Application'); clearInterval(_DataLoadCheckIntervalID); Index: lams_flash/src/common/flash/org/lamsfoundation/lams/common/ApplicationParent.as =================================================================== diff -u -r30b7641a18c8c83b3722fc22bb936d54f4eaa18b -r60db93c549c96bad95e890f34add10c4ef9d3d2e --- lams_flash/src/common/flash/org/lamsfoundation/lams/common/ApplicationParent.as (.../ApplicationParent.as) (revision 30b7641a18c8c83b3722fc22bb936d54f4eaa18b) +++ lams_flash/src/common/flash/org/lamsfoundation/lams/common/ApplicationParent.as (.../ApplicationParent.as) (revision 60db93c549c96bad95e890f34add10c4ef9d3d2e) @@ -59,7 +59,7 @@ private var _config:Config; private var _workspace:Workspace; - + private var _currentDialog:MovieClip; private var _customCursor_mc:MovieClip; //Cursor container @@ -74,7 +74,9 @@ private var _module:String; private var _appRoot_mc:MovieClip; //Application root clip + private var _dialogueContainer_mc:MovieClip; //Dialog container + // constructor public function ApplicationParent(app:Object) { @@ -244,6 +246,30 @@ target.duplicateMovieClip(newName, depth, initObject); return target._parent[newName]; + } + + /** + * Returns the Dialogue conatiner mc + * + * @usage Import authoring package and then use + * + */ + static function get dialogue():MovieClip { + //Return root if valid otherwise raise a big system error as app. will not work without it + if(_instance._dialogueContainer_mc != undefined) { + return _instance._dialogueContainer_mc; + } else { + //TODO DI 11/05/05 Raise error if mc hasn't been created + + } + } + + public function get dialog():MovieClip { + return _currentDialog; + } + + public function set dialog(a:MovieClip) { + _currentDialog = a; } } \ No newline at end of file Index: lams_flash/src/common/flash/org/lamsfoundation/lams/common/ui/AlertDialog.as =================================================================== diff -u -rea5dd39341c9597a297fe0e292479b5e184196c5 -r60db93c549c96bad95e890f34add10c4ef9d3d2e --- lams_flash/src/common/flash/org/lamsfoundation/lams/common/ui/AlertDialog.as (.../AlertDialog.as) (revision ea5dd39341c9597a297fe0e292479b5e184196c5) +++ lams_flash/src/common/flash/org/lamsfoundation/lams/common/ui/AlertDialog.as (.../AlertDialog.as) (revision 60db93c549c96bad95e890f34add10c4ef9d3d2e) @@ -113,7 +113,7 @@ else setPosition(Stage.width/2 - _parent._x, Stage.height/2 - _parent._y); - addTransparentLayer(ApplicationParent.root); + addTransparentLayer(this._parent); contentLoaded(); @@ -130,15 +130,15 @@ private function addTransparentLayer(target:MovieClip) { var styleObj = themeManager.getStyleObject('CanvasPanel'); - transparentCover = target.createClassObject(Panel, "transparentCover", this.getDepth()-1, {_visible: true, enabled: false, _alpha: 15, _width: Stage.width, _height: Stage.height, styleName: styleObj}); + transparentCover = target.createClassObject(Panel, "transparentCover", DepthManager.kTop, {_visible: true, enabled: false, _alpha: 0, _width: Stage.width, _height: Stage.height, styleName: styleObj}); transparentCover.onPress = null; - org.lamsfoundation.lams.authoring.Application.getInstance().getToolbar().disableAll(); + ///org.lamsfoundation.lams.authoring.Application.getInstance().getToolbar().disableAll(); } private function removeTransparentLayer() { transparentCover.removeMovieClip(); - org.lamsfoundation.lams.authoring.Application.getInstance().getToolbar().enableAll(); + //org.lamsfoundation.lams.authoring.Application.getInstance().getToolbar().enableAll(); } public function setOKButton(lbl:String,fn:Function){ Index: lams_flash/src/common/flash/org/lamsfoundation/lams/common/ui/Dialog.as =================================================================== diff -u -rea5dd39341c9597a297fe0e292479b5e184196c5 -r60db93c549c96bad95e890f34add10c4ef9d3d2e --- lams_flash/src/common/flash/org/lamsfoundation/lams/common/ui/Dialog.as (.../Dialog.as) (revision ea5dd39341c9597a297fe0e292479b5e184196c5) +++ lams_flash/src/common/flash/org/lamsfoundation/lams/common/ui/Dialog.as (.../Dialog.as) (revision 60db93c549c96bad95e890f34add10c4ef9d3d2e) @@ -65,10 +65,13 @@ var target:MovieClip; + if(ApplicationParent.getInstance().getWorkspace().getWV().isOpen) { target = ApplicationParent.getInstance().getWorkspace().getWV().workspaceDialog; + } else if(ApplicationParent.getInstance().dialog.content) { + target = ApplicationParent.getInstance().dialog; } else { - target = ApplicationParent.root; + target = ApplicationParent.dialogue; } _inputDialog = target.attachMovie('alertDialog', 'alertDialog', DepthManager.kTopmost, {_x:0, _y:0}); Index: lams_flash/src/common/flash/org/lamsfoundation/lams/common/ui/LFMessage.as =================================================================== diff -u -r8ad16270f3ad03c45a8aa73353d6485bd2631a1c -r60db93c549c96bad95e890f34add10c4ef9d3d2e --- lams_flash/src/common/flash/org/lamsfoundation/lams/common/ui/LFMessage.as (.../LFMessage.as) (revision 8ad16270f3ad03c45a8aa73353d6485bd2631a1c) +++ lams_flash/src/common/flash/org/lamsfoundation/lams/common/ui/LFMessage.as (.../LFMessage.as) (revision 60db93c549c96bad95e890f34add10c4ef9d3d2e) @@ -22,13 +22,13 @@ */ -import org.lamsfoundation.lams.common.ApplicationParent -import org.lamsfoundation.lams.common.ui.* -import org.lamsfoundation.lams.common.util.* -import org.lamsfoundation.lams.common.dict.* +import org.lamsfoundation.lams.common.ApplicationParent; +import org.lamsfoundation.lams.common.ui.*; +import org.lamsfoundation.lams.common.util.*; +import org.lamsfoundation.lams.common.dict.*; import mx.controls.Alert; -import mx.managers.* +import mx.managers.*; /** * LFMessage