Crossfire JXClient, Trunk
|
Public Member Functions | |
void | mouseClicked (@Nullable final AbstractGUIElement element, @NotNull final MouseEvent e) |
void | mouseDragged (@Nullable final GUIElement element, @NotNull final MouseEvent e) |
void | mouseEntered (@Nullable final AbstractGUIElement element, @NotNull final MouseEvent e) |
void | mouseExited (@NotNull final MouseEvent e) |
void | mouseMoved (@Nullable final AbstractGUIElement element, @NotNull final MouseEvent e) |
void | mousePressed (@Nullable final AbstractGUIElement element, @NotNull final MouseEvent e) |
void | mouseReleased (@Nullable final AbstractGUIElement element, @NotNull final MouseEvent e) |
MouseTracker (final boolean debugGui, @Nullable final Writer debugMouse, @NotNull final GuiFactory guiFactory) | |
void | mouseWheelMoved (@Nullable final GUIElement element, @NotNull final MouseWheelEvent e) |
void | paintActiveComponent (@NotNull final Graphics g) |
Private Member Functions | |
void | debugMouseWrite (@NotNull final CharSequence message) |
void | enterElement (@Nullable final AbstractGUIElement element, @NotNull final MouseEvent e) |
void | setActiveComponent (@Nullable final AbstractGUIElement activeComponent) |
void | setClicked (final boolean isClicked) |
void | setDragging (final boolean isDragging) |
Static Private Member Functions | |
static String | formatName (@NotNull final Component component) |
Private Attributes | |
AbstractGUIElement | activeComponent |
final Point | clickPosition = new Point() |
final boolean | debugGui |
final Writer | debugMouse |
final GuiFactory | guiFactory |
boolean | isClicked |
boolean | isDragging |
GUIElement | mouseElement |
Static Private Attributes | |
static final int | CLICK_DISTANCE = 20 |
static final DateTimeFormatter | FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss,SSS ", Locale.ENGLISH) |
static final Pattern | PATTERN_PACKAGE_NAME = Pattern.compile(".*\\.") |
Tracks mouse actions and delivers mouse events to affected GUIElement.
XXX: some delivered MouseEvents are not relative to the underlying GUIElement.
Definition at line 55 of file MouseTracker.java.
com.realtime.crossfire.jxclient.gui.misc.MouseTracker.MouseTracker | ( | final boolean | debugGui, |
@Nullable final Writer | debugMouse, | ||
@NotNull final GuiFactory | guiFactory | ||
) |
Creates a new instance.
debugGui | whether GUI elements should be highlighted |
debugMouse | the writer to write mouse debug to or null
|
guiFactory | the global GUI factory instance |
Definition at line 126 of file MouseTracker.java.
References com.realtime.crossfire.jxclient.gui.misc.MouseTracker.debugGui, com.realtime.crossfire.jxclient.gui.misc.MouseTracker.debugMouse, and com.realtime.crossfire.jxclient.gui.misc.MouseTracker.guiFactory.
|
private |
Writes a message to the mouse debug.
message | the message to write |
Definition at line 334 of file MouseTracker.java.
References com.realtime.crossfire.jxclient.gui.misc.MouseTracker.debugMouse, and com.realtime.crossfire.jxclient.gui.misc.MouseTracker.FORMATTER.
Referenced by com.realtime.crossfire.jxclient.gui.misc.MouseTracker.enterElement(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseClicked(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseDragged(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseEntered(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseExited(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseMoved(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mousePressed(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseReleased(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseWheelMoved(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.setActiveComponent(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.setClicked(), and com.realtime.crossfire.jxclient.gui.misc.MouseTracker.setDragging().
|
private |
Sets a new mouseElement and generate entered/exited events.
element | the new element; it may be null
|
e | the event parameter |
Definition at line 249 of file MouseTracker.java.
References com.realtime.crossfire.jxclient.gui.misc.MouseTracker.debugGui, com.realtime.crossfire.jxclient.gui.misc.MouseTracker.debugMouseWrite(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseElement, com.realtime.crossfire.jxclient.gui.gui.GUIElement.mouseExited(), and com.realtime.crossfire.jxclient.gui.misc.MouseTracker.setActiveComponent().
Referenced by com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseEntered(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseExited(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseMoved(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mousePressed(), and com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseReleased().
|
staticprivate |
Returns the name to display for a Component.
component | the component |
Definition at line 326 of file MouseTracker.java.
References com.realtime.crossfire.jxclient.gui.misc.MouseTracker.PATTERN_PACKAGE_NAME.
Referenced by com.realtime.crossfire.jxclient.gui.misc.MouseTracker.paintActiveComponent().
void com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseClicked | ( | @Nullable final AbstractGUIElement | element, |
@NotNull final MouseEvent | e | ||
) |
Handles a mouse clicked event.
element | the affected GUI element |
e | the mouse event |
Definition at line 137 of file MouseTracker.java.
References com.realtime.crossfire.jxclient.gui.misc.MouseTracker.debugMouseWrite().
void com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseDragged | ( | @Nullable final GUIElement | element, |
@NotNull final MouseEvent | e | ||
) |
Handles a mouse dragged event.
element | the affected GUI element |
e | the mouse event |
Definition at line 147 of file MouseTracker.java.
References com.realtime.crossfire.jxclient.gui.misc.MouseTracker.CLICK_DISTANCE, com.realtime.crossfire.jxclient.gui.misc.MouseTracker.clickPosition, com.realtime.crossfire.jxclient.gui.misc.MouseTracker.debugMouseWrite(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.isClicked, com.realtime.crossfire.jxclient.gui.misc.MouseTracker.isDragging, com.realtime.crossfire.jxclient.gui.gui.GUIElement.mouseDragged(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseElement, com.realtime.crossfire.jxclient.gui.gui.GUIElement.mouseMoved(), and com.realtime.crossfire.jxclient.gui.misc.MouseTracker.setClicked().
void com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseEntered | ( | @Nullable final AbstractGUIElement | element, |
@NotNull final MouseEvent | e | ||
) |
Handles a mouse entered event.
element | the affected GUI element |
e | the mouse event |
Definition at line 224 of file MouseTracker.java.
References com.realtime.crossfire.jxclient.gui.misc.MouseTracker.debugMouseWrite(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.enterElement(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.isDragging, and com.realtime.crossfire.jxclient.gui.misc.MouseTracker.setClicked().
Referenced by com.realtime.crossfire.jxclient.gui.misc.JXCWindowRenderer.openDialogsAdd(), and com.realtime.crossfire.jxclient.gui.misc.JXCWindowRenderer.openDialogsRemove().
void com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseExited | ( | @NotNull final MouseEvent | e | ) |
Handles a mouse exited event.
e | the mouse event |
Definition at line 236 of file MouseTracker.java.
References com.realtime.crossfire.jxclient.gui.misc.MouseTracker.debugMouseWrite(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.enterElement(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.isDragging, and com.realtime.crossfire.jxclient.gui.misc.MouseTracker.setClicked().
Referenced by com.realtime.crossfire.jxclient.gui.misc.JXCWindowRenderer.openDialogsAdd(), and com.realtime.crossfire.jxclient.gui.misc.JXCWindowRenderer.openDialogsRemove().
void com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseMoved | ( | @Nullable final AbstractGUIElement | element, |
@NotNull final MouseEvent | e | ||
) |
Handles a mouse moved event.
element | the affected GUI element |
e | the mouse event |
Definition at line 171 of file MouseTracker.java.
References com.realtime.crossfire.jxclient.gui.misc.MouseTracker.debugMouseWrite(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.enterElement(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseElement, and com.realtime.crossfire.jxclient.gui.gui.GUIElement.mouseMoved().
void com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mousePressed | ( | @Nullable final AbstractGUIElement | element, |
@NotNull final MouseEvent | e | ||
) |
Handles a mouse pressed event.
element | the affected GUI element |
e | the mouse event |
Definition at line 185 of file MouseTracker.java.
References com.realtime.crossfire.jxclient.gui.misc.MouseTracker.clickPosition, com.realtime.crossfire.jxclient.gui.misc.MouseTracker.debugMouseWrite(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.enterElement(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseElement, com.realtime.crossfire.jxclient.gui.gui.GUIElement.mousePressed(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.setClicked(), and com.realtime.crossfire.jxclient.gui.misc.MouseTracker.setDragging().
void com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseReleased | ( | @Nullable final AbstractGUIElement | element, |
@NotNull final MouseEvent | e | ||
) |
Handles a mouse released event.
element | the affected GUI element |
e | the mouse event |
Definition at line 202 of file MouseTracker.java.
References com.realtime.crossfire.jxclient.gui.misc.MouseTracker.debugMouseWrite(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.enterElement(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.isClicked, com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseElement, com.realtime.crossfire.jxclient.gui.gui.GUIElement.mouseReleased(), and com.realtime.crossfire.jxclient.gui.misc.MouseTracker.setDragging().
void com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseWheelMoved | ( | @Nullable final GUIElement | element, |
@NotNull final MouseWheelEvent | e | ||
) |
Handles a mouse wheel event.
element | the affected GUI element |
e | the mouse wheel event |
Definition at line 276 of file MouseTracker.java.
References com.realtime.crossfire.jxclient.gui.misc.MouseTracker.debugMouseWrite().
void com.realtime.crossfire.jxclient.gui.misc.MouseTracker.paintActiveComponent | ( | @NotNull final Graphics | g | ) |
Marks the active component in a Graphics instance.
g | the graphics |
Definition at line 290 of file MouseTracker.java.
References com.realtime.crossfire.jxclient.gui.misc.MouseTracker.activeComponent, com.realtime.crossfire.jxclient.gui.misc.MouseTracker.formatName(), com.realtime.crossfire.jxclient.skin.skin.GuiFactory.getElementX(), com.realtime.crossfire.jxclient.skin.skin.GuiFactory.getElementY(), com.realtime.crossfire.jxclient.gui.gui.GuiUtils.getTextDimension(), and com.realtime.crossfire.jxclient.gui.misc.MouseTracker.guiFactory.
|
private |
Updates activeComponent. Prints a debug message if the value changes.
activeComponent | the new value |
Definition at line 356 of file MouseTracker.java.
References com.realtime.crossfire.jxclient.gui.misc.MouseTracker.activeComponent, com.realtime.crossfire.jxclient.gui.misc.MouseTracker.debugGui, com.realtime.crossfire.jxclient.gui.misc.MouseTracker.debugMouseWrite(), and com.realtime.crossfire.jxclient.gui.gui.AbstractGUIElement.setChanged().
Referenced by com.realtime.crossfire.jxclient.gui.misc.MouseTracker.enterElement().
|
private |
Updates isClicked. Prints a debug message if the value changes.
isClicked | the new value |
Definition at line 405 of file MouseTracker.java.
References com.realtime.crossfire.jxclient.gui.misc.MouseTracker.debugMouseWrite(), and com.realtime.crossfire.jxclient.gui.misc.MouseTracker.isClicked.
Referenced by com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseDragged(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseEntered(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseExited(), and com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mousePressed().
|
private |
Updates isDragging. Prints a debug message if the value changes.
isDragging | the new value |
Definition at line 392 of file MouseTracker.java.
References com.realtime.crossfire.jxclient.gui.misc.MouseTracker.debugMouseWrite(), and com.realtime.crossfire.jxclient.gui.misc.MouseTracker.isDragging.
Referenced by com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mousePressed(), and com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseReleased().
|
private |
The active component.
Definition at line 102 of file MouseTracker.java.
Referenced by com.realtime.crossfire.jxclient.gui.misc.MouseTracker.paintActiveComponent(), and com.realtime.crossfire.jxclient.gui.misc.MouseTracker.setActiveComponent().
|
staticprivate |
The maximum distance the mouse may have moved between the mouse pressed and the mouse released even to generate a mouse clicked event.
Definition at line 61 of file MouseTracker.java.
Referenced by com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseDragged().
|
private |
The position that was clicked if isClicked is set.
Definition at line 118 of file MouseTracker.java.
Referenced by com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseDragged(), and com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mousePressed().
|
private |
Whether GUI elements should be highlighted.
Definition at line 72 of file MouseTracker.java.
Referenced by com.realtime.crossfire.jxclient.gui.misc.MouseTracker.enterElement(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.MouseTracker(), and com.realtime.crossfire.jxclient.gui.misc.MouseTracker.setActiveComponent().
|
private |
The Writer to write mouse debug to or
.
Definition at line 78 of file MouseTracker.java.
Referenced by com.realtime.crossfire.jxclient.gui.misc.MouseTracker.debugMouseWrite(), and com.realtime.crossfire.jxclient.gui.misc.MouseTracker.MouseTracker().
|
staticprivate |
A formatter for timestamps.
Definition at line 90 of file MouseTracker.java.
Referenced by com.realtime.crossfire.jxclient.gui.misc.MouseTracker.debugMouseWrite().
|
private |
The global GuiFactory instance.
Definition at line 84 of file MouseTracker.java.
Referenced by com.realtime.crossfire.jxclient.gui.misc.MouseTracker.MouseTracker(), and com.realtime.crossfire.jxclient.gui.misc.MouseTracker.paintActiveComponent().
|
private |
Whether a button release event is considered a "click".
Definition at line 112 of file MouseTracker.java.
Referenced by com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseDragged(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseReleased(), and com.realtime.crossfire.jxclient.gui.misc.MouseTracker.setClicked().
|
private |
Whether a dragging operation is in progress.
Definition at line 107 of file MouseTracker.java.
Referenced by com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseDragged(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseEntered(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseExited(), and com.realtime.crossfire.jxclient.gui.misc.MouseTracker.setDragging().
|
private |
The gui element in which the mouse is.
Definition at line 96 of file MouseTracker.java.
Referenced by com.realtime.crossfire.jxclient.gui.misc.MouseTracker.enterElement(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseDragged(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseMoved(), com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mousePressed(), and com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseReleased().
|
staticprivate |
Matches the package name of a fully qualified class name.
Definition at line 67 of file MouseTracker.java.
Referenced by com.realtime.crossfire.jxclient.gui.misc.MouseTracker.formatName().