summaryrefslogtreecommitdiff
path: root/webapps/swat/source
diff options
context:
space:
mode:
Diffstat (limited to 'webapps/swat/source')
-rw-r--r--webapps/swat/source/class/swat/main/AbstractModule.js22
-rw-r--r--webapps/swat/source/class/swat/main/AbstractModuleFsm.js19
2 files changed, 40 insertions, 1 deletions
diff --git a/webapps/swat/source/class/swat/main/AbstractModule.js b/webapps/swat/source/class/swat/main/AbstractModule.js
index 01aae703c3..bf61a86fd8 100644
--- a/webapps/swat/source/class/swat/main/AbstractModule.js
+++ b/webapps/swat/source/class/swat/main/AbstractModule.js
@@ -75,6 +75,7 @@ qx.Proto.buildInitialFsm = function(module)
* Load module's finite state machine and graphical user interface
*/
var thisModule = this;
+ var newModule = module;
var trans = new qx.util.fsm.Transition(
"Transition_Idle_to_Idle_Load_Gui",
{
@@ -87,7 +88,26 @@ qx.Proto.buildInitialFsm = function(module)
// Call the module's initialAppear function to build FSM and GUI.
// That function should *replace* this state, State_Idle, to which
// we'll transition.
- thisModule.initialAppear(module);
+ var canvas = fsm.getObject("swat.main.canvas");
+ canvas.getTopLevelWidget().setGlobalCursor("progress");
+ if (! newModule.bLoaded)
+ {
+ window.setTimeout(
+ function()
+ {
+ // Call the module's initial appear handler
+ thisModule.initialAppear(newModule);
+
+ // Regenerate the appear event, since the original one got
+ // lost by doing this code inside of the timeout.
+ canvas.createDispatchEvent("appear");
+
+ // Reset the cursor to the default
+ canvas.getTopLevelWidget().setGlobalCursor(null);
+
+ }, 0);
+ newModule.bLoaded = true;
+ }
}
});
state.addTransition(trans);
diff --git a/webapps/swat/source/class/swat/main/AbstractModuleFsm.js b/webapps/swat/source/class/swat/main/AbstractModuleFsm.js
index 273c9ad8a3..3cf4187676 100644
--- a/webapps/swat/source/class/swat/main/AbstractModuleFsm.js
+++ b/webapps/swat/source/class/swat/main/AbstractModuleFsm.js
@@ -113,6 +113,10 @@ qx.Proto.addAwaitRpcResultState = function(module, blockedEvents)
{
var bAuthCompleted = false;
+ // Change the cursor to indicate RPC in progress
+ var canvas = fsm.getObject("swat.main.canvas");
+ canvas.getTopLevelWidget().setGlobalCursor("progress");
+
// See if we just completed an authentication
if (fsm.getPreviousState() == "State_Authenticate" &&
event.getType() == "complete")
@@ -130,6 +134,21 @@ qx.Proto.addAwaitRpcResultState = function(module, blockedEvents)
}
},
+ "onexit" :
+ function(fsm, event)
+ {
+ // If we're returning to the calling state (not going to the
+ // Authenticate state)...
+ var nextState = fsm.getNextState();
+ if (nextState != "State_Authenticate" &&
+ nextState != "State_AwaitRpcResult")
+ {
+ // ... then set the cursor back to normal
+ var canvas = fsm.getObject("swat.main.canvas");
+ canvas.getTopLevelWidget().setGlobalCursor(null);
+ }
+ },
+
"events" :
{
"execute" :