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 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 15. 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>
Copyright © 2002-2007 Laszlo Systems, Inc. All Rights Reserved. Unauthorized use, duplication or distribution is strictly prohibited. This is the proprietary information of Laszlo Systems, Inc. Use is subject to license terms.