public class EventHandler
extends java.lang.Object
Events may be intercepted at
the page level using standard GWT methods such as addNativePreviewHandler() on the
com.google.gwt.user.client.Event
class.
If the event occurred on an enabled widget it is sent to that widget's event handler, if any. This handler can cancel further propagation of the event by returning false. An "enabled" widget is any widget that defines an event handler for one of the supported events.
The event is "bubbled"
up to the widget's parent in the containment hierarchy, if any. Again, the parent's handler for the event can cancel
further propagation by calling event.cancel()
. This step is repeated, with the event "bubbling" up through
the containment hierarchy, until a top-level widget is reached or the event is explicitly canceled.
Where applicable, canceling an event will also typically suppress the native behavior (for example canceling a keypress while focused in a form item may prevent the key character being inserted in the text box).
SmartGWT libraries will not interfere with native event handling when events occur outside of a target widget. You can therefore have HTML that is not ISC-based on the same page as widget objects that will react to native events as you would expect.
PageEvent
,
com.smartgwt.client.util.Page#setEvent
,
com.smartgwt.client.util.Page#clearEvent
Constructor and Description |
---|
EventHandler() |
Modifier and Type | Method and Description |
---|---|
static java.lang.Boolean |
altKeyDown()
Return true if the alt (option) key is being held down.
|
static java.lang.Boolean |
ctrlKeyDown()
Return true if the control key is being held down.
|
static Rectangle |
getDragRect()
During a drag with dragAppearance of either "target" or "outline", returns the page-relative coordinates
of whatever element is being dragged.
|
static Canvas |
getDragTarget()
Returns the current dragTarget.
|
static Canvas |
getFocusCanvas()
Method to return the
canvasFocus:true canvas with current
keyboard focus. |
static java.lang.String |
getKey()
Return the name of the key for the event passed in.
|
static java.lang.String |
getKeyEventCharacter()
Returns the character for a keypress event, derived from the
event.characterValue . |
static int |
getKeyEventCharacterValue()
Returns the numeric characterValue reported by the browser.
|
static java.lang.String |
getKeyEventCode()
Return the natively reported event.code value for the current event (keyboard) event.
|
static java.lang.String |
getKeyEventKey()
Return the natively reported event.key value for the current event.
|
static java.lang.Integer |
getMouseDownX()
Return the page-relative X (horizontal) coordinate of an event.
|
static java.lang.Integer |
getMouseDownY()
Return the page-relative Y (vertical) coordinate of an event.
|
static java.lang.Object |
getNativeDragData() |
static com.google.gwt.dom.client.Element |
getNativeMouseTarget()
Returns the natively reported target (or source) DOM element for the current mouse event.
|
static java.lang.String |
getReportedKey()
This method is a synonym for
getKeyEventKey() |
static Canvas |
getTarget()
Return the canvas that is the target of the mouse event.
|
static float |
getWheelDelta()
Deprecated.
in favor of
getWheelDeltaY() |
static double |
getWheelDeltaAsDouble()
Deprecated.
in favor of
getWheelDeltaY() |
static double |
getWheelDeltaX()
Horizontal scroll delta reported by a
mouseWheel event
(such as a horizontal swipe on a track-pad). |
static double |
getWheelDeltaY()
Applies to
mouseWheel events only. |
static int |
getX()
Return the page-relative X (horizontal) coordinate of an event.
|
static int |
getY()
Return the page-relative Y (vertical) coordinate of an event.
|
static java.lang.Boolean |
leftButtonDown()
Returns true if the left mouse button is being pressed.
|
static boolean |
middleButtonDown()
Returns true if the middle mouse button is being pressed.
|
static java.lang.Boolean |
rightButtonDown()
Returns true if the right mouse button is being pressed.
|
static void |
setDragOffset(int offsetX,
int offsetY)
Sets the initial coordinate offset of the last event, typically a mouseDown or touchStart,
from the drag target.
|
static void |
setDragTracker(java.lang.String html)
Set the HTML for the drag tracker that follows the mouse during a drag and drop interaction.
|
static void |
setDragTracker(java.lang.String html,
int newWidth,
int newHeight,
int offsetX,
int offsetY)
Set the HTML for the drag tracker that follows the mouse during a drag and drop interaction.
|
static void |
setDragTrackerImage(java.lang.String src)
This API may be called to set the native HTML5 drag tracker image.
|
static void |
setDragTrackerImage(java.lang.String src,
int x) |
static void |
setDragTrackerImage(java.lang.String src,
int x,
int y)
This API may be called to set the native HTML5 drag tracker image.
|
static void |
setNativeDragData(java.lang.Object data) |
static void |
setNativeDragData(java.lang.Object data,
java.lang.String strData) |
static java.lang.Boolean |
shiftKeyDown()
Return true if the shift key is being held down.
|
static java.lang.Boolean |
targetIsMasked(Canvas target)
Return whether this Canvas is masked by a clickMask (see
Canvas.showClickMask() ). |
public static java.lang.Boolean altKeyDown()
public static java.lang.Boolean ctrlKeyDown()
public static Canvas getDragTarget()
Canvas.getDragTarget()
public static Canvas getFocusCanvas()
canvasFocus:true
canvas with current
keyboard focus.public static java.lang.String getKeyEventCharacter()
event.characterValue
. Only available on keyPress events, and only for character (or ascii control) keys.
See the Keyboard Events Overview
for related APIs and more information on keyboard event handling in Smart GWT.
public static int getKeyEventCharacterValue()
Only available on keyPress events, and only for character (or ascii control) keys.
See the Keyboard Events Overview
for related APIs and more information on keyboard event handling in Smart GWT.
public static java.lang.String getKeyEventCode()
Note that
EventHandler.getReportedKey()
simply provides access to the event.code
value reported by the
browser. Smart GWT has no control over whether these values are accurate or vary by browser.
See the Keyboard Events Overview
for related APIs and more information on keyboard
event handling in Smart GWT.
public static java.lang.String getKeyEventKey()
Note that this differs from getKey()
in a couple of important ways:
getKey()
is always uppercase for alpha keys) and the reported name for
various 'named' keys (such as the arrow keys differ). EventHandler.getKeyEventKey()
simply provides access
to the event.key
value. As such the reported values are generated by the browser itself and Smart GWT
has no control over whether they may vary by browser, etc. See the Keyboard Events Overview
for related APIs and more information on keyboard
event handling in Smart GWT.
public static com.google.gwt.dom.client.Element getNativeMouseTarget()
public static java.lang.String getReportedKey()
getKeyEventKey()
public static Canvas getTarget()
public static float getWheelDelta()
getWheelDeltaY()
mouseWheel
events only. Returns a numeric
value indicating how far the mouse wheel was rotated. This value will be positive if the user scrolled the mousewheel
forward or up, or negative if scrolled in the other direction. For a standard wheel-mouse, an increment of 1 relates to
the smallest possible rotation of the mouse wheel. For other scrolling devices, such as scroll gestures on a track pad,
wheel delta may be reported in finer grained increments (causing this method to return a fractional value). Note that behavior for trackpad scroll-gestures may differ by browser, but where separate vertical and horizontal scroll information is available, this method refers to a vertical scroll gesture.
Developers should also be aware that some browsers and operating systems allow the user to configure the sensitivity of the mouse wheel or trackpad, which may change this value.
public static double getWheelDeltaAsDouble()
getWheelDeltaY()
mouseWheel
events only. Returns a numeric
value indicating how far the mouse wheel was rotated. This value will be positive if the user scrolled the mousewheel
forward or up, or negative if scrolled in the other direction. For a standard wheel-mouse, an increment of 1 relates to
the smallest possible rotation of the mouse wheel. For other scrolling devices, such as scroll gestures on a track pad,
wheel delta may be reported in finer grained increments (causing this method to return a fractional value). Note that behavior for trackpad scroll-gestures may differ by browser, but where separate vertical and horizontal scroll information is available, this method refers to a vertical scroll gesture.
Developers should also be aware that some browsers and operating systems allow the user to configure the sensitivity of the mouse wheel or trackpad, which may change this value.
public static double getWheelDeltaX()
mouseWheel
event
(such as a horizontal swipe on a track-pad). Returns a numeric value indicating how far the mouse wheel was rotated / the magnitude of the scroll gesture. This value will be positive if the user scrolled the mousewheel to the right, negative if scrolled in the other direction.
getWheelDeltaY()
public static double getWheelDeltaY()
mouseWheel
events only. Returns a numeric
value indicating how far the mouse wheel was rotated. This value will be positive if the user scrolled the mousewheel
forward or up, or negative if scrolled in the other direction. For a standard wheel-mouse, an increment of 1 relates to
the smallest possible rotation of the mouse wheel. For other scrolling devices, such as scroll gestures on a track pad,
wheel delta may be reported in finer grained increments (causing this method to return a fractional value). Note that behavior for trackpad scroll-gestures may differ by browser, but where separate vertical and horizontal scroll information is available, this method refers to a vertical scroll gesture.
Developers should also be aware that some browsers and operating systems allow the user to configure the sensitivity of the mouse wheel or trackpad, which may change this value.
getWheelDeltaX()
public static int getX()
public static int getY()
public static java.lang.Boolean leftButtonDown()
middleButtonDown()
,
rightButtonDown()
public static boolean middleButtonDown()
Checking whether the middle mouse button is pressed can be used to implement power user shortcuts; however, note that many pointing devices do not have a middle button. Thus, the application should not require the user to press a middle button in order to perform some action.
leftButtonDown()
,
rightButtonDown()
public static java.lang.Boolean rightButtonDown()
leftButtonDown()
,
middleButtonDown()
public static void setDragOffset(int offsetX, int offsetY)
Scrollbar
thumb
with
the mouse, you'd expect positive coordinates that reflect your position relative to the top,
left corner of the thumb. If a drag tracker will be used, call setDragTracker()
instead, which takes optional arguments offsetX
and offsetY
that
act similarly to those passed to this method.
Your canvas can call this method to set the initial drag offset to whatever you want like so:
dragStart : function () { isc.EventHandler.setDragOffset(5, 20); }
offsetX
- initial x-offset for the dragoffsetY
- initial y-offset for the dragDragStartEvent
public static void setDragTrackerImage(java.lang.String src)
x
and y
parameters may
be specified to affect the placement of the drag tracker image relative to the mouse cursor. The size of the drag
tracker image is the intrinsic size of the image. Browsers may apply certain visual effects (such as a slight
transparency) to this image. Can only be called during the Canvas.dragStart()
event (or methods called during the handling
of that event).
NOTES:
public static void setDragTrackerImage(java.lang.String src, int x)
setDragTrackerImage(java.lang.String)
public static void setDragTrackerImage(java.lang.String src, int x, int y)
x
and y
parameters may
be specified to affect the placement of the drag tracker image relative to the mouse cursor. The size of the drag
tracker image is the intrinsic size of the image. Browsers may apply certain visual effects (such as a slight
transparency) to this image. Can only be called during the Canvas.dragStart()
event (or methods called during the handling
of that event).
NOTES:
src
- image source.
See SCImgURL
x
- offset-x from the mouse cursory
- offset-y from the mouse cursorpublic static java.lang.Boolean shiftKeyDown()
public static java.lang.Boolean targetIsMasked(Canvas target)
Canvas.showClickMask()
).target
- widget to check.public static void setDragTracker(java.lang.String html)
Your canvas can use this routine to set the drag tracker to whatever HTML you want like so:
dragStart : function () { isc.EventHandler.setDragTracker('Your contents here'); }
html
- HTML for the trackerpublic static void setDragTracker(java.lang.String html, int newWidth, int newHeight, int offsetX, int offsetY)
Your canvas can use this routine to set the drag tracker to whatever HTML you want like so:
dragStart : function () { isc.EventHandler.setDragTracker('Your contents here'); }
html
- HTML for the trackernewWidth
- new width for the trackernewHeight
- new height for the trackeroffsetX
- x-offset for the trackeroffsetY
- y-offset for the trackerpublic static Rectangle getDragRect()
public static java.lang.Integer getMouseDownX()
public static java.lang.Integer getMouseDownY()
public static java.lang.Object getNativeDragData()
public static void setNativeDragData(java.lang.Object data)
public static void setNativeDragData(java.lang.Object data, java.lang.String strData)
public static java.lang.String getKey()
Strings to identify the various keys on the keyboard. For alpha keys, the single (uppercase) character value is used, such as "Q" For Numeric keys, the number is used as in a single character string, like "1" Function keys are identified as "f1" - "f12" Non alpha-numeric character keys (such as the key for "[" / "{") are identified by their unmodified character value (the value obtained by hitting the key without holding shift down), by default - exceptions are listed below. Additional key names: - Space - Tab - Enter - Escape - Backspace - Insert - Delete - Arrow_Up - Arrow_Down - Arrow_Left - Arrow_Right - Home - End - Page_Up - Page_Down - Shift - Ctrl - Alt [Note: Some keys may not be available for capture on every platform]
KeyNames