Index: lams_central/src/flash/org/lamsfoundation/lams/authoring/Application.as =================================================================== diff -u -rf9556a152589f80f1e35a1db2e8aa9f0794b0519 -r98c8d1d263ac824625f54193b5a923998e3ac5e4 --- lams_central/src/flash/org/lamsfoundation/lams/authoring/Application.as (.../Application.as) (revision f9556a152589f80f1e35a1db2e8aa9f0794b0519) +++ lams_central/src/flash/org/lamsfoundation/lams/authoring/Application.as (.../Application.as) (revision 98c8d1d263ac824625f54193b5a923998e3ac5e4) @@ -72,7 +72,7 @@ private static var DIALOGUE_DEPTH:Number = 20; //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; + private static var CCURSOR_DEPTH:Number = 201; private static var MENU_DEPTH:Number = 25; //depth of the menu private static var PI_DEPTH:Number = 35; //depth of the menu private static var TOOLBAR_DEPTH:Number = 50; //depth of the menu Index: lams_central/web/lams_authoring.swf =================================================================== diff -u -r3c9fbd5d5974d4ad22823ea6ad0a52c9aadd4af0 -r98c8d1d263ac824625f54193b5a923998e3ac5e4 Binary files differ Index: lams_central/web/lams_authoring_library.swf =================================================================== diff -u -r3c9fbd5d5974d4ad22823ea6ad0a52c9aadd4af0 -r98c8d1d263ac824625f54193b5a923998e3ac5e4 Binary files differ Index: lams_common/src/flash/org/lamsfoundation/lams/common/comms/Communication.as =================================================================== diff -u -ra14258831fcc72b00a6ff5c93654133a620bdc4c -r98c8d1d263ac824625f54193b5a923998e3ac5e4 --- lams_common/src/flash/org/lamsfoundation/lams/common/comms/Communication.as (.../Communication.as) (revision a14258831fcc72b00a6ff5c93654133a620bdc4c) +++ lams_common/src/flash/org/lamsfoundation/lams/common/comms/Communication.as (.../Communication.as) (revision 98c8d1d263ac824625f54193b5a923998e3ac5e4) @@ -111,10 +111,10 @@ * @param isFullURL:Boolean Inicates if the requestURL is fully qualified, if false serverURL will be prepended * @returns Void */ - public function getRequest(requestURL:String,handler:Function,isFullURL:Boolean):Void{ - //if(Application != null){ - Cursor.showCursor(ApplicationParent.C_HOURGLASS); - //} + public function getRequest(requestURL:String,handler:Function,isFullURL:Boolean):Void{ + + Cursor.showCursor(ApplicationParent.C_HOURGLASS); + //Create XML response object var responseXML = new XML(); responseXML.ignoreWhite = ignoreWhite; Index: lams_common/src/flash/org/lamsfoundation/lams/common/ui/Cursor.as =================================================================== diff -u -r735adeb5d2ea7849b86d4991480630c4613fadec -r98c8d1d263ac824625f54193b5a923998e3ac5e4 --- lams_common/src/flash/org/lamsfoundation/lams/common/ui/Cursor.as (.../Cursor.as) (revision 735adeb5d2ea7849b86d4991480630c4613fadec) +++ lams_common/src/flash/org/lamsfoundation/lams/common/ui/Cursor.as (.../Cursor.as) (revision 98c8d1d263ac824625f54193b5a923998e3ac5e4) @@ -33,8 +33,9 @@ * Used to set alternitive cursors to the UI */ class Cursor { - private static var _cursors:Array = new Array();; - private static var _current:String = new String();; + private static var _cursors:Array = new Array(); + private static var _bk_cursors:Array = new Array(); + private static var _current:String = new String(); //Declarations //Constructor function Cursor() { @@ -49,12 +50,15 @@ //var _cursor = _root.attachMovie(id,id+'_mc',DepthManager.kCursor); //Debugger.log('Test cursor id:' + id + '(' + _cursor + ')',Debugger.GEN,'addCursor','Cursor'); - var cursor_mc:MovieClip = ApplicationParent.ccursor.createChildAtDepth(id, DepthManager.kCursor); + //var cursor_mc:MovieClip = ApplicationParent.ccursor.createChildAtDepth(id, DepthManager.kCursor); //var cursor_mc:MovieClip = DepthManager.createObjectAtDepth(id, DepthManager.kCursor); - cursor_mc._visible = false; - _cursors[id]=cursor_mc; - Debugger.log('Adding cursor ID:'+id+'('+cursor_mc+')',Debugger.GEN,'addCursor','Cursor'); + //cursor_mc._visible = false; + //_cursors[id]=cursor_mc; + + updateOrCreateCursorRef(id, ApplicationParent.ccursor, DepthManager.kCursor); + + Debugger.log('Adding cursor ID:'+id+'('+_cursors[id]+')',Debugger.GEN,'addCursor','Cursor'); } public static function removeCursor(id:String):Void{ @@ -70,7 +74,7 @@ * Stored as static constants E.g: Aplication.C_HOURGLASS * @return */ - public static function showCursor(id:String):Void{ + public static function showCursor(id:String, target:MovieClip):Void{ Debugger.log('ID:'+id,Debugger.GEN,'showCursor','Cursor'); //TODO: Disable the UI when wait cursor is shown @@ -80,13 +84,39 @@ _cursors[_current]._visible = false; }else{ Mouse.hide(); - _cursors[_current]._visible = false; - _cursors[id]._visible = true; + _cursors[_current]._visible = false; + + if(_current != id) { + + if(target != null || target != undefined) { + updateOrCreateCursorRef(id, target, target._parent.getNextHighestDepth()); + } else { + updateOrCreateCursorRef(id, ApplicationParent.ccursor, DepthManager.kCursor); + } + } + startDrag(_cursors[id], true); + _cursors[id]._visible = true; } _current = id; } - + + public static function updateOrCreateCursorRef(cursor_id:String, target:MovieClip, depth:Number) { + Debugger.log('cursor_id:'+cursor_id + " target: " + target + " depth: " + depth,Debugger.GEN,'updateOrCreateCursorRef','Cursor'); + if(target != ApplicationParent.ccursor) { + _bk_cursors[cursor_id] = _cursors[cursor_id]; + } + + var cursor_mc = target.createChildAtDepth(cursor_id, depth); + + cursor_mc._visible = false; + _cursors[cursor_id] = cursor_mc; + + Debugger.log('cursor_mc: '+ cursor_mc,Debugger.GEN,'updateOrCreateCursorRef','Cursor'); + + + } + /** * Returns current cursor * @usage Index: lams_common/src/flash/org/lamsfoundation/lams/common/ws/Workspace.as =================================================================== diff -u -ra14258831fcc72b00a6ff5c93654133a620bdc4c -r98c8d1d263ac824625f54193b5a923998e3ac5e4 --- lams_common/src/flash/org/lamsfoundation/lams/common/ws/Workspace.as (.../Workspace.as) (revision a14258831fcc72b00a6ff5c93654133a620bdc4c) +++ lams_common/src/flash/org/lamsfoundation/lams/common/ws/Workspace.as (.../Workspace.as) (revision 98c8d1d263ac824625f54193b5a923998e3ac5e4) @@ -73,8 +73,6 @@ } - - /** * Retrieves the workspace details for the current user from the server. * DEPRICATED ! - we dontthink we have a use for this anymore Index: lams_common/src/flash/org/lamsfoundation/lams/common/ws/WorkspaceController.as =================================================================== diff -u -r87ccf050e224a95b1d8c73c3f7a76a1cf86fd568 -r98c8d1d263ac824625f54193b5a923998e3ac5e4 --- lams_common/src/flash/org/lamsfoundation/lams/common/ws/WorkspaceController.as (.../WorkspaceController.as) (revision 87ccf050e224a95b1d8c73c3f7a76a1cf86fd568) +++ lams_common/src/flash/org/lamsfoundation/lams/common/ws/WorkspaceController.as (.../WorkspaceController.as) (revision 98c8d1d263ac824625f54193b5a923998e3ac5e4) @@ -26,7 +26,7 @@ import org.lamsfoundation.lams.common.mvc.* import org.lamsfoundation.lams.common.util.* import org.lamsfoundation.lams.common.ui.* -import org.lamsfoundation.lams.common.dict.* +import org.lamsfoundation.lams.common.dict.* import mx.utils.* /* @@ -140,8 +140,10 @@ Debugger.log('nodeToOpen resourceID:'+nodeToOpen.attributes.data.resourceID,Debugger.GEN,'onTreeNodeOpen','org.lamsfoundation.lams.WorkspaceController'); //if this ndoe has children then the //data has already been got, nothing to do + - if(!nodeToOpen.hasChildNodes() && !_isBusy){ + if(!nodeToOpen.hasChildNodes() && !_isBusy){ + setBusy(); // DC24-01-06 this resource ID must refer to a folder as its been marked as a branch var resourceToOpen = nodeToOpen.attributes.data.resourceID; @@ -438,12 +440,14 @@ public function setBusy(){ _isBusy = true; - getView().workspaceDialogue.showHideBtn(false); + + getView().workspaceDialog.showHideBtn(false); } public function clearBusy(){ _isBusy = false; - getView().workspaceDialogue.showHideBtn(true); + + getView().workspaceDialog.showHideBtn(true); } public function getWSModel():WorkspaceModel{ Index: lams_common/src/flash/org/lamsfoundation/lams/common/ws/WorkspaceModel.as =================================================================== diff -u -rd9f9e33ff90f8ff1a0077688ad3ee5dbc233c209 -r98c8d1d263ac824625f54193b5a923998e3ac5e4 --- lams_common/src/flash/org/lamsfoundation/lams/common/ws/WorkspaceModel.as (.../WorkspaceModel.as) (revision d9f9e33ff90f8ff1a0077688ad3ee5dbc233c209) +++ lams_common/src/flash/org/lamsfoundation/lams/common/ws/WorkspaceModel.as (.../WorkspaceModel.as) (revision 98c8d1d263ac824625f54193b5a923998e3ac5e4) @@ -21,8 +21,11 @@ * ************************************************************************ */ import org.lamsfoundation.lams.common.ws.*; -import org.lamsfoundation.lams.common.util.* -import org.lamsfoundation.lams.common.dict.* +import org.lamsfoundation.lams.common.util.*; +import org.lamsfoundation.lams.common.dict.*; +import org.lamsfoundation.lams.common.ui.Cursor; +import org.lamsfoundation.lams.common.ApplicationParent; + //import mx.utils.ObjectCopy; import mx.events.* import mx.utils.* @@ -225,6 +228,9 @@ * @return */ public function openFolderInTree(resourceToOpen:Number, forced:Boolean):Void{ + + Cursor.showCursor(ApplicationParent.C_HOURGLASS, _workspace.getWV().workspaceCursor); + Debugger.log('resourceToOpen :'+resourceToOpen ,Debugger.GEN,'openFolderInTree','org.lamsfoundation.lams.WorkspaceModel'); //lets see if its in the hash table already (prob not) //if(_workspaceResources.get(resourceToOpen).attributes.data.contents == undefined){ @@ -336,6 +342,9 @@ if(openFolder) { broadcastViewUpdate('UPDATE_CHILD_FOLDER',nodeToUpdate); } else { broadcastViewUpdate('UPDATE_CHILD_FOLDER_NOOPEN',nodeToUpdate); } + Cursor.showCursor(ApplicationParent.C_DEFAULT); + + } /** Index: lams_common/src/flash/org/lamsfoundation/lams/common/ws/WorkspaceView.as =================================================================== diff -u -re3aef7ebcf8ea4fcf581d5f5588b17001c3b8482 -r98c8d1d263ac824625f54193b5a923998e3ac5e4 --- lams_common/src/flash/org/lamsfoundation/lams/common/ws/WorkspaceView.as (.../WorkspaceView.as) (revision e3aef7ebcf8ea4fcf581d5f5588b17001c3b8482) +++ lams_common/src/flash/org/lamsfoundation/lams/common/ws/WorkspaceView.as (.../WorkspaceView.as) (revision 98c8d1d263ac824625f54193b5a923998e3ac5e4) @@ -44,6 +44,7 @@ private var okClickedCallback:Function; private var _workspaceController:WorkspaceController; private var dialog:MovieClip; + private var cursorContainer:MovieClip; /* * Constructor */ @@ -108,9 +109,11 @@ } Debugger.log('_workspaceController:'+_workspaceController,4,'createWorkspaceDialogOpen','WorkspaceView'); - //Assign dialog load handler - dialog.addEventListener('contentLoaded',Delegate.create(_workspaceController,_workspaceController.openDialogLoaded)); + cursorContainer = dialog.createEmptyMovieClip('_cursorContainer_mc', dialog.getNextHighestDepth()); + //Assign dialog load handler + dialog.addEventListener('contentLoaded',Delegate.create(_workspaceController,_workspaceController.openDialogLoaded)); + } /** @@ -131,17 +134,20 @@ * @return */ public function set workspaceDialog (newworkspaceDialog:MovieClip):Void { - _workspaceDialog = newworkspaceDialog; + dialog = newworkspaceDialog; } /** * * @usage * @return */ public function get workspaceDialog ():MovieClip { - return _workspaceDialog; + return dialog; } + public function get workspaceCursor():MovieClip { + return cursorContainer; + } public function clearDialog():Void { dialog.deletePopUp();