Crossfire JXClient, Trunk
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
com.realtime.crossfire.jxclient.gui.misc.MouseTracker Class Reference
Collaboration diagram for com.realtime.crossfire.jxclient.gui.misc.MouseTracker:
Collaboration graph

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(".*\\.")
 

Detailed Description

Tracks mouse actions and delivers mouse events to affected GUIElement.

XXX: some delivered MouseEvents are not relative to the underlying GUIElement.

Author
Andreas Kirschbaum

Definition at line 55 of file MouseTracker.java.

Constructor & Destructor Documentation

◆ MouseTracker()

com.realtime.crossfire.jxclient.gui.misc.MouseTracker.MouseTracker ( final boolean  debugGui,
@Nullable final Writer  debugMouse,
@NotNull final GuiFactory  guiFactory 
)

Creates a new instance.

Parameters
debugGuiwhether GUI elements should be highlighted
debugMousethe writer to write mouse debug to or
null
guiFactorythe 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.

Member Function Documentation

◆ debugMouseWrite()

void com.realtime.crossfire.jxclient.gui.misc.MouseTracker.debugMouseWrite ( @NotNull final CharSequence  message)
private

◆ enterElement()

void com.realtime.crossfire.jxclient.gui.misc.MouseTracker.enterElement ( @Nullable final AbstractGUIElement  element,
@NotNull final MouseEvent  e 
)
private

◆ formatName()

static String com.realtime.crossfire.jxclient.gui.misc.MouseTracker.formatName ( @NotNull final Component  component)
staticprivate

Returns the name to display for a Component.

Parameters
componentthe component
Returns
the name

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().

Here is the caller graph for this function:

◆ mouseClicked()

void com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseClicked ( @Nullable final AbstractGUIElement  element,
@NotNull final MouseEvent  e 
)

Handles a mouse clicked event.

Parameters
elementthe affected GUI element
ethe mouse event

Definition at line 137 of file MouseTracker.java.

References com.realtime.crossfire.jxclient.gui.misc.MouseTracker.debugMouseWrite().

Here is the call graph for this function:

◆ mouseDragged()

void com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseDragged ( @Nullable final GUIElement  element,
@NotNull final MouseEvent  e 
)

◆ mouseEntered()

void com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseEntered ( @Nullable final AbstractGUIElement  element,
@NotNull final MouseEvent  e 
)

◆ mouseExited()

void com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseExited ( @NotNull final MouseEvent  e)

◆ mouseMoved()

void com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseMoved ( @Nullable final AbstractGUIElement  element,
@NotNull final MouseEvent  e 
)

◆ mousePressed()

void com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mousePressed ( @Nullable final AbstractGUIElement  element,
@NotNull final MouseEvent  e 
)

◆ mouseReleased()

void com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseReleased ( @Nullable final AbstractGUIElement  element,
@NotNull final MouseEvent  e 
)

◆ mouseWheelMoved()

void com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseWheelMoved ( @Nullable final GUIElement  element,
@NotNull final MouseWheelEvent  e 
)

Handles a mouse wheel event.

Parameters
elementthe affected GUI element
ethe mouse wheel event

Definition at line 276 of file MouseTracker.java.

References com.realtime.crossfire.jxclient.gui.misc.MouseTracker.debugMouseWrite().

Here is the call graph for this function:

◆ paintActiveComponent()

void com.realtime.crossfire.jxclient.gui.misc.MouseTracker.paintActiveComponent ( @NotNull final Graphics  g)

◆ setActiveComponent()

void com.realtime.crossfire.jxclient.gui.misc.MouseTracker.setActiveComponent ( @Nullable final AbstractGUIElement  activeComponent)
private

Updates activeComponent. Prints a debug message if the value changes.

Parameters
activeComponentthe 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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setClicked()

void com.realtime.crossfire.jxclient.gui.misc.MouseTracker.setClicked ( final boolean  isClicked)
private

◆ setDragging()

void com.realtime.crossfire.jxclient.gui.misc.MouseTracker.setDragging ( final boolean  isDragging)
private

Updates isDragging. Prints a debug message if the value changes.

Parameters
isDraggingthe 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().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ activeComponent

AbstractGUIElement com.realtime.crossfire.jxclient.gui.misc.MouseTracker.activeComponent
private

◆ CLICK_DISTANCE

final int com.realtime.crossfire.jxclient.gui.misc.MouseTracker.CLICK_DISTANCE = 20
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().

◆ clickPosition

final Point com.realtime.crossfire.jxclient.gui.misc.MouseTracker.clickPosition = new Point()
private

◆ debugGui

final boolean com.realtime.crossfire.jxclient.gui.misc.MouseTracker.debugGui
private

◆ debugMouse

final Writer com.realtime.crossfire.jxclient.gui.misc.MouseTracker.debugMouse
private

◆ FORMATTER

final DateTimeFormatter com.realtime.crossfire.jxclient.gui.misc.MouseTracker.FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss,SSS ", Locale.ENGLISH)
staticprivate

A formatter for timestamps.

Definition at line 90 of file MouseTracker.java.

Referenced by com.realtime.crossfire.jxclient.gui.misc.MouseTracker.debugMouseWrite().

◆ guiFactory

final GuiFactory com.realtime.crossfire.jxclient.gui.misc.MouseTracker.guiFactory
private

◆ isClicked

boolean com.realtime.crossfire.jxclient.gui.misc.MouseTracker.isClicked
private

◆ isDragging

boolean com.realtime.crossfire.jxclient.gui.misc.MouseTracker.isDragging
private

◆ mouseElement

GUIElement com.realtime.crossfire.jxclient.gui.misc.MouseTracker.mouseElement
private

◆ PATTERN_PACKAGE_NAME

final Pattern com.realtime.crossfire.jxclient.gui.misc.MouseTracker.PATTERN_PACKAGE_NAME = Pattern.compile(".*\\.")
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().


The documentation for this class was generated from the following file: