com.realtime.crossfire.jxclient.gui.gui
Class MouseTracker

java.lang.Object
  extended by com.realtime.crossfire.jxclient.gui.gui.MouseTracker
All Implemented Interfaces:
java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.util.EventListener, javax.swing.event.MouseInputListener

public class MouseTracker
extends java.lang.Object
implements javax.swing.event.MouseInputListener

Tracks mouse actions and delivers mouse events to affected GUIElement.

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


Field Summary
private  boolean debugGui
          Whether GUI elements should be highlighted.
private  GUIElement mouseElement
          The gui element in which the mouse is.
private  JXCWindowRenderer windowRenderer
          The renderer to access dialogs/gui elements.
 
Constructor Summary
MouseTracker(boolean debugGui)
          Creates a new instance.
 
Method Summary
private  void enterElement(GUIElement element, java.awt.event.MouseEvent e)
          Sets a new mouseElement and generate entered/exited events.
 java.awt.Component getMouseElement()
          Returns the gui element in which the mouse is.
 void init(JXCWindowRenderer windowRenderer)
          Deprecated. 
 void mouseClicked(java.awt.event.MouseEvent e)
          
 void mouseDragged(java.awt.event.MouseEvent e)
          
 void mouseEntered(java.awt.event.MouseEvent e)
          
 void mouseExited(java.awt.event.MouseEvent e)
          
 void mouseMoved(java.awt.event.MouseEvent e)
          
 void mousePressed(java.awt.event.MouseEvent e)
          
 void mouseReleased(java.awt.event.MouseEvent e)
          
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

debugGui

private final boolean debugGui
Whether GUI elements should be highlighted.


mouseElement

@Nullable
private GUIElement mouseElement
The gui element in which the mouse is.


windowRenderer

private JXCWindowRenderer windowRenderer
The renderer to access dialogs/gui elements.

Constructor Detail

MouseTracker

public MouseTracker(boolean debugGui)
Creates a new instance.

Parameters:
debugGui - whether GUI elements should be highlighted
Method Detail

enterElement

private void enterElement(@Nullable
                          GUIElement element,
                          @NotNull
                          java.awt.event.MouseEvent e)
Sets a new mouseElement and generate entered/exited events.

Parameters:
element - the new element; it may be null
e - the event parameter

getMouseElement

@Nullable
public java.awt.Component getMouseElement()
Returns the gui element in which the mouse is.

Returns:
the gui element in which the mouse is

init

@Deprecated
public void init(@NotNull
                            JXCWindowRenderer windowRenderer)
Deprecated. 


mouseClicked

public void mouseClicked(@NotNull
                         java.awt.event.MouseEvent e)

Specified by:
mouseClicked in interface java.awt.event.MouseListener

mouseDragged

public void mouseDragged(@NotNull
                         java.awt.event.MouseEvent e)

Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener

mouseEntered

public void mouseEntered(@NotNull
                         java.awt.event.MouseEvent e)

Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(@NotNull
                        java.awt.event.MouseEvent e)

Specified by:
mouseExited in interface java.awt.event.MouseListener

mouseMoved

public void mouseMoved(@NotNull
                       java.awt.event.MouseEvent e)

Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener

mousePressed

public void mousePressed(@NotNull
                         java.awt.event.MouseEvent e)

Specified by:
mousePressed in interface java.awt.event.MouseListener

mouseReleased

public void mouseReleased(@NotNull
                          java.awt.event.MouseEvent e)

Specified by:
mouseReleased in interface java.awt.event.MouseListener