org.xith3d.ui.hud.utils
Class WidgetZIndexGroup

java.lang.Object
  extended by org.xith3d.ui.hud.utils.WidgetZIndexGroup
All Implemented Interfaces:
WidgetMouseListener

public class WidgetZIndexGroup
extends java.lang.Object
implements WidgetMouseListener

This class can be used to logically group some Widgets by their z-index. When one Widget is clicked, it's z-index will be set to the maximum z-index of the group and the ones lying over it are being set a lower z-index.


Constructor Summary
WidgetZIndexGroup()
          Creates a new WidgetZIndexGroup.
WidgetZIndexGroup(int quantum)
          Creates a new WidgetZIndexGroup.
 
Method Summary
 void add(Widget widget)
          Adds a Widget to this logic group.
 int getMaxZIndex()
           
 int getQuantum()
           
 void onInputStateChanged(Widget widget, org.jagatoo.input.devices.components.DeviceComponent comp, int delta, int state, long when, boolean isTopMost, boolean hasFocus)
          This event is fired when the state of any DeviceComponent has changed.
 void onMouseButtonPressed(Widget widget, org.jagatoo.input.devices.components.MouseButton button, float x, float y, long when, long lastWhen, boolean isTopMost, boolean hasFocus)
          This event is fired, when a mouse button is pressed on a focused Widget.
 void onMouseButtonReleased(Widget widget, org.jagatoo.input.devices.components.MouseButton button, float x, float y, long when, long lastWhen, boolean isTopMost, boolean hasFocus)
          This event is fired, when a mouse button is released on a focused Widget.
 void onMouseEntered(Widget widget, boolean isTopMost, boolean hasFocus)
          This method is called when the mouse entered the Widget area.
 void onMouseExited(Widget widget, boolean isTopMost, boolean hasFocus)
          This method is called when the mouse exited the Widget area.
 void onMouseMoved(Widget widget, float x, float y, int buttonsState, long when, boolean isTopMost, boolean hasFocus)
          This event is fired, when the mouse is moved on a Widget.
 void onMouseStopped(Widget widget, float x, float y, long when, boolean isTopMost, boolean hasFocus)
          This event is fired, when the mouse position has not been changed on this Widget for a certain amount of time.
 void onMouseWheelMoved(Widget widget, int delta, boolean isPageMove, float x, float y, long when, boolean isTopMost)
          This event is fired, when the mouse wheel is moved on a Widget.
 boolean remove(Widget widget)
          Removes a Widget from this logic group.
 void setMaxZIndex(int mzi)
          Sets the maximum z-index, which will be set to the last clicked Widget in the group.
 void setQuantum(int quantum)
          Sets the step the zIndices are altered with.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WidgetZIndexGroup

public WidgetZIndexGroup(int quantum)
Creates a new WidgetZIndexGroup.

Parameters:
quantum - the step the zIndices are altered with (default: 1)

WidgetZIndexGroup

public WidgetZIndexGroup()
Creates a new WidgetZIndexGroup.

Method Detail

setMaxZIndex

public void setMaxZIndex(int mzi)
Sets the maximum z-index, which will be set to the last clicked Widget in the group. Call this method, when you change the z-index of a Widget after adding it to this group.

Parameters:
mzi - the new maximum z-index

getMaxZIndex

public int getMaxZIndex()
Returns:
the maximum z-index, which will be set to the last clicked Widget in the group.

setQuantum

public void setQuantum(int quantum)
Sets the step the zIndices are altered with.


getQuantum

public int getQuantum()
Returns:
the step the zIndices are altered with.

onMouseButtonPressed

public void onMouseButtonPressed(Widget widget,
                                 org.jagatoo.input.devices.components.MouseButton button,
                                 float x,
                                 float y,
                                 long when,
                                 long lastWhen,
                                 boolean isTopMost,
                                 boolean hasFocus)
This event is fired, when a mouse button is pressed on a focused Widget.

Specified by:
onMouseButtonPressed in interface WidgetMouseListener
Parameters:
widget - the Widget for which this event was fired
button - the button that was pressed
x - the current mouse x position
y - the current mouse y position
when - the gameTime of the mouse event
lastWhen - the milli-time when the button has last been pressed
isTopMost - is this Widget topMost
hasFocus - is this Widget focused

onMouseButtonReleased

public void onMouseButtonReleased(Widget widget,
                                  org.jagatoo.input.devices.components.MouseButton button,
                                  float x,
                                  float y,
                                  long when,
                                  long lastWhen,
                                  boolean isTopMost,
                                  boolean hasFocus)
This event is fired, when a mouse button is released on a focused Widget.

Specified by:
onMouseButtonReleased in interface WidgetMouseListener
Parameters:
widget - the Widget for which this event was fired
button - the button that was released
x - the current mouse x position
y - the current mouse y position
when - the gameTime of the mouse event
lastWhen - the milli-time when the button has last been released
isTopMost - is this Widget topMost
hasFocus - is this Widget focused

onMouseMoved

public void onMouseMoved(Widget widget,
                         float x,
                         float y,
                         int buttonsState,
                         long when,
                         boolean isTopMost,
                         boolean hasFocus)
This event is fired, when the mouse is moved on a Widget.

Specified by:
onMouseMoved in interface WidgetMouseListener
Parameters:
widget - the Widget for which this event was fired
x - the new X coordinate
y - the new Y coordinate
buttonsState - the buttons' state bitmask
when - the gameTime of the mouse event
isTopMost - is this Widget topMost
hasFocus - is this Widget focused

onMouseStopped

public void onMouseStopped(Widget widget,
                           float x,
                           float y,
                           long when,
                           boolean isTopMost,
                           boolean hasFocus)
This event is fired, when the mouse position has not been changed on this Widget for a certain amount of time.

Specified by:
onMouseStopped in interface WidgetMouseListener
Parameters:
widget - the Widget for which this event was fired
x - the new X coordinate
y - the new Y coordinate
when - the gameTime of the mouse event
isTopMost - is this Widget topMost
hasFocus - is this Widget focused

onMouseWheelMoved

public void onMouseWheelMoved(Widget widget,
                              int delta,
                              boolean isPageMove,
                              float x,
                              float y,
                              long when,
                              boolean isTopMost)
This event is fired, when the mouse wheel is moved on a Widget.

Specified by:
onMouseWheelMoved in interface WidgetMouseListener
Parameters:
widget - the Widget for which this event was fired
delta - a positive value when the wheel was moved up
isPageMove - true, if whole pages are to be scrolled with this wheel move
x - the current mouse x position
y - the current mouse y position
when - the gameTime of the mouse event
isTopMost - is this Widget topMost

onMouseEntered

public void onMouseEntered(Widget widget,
                           boolean isTopMost,
                           boolean hasFocus)
This method is called when the mouse entered the Widget area.

Specified by:
onMouseEntered in interface WidgetMouseListener
Parameters:
widget - the Widget for which this event was fired
isTopMost - is this Widget topMost
hasFocus - is this Widget focused

onMouseExited

public void onMouseExited(Widget widget,
                          boolean isTopMost,
                          boolean hasFocus)
This method is called when the mouse exited the Widget area.

Specified by:
onMouseExited in interface WidgetMouseListener
Parameters:
widget - the Widget for which this event was fired
isTopMost - is this Widget topMost
hasFocus - is this Widget focused

onInputStateChanged

public void onInputStateChanged(Widget widget,
                                org.jagatoo.input.devices.components.DeviceComponent comp,
                                int delta,
                                int state,
                                long when,
                                boolean isTopMost,
                                boolean hasFocus)
This event is fired when the state of any DeviceComponent has changed.

Specified by:
onInputStateChanged in interface WidgetMouseListener
Parameters:
widget - the Widget for which this event was fired
when - the gameTime of the event

add

public void add(Widget widget)
Adds a Widget to this logic group.

Parameters:
widget - the Widget to add

remove

public boolean remove(Widget widget)
Removes a Widget from this logic group.

Parameters:
widget - the Widget to remove