Base class to construct a higher-level handler for event sequences. All handlers have activate and deactivate methods. In addition, they have methods named like browser events. When a handler is activated, any additional methods named like a browser event is registered as a listener for the corresponding event. When a handler is deactivated, those same methods are unregistered as event listeners.
Handlers also typically have a callbacks object with keys named like the abstracted events or event sequences that they are in charge of handling. The controls that wrap handlers define the methods that correspond to these abstract events - so instead of listening for individual browser events, they only listen for the abstract events defined by the handler.
Handlers are created by controls, which ultimately have the responsibility of making changes to the the state of the application. Handlers themselves may make temporary changes, but in general are expected to return the application in the same state that they found it.
ALKMaps. | Base class to construct a higher-level handler for event sequences. |
Properties | |
id | {String} |
control | {ALKMaps.Control}. |
map | {ALKMaps.Map} |
keyMask | {Integer} Use bitwise operators and one or more of the ALKMaps.Handler constants to construct a keyMask. |
active | {Boolean} |
evt | {Event} This property references the last event handled by the handler. |
Constructor | |
ALKMaps. | Construct a handler. |
Functions | |
setMap | |
checkModifiers | Check the keyMask on the handler. |
activate | Turn on the handler. |
deactivate | Turn off the handler. |
callback | Trigger the control’s named callback with the given arguments |
register | register an event on the map |
unregister | unregister an event from the map |
setEvent | With each registered browser event, the handler sets its own evt property. |
destroy | Deconstruct the handler. |
Constants | |
ALKMaps. | If set as the keyMask, checkModifiers returns false if any key is down. |
ALKMaps. | If set as the keyMask, checkModifiers returns false if Shift is down. |
ALKMaps. | If set as the keyMask, checkModifiers returns false if Ctrl is down. |
ALKMaps. | If set as the keyMask, checkModifiers returns false if Alt is down. |
{ALKMaps.Control}. The control that initialized this handler. The control is assumed to have a valid map property - that map is used in the handler’s own setMap method.
{Integer} Use bitwise operators and one or more of the ALKMaps.Handler constants to construct a keyMask. The keyMask is used by checkModifiers. If the keyMask matches the combination of keys down on an event, checkModifiers returns true.
// handler only responds if the Shift key is down handler.keyMask = ALKMaps.Handler.MOD_SHIFT; // handler only responds if Ctrl-Shift is down handler.keyMask = ALKMaps.Handler.MOD_SHIFT | ALKMaps.Handler.MOD_CTRL;
Construct a handler.
control | {ALKMaps.Control} The control that initialized this handler. The control is assumed to have a valid map property; that map is used in the handler’s own setMap method. If a map property is present in the options argument it will be used instead. |
callbacks | {Object} An object whose properties correspond to abstracted events or sequences of browser events. The values for these properties are functions defined by the control that get called by the handler. |
options | {Object} An optional object whose properties will be set on the handler. |
callback: function ( name, args )
Trigger the control’s named callback with the given arguments
name | {String} The key for the callback that is one of the properties of the handler’s callbacks object. |
args | {Array(*)} An array of arguments (any type) with which to call the callback (defined by the control). |
setEvent: function( evt )
With each registered browser event, the handler sets its own evt property. This property can be accessed by controls if needed to get more information about the event that the handler is processing.
This allows modifier keys on the event to be checked (alt, shift, and ctrl cannot be checked with the keyboard handler). For a control to determine which modifier keys are associated with the event that a handler is currently processing, it should access (code)handler.evt.altKey || handler.evt.shiftKey || handler.evt.ctrlKey(end).
evt | {Event} The browser event. |
If set as the keyMask, checkModifiers returns false if any key is down.
If set as the keyMask, checkModifiers returns false if Shift is down.
If set as the keyMask, checkModifiers returns false if Ctrl is down.
If set as the keyMask, checkModifiers returns false if Alt is down.
setMap: function ( map )
Check the keyMask on the handler.
checkModifiers: function ( evt )
Turn on the handler.
activate: function()
Turn off the handler.
deactivate: function()
Trigger the control’s named callback with the given arguments
callback: function ( name, args )
register an event on the map
register: function ( name, method )
unregister an event from the map
unregister: function ( name, method )
With each registered browser event, the handler sets its own evt property.
setEvent: function( evt )
Deconstruct the handler.
destroy: function ()