LzModeManager

Controls pass-through of mouse events.

The mode manager controls the dispatch of mouse events to the rest of the system. The mode manager keeps a stack of modal views. When a view is made modal (with the call LzModeManager.makeModal()) only it and its children receive mouse events.

In the example below, the window grabs the mode when it is opened and releases it when it is closed. Note that the button no longer responds to mouse examplesses after the window is made modal, but the children of the window (such as the close button and the drag bar) still do. For a more detailed example of using modes with Laslzo, see modeexample.lzx in the examples directory.

Example 1. Using the mode manager to make a window behave like a modal dialog
<canvas height="160">
  <button name="b1" onclick="winDia.openWindow()">Show modal dialog</button>
  <window width="200" name="winDia" closeable="true" visible="false"
          x="150" title="modal dialog">
    <method name="openWindow">
      this.open();
      LzModeManager.makeModal(this);
    </method>
    <method name="close">
      LzModeManager.release(this);
      super.close();
    </method>
  </window>
</canvas> 

Methods

globalLockMouseEvents()
LzModeManager.globalLockMouseEvents()

Prevents all mouse events from firing.



globalUnlockMouseEvents()
LzModeManager.globalUnlockMouseEvents()

Restore normal mouse event firing.



hasMode()
LzModeManager.hasMode(view)

Tests whether the given view is in the modelist.

Parameters
Name Type Desc
view LzView The mode to be tested to see if it is in the modelist
Returns
Type Desc
Boolean true if the view is in the modelist


makeModal()
LzModeManager.makeModal(view)

Pushes the view onto the stack of modal views

Parameters
Name Type Desc
view LzView The view intending to have modal iteraction


release()
LzModeManager.release(view)

Removes the view (and all the views below it) from the stack of modal views

Parameters
Name Type Desc
view LzView The view to be released of modal interaction


releaseAll()
LzModeManager.releaseAll()

Clears all modal views from the stack




Events
Name Description
onmode None