WaitCursor: Difference between revisions

From NSB App Studio
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
WaitCursor true|'''false'''|cursorStyle|filename
WaitCursor true|'''false'''|cursorStyle|filename


[[File:Ajax-loader.gif|thumbnail]]
[[File:Ajax-loader.gif]]


== Description ==
== Description ==

Revision as of 13:12, 8 June 2014

WaitCursor true|false|cursorStyle|filename

Description

Set WaitCursor to true to display a wait cursor. The design of the cursor depends on the browser and whether you are running on a mobile device. Set it to false to turn the WaitCursor off again.

If you are running on a non-touchscreen device, a number of cursorStyles are built in. They are: alias, all-scroll, auto, cell, context-menu, col-resize, copy, crosshair, default, e-resize, ew-resize, help, move, n-resize, ne-resize, nesw-resize, ns-resize, nw-resize, nwse-resize, no-drop, none, not-allowed, pointer, progress, row-resize, s-resize, se-resize, sw-resize, text, URL, vertical-text, w-resize, wait, zoom-in, zoom-out, initial, inherit. Call WaitCursor False to hide it again.

You can also give the name of a gif file. You can create your own custom WaitCursors at http://www.ajaxload.info. Remember to also add the name of the file to the manifest. If you give a name, it will display on both touch and non touchscreen devices. Call WaitCursor False to hide it again.

Example (Basic)

Rem WaitCursor Example
WaitCursor True
Sleep 5000
WaitCursor "copy"
Sleep 5000
WaitCursor "MyCustom.gif"
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; //5000 ms equates to 5 seconds
  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