Difference between revisions of "WaitCursor"

From NSB App Studio
Jump to: navigation, search
(Add javascript snippet)
Line 5: Line 5:
 
Set WaitCursor to true to display a wait cursor. The design of the cursor depends on the browser. Set it to false to turn the waitcursor off again. This command does not do anything on mobile devices, since they do not have a cursor.
 
Set WaitCursor to true to display a wait cursor. The design of the cursor depends on the browser. Set it to false to turn the waitcursor off again. This command does not do anything on mobile devices, since they do not have a cursor.
  
== Example ==
+
== Example (Basic) ==
  
 
<pre>
 
<pre>
Line 12: Line 12:
 
Sleep 5000
 
Sleep 5000
 
WaitCursor False
 
WaitCursor False
 +
</pre>
 +
 +
== Example (JavaScript) ==
 +
<pre>
 +
// Cursor Example with Delay
 +
 +
sleep=function(ms) {
 +
  //used for delay to avoid loop that uses up CPU
 +
  var caller = sleep.caller;
 +
  if (caller.sleepTimer) {
 +
    delete caller.sleepTimer;
 +
    return true;
 +
  }
 +
  caller.sleepTimer = window.setTimeout (function () {
 +
    caller.apply ([]);
 +
  },ms);
 +
  return false;
 +
}
 +
 +
delayPostProcessing=function(ms) {
 +
  /* if you need a delayed response, put all post processing in this function
 +
  * anything outside this function will execute prior to the delay even if it
 +
  * comes after calling this function */
 +
 +
  document.body.style.cursor = 'wait'; //busy style cursor during delay
 +
  NSB.Print("Cursor changed to busy");
 +
  if (!sleep (ms)) return;
 +
  document.body.style.cursor = ''; //normal cursor
 +
  NSB.Print("Cursor restored to normal");
 +
  NSB.Print("Continue processing inside the wrapper after delay");
 +
  NSB.Print("... and continue processing inside the wrapper");
 +
}
 +
 +
preProcessing=function() {
 +
  //do your pre-processing before delay here
 +
  var delayMS=5000;
 +
  NSB.Print("After processing this line, cause delay of " + (delayMS/1000).toString() + " seconds");
 +
  delayPostProcessing(delayMS); //force delay now
 +
  NSB.Print("This line ignores the delay");
 +
}
 +
 +
preProcessing(); //this runs all code prior to the delay
 +
NSB.Print("This line ignores the delay also");
 +
 
</pre>
 
</pre>
  

Revision as of 17:21, 18 May 2013

WaitCursor true|false

Description

Set WaitCursor to true to display a wait cursor. The design of the cursor depends on the browser. Set it to false to turn the waitcursor off again. This command does not do anything on mobile devices, since they do not have a cursor.

Example (Basic)

Rem WaitCursor Example
WaitCursor True
Sleep 5000
WaitCursor False

Example (JavaScript)

// Cursor Example with Delay

sleep=function(ms) {
  //used for delay to avoid loop that uses up CPU
  var caller = sleep.caller;
  if (caller.sleepTimer) { 
    delete caller.sleepTimer;
    return true;
  }
  caller.sleepTimer = window.setTimeout (function () {
    caller.apply ([]);
  },ms);
  return false;
}

delayPostProcessing=function(ms) {
  /* if you need a delayed response, put all post processing in this function
   * anything outside this function will execute prior to the delay even if it
   * comes after calling this function */

  document.body.style.cursor = 'wait'; //busy style cursor during delay
  NSB.Print("Cursor changed to busy");
  if (!sleep (ms)) return;
  document.body.style.cursor = ''; //normal cursor
  NSB.Print("Cursor restored to normal");
  NSB.Print("Continue processing inside the wrapper after delay");
  NSB.Print("... and continue processing inside the wrapper");
}

preProcessing=function() {
  //do your pre-processing before delay here
  var delayMS=5000;
  NSB.Print("After processing this line, cause delay of " + (delayMS/1000).toString() + " seconds");
  delayPostProcessing(delayMS); //force delay now
  NSB.Print("This line ignores the delay");
}

preProcessing(); //this runs all code prior to the delay
NSB.Print("This line ignores the delay also");

Output