org.apache.pivot.wtk.skin
Class ListButtonSkin

java.lang.Object
  extended by org.apache.pivot.wtk.skin.ComponentSkin
      extended by org.apache.pivot.wtk.skin.ButtonSkin
          extended by org.apache.pivot.wtk.skin.ListButtonSkin
All Implemented Interfaces:
ButtonListener, ButtonPressListener, ButtonStateListener, ComponentKeyListener, ComponentListener, ComponentMouseButtonListener, ComponentMouseListener, ComponentMouseWheelListener, ComponentStateListener, ConstrainedVisual, ListButtonListener, ListButtonSelectionListener, Skin, Visual
Direct Known Subclasses:
TerraListButtonSkin

public abstract class ListButtonSkin
extends ButtonSkin
implements ListButtonListener, ListButtonSelectionListener

Abstract base class for list button skins.

TODO Rather than blindly closing when a mouse down is received, we could instead cache the selection state in the popup's container mouse down event and compare it to the current state in component mouse down. If different, we close the popup. This would also tie this base class less tightly to its concrete subclasses.


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ButtonListener
ButtonListener.Adapter
 
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ComponentListener
ComponentListener.Adapter
 
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ComponentStateListener
ComponentStateListener.Adapter
 
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ComponentMouseListener
ComponentMouseListener.Adapter
 
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ComponentMouseButtonListener
ComponentMouseButtonListener.Adapter
 
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ComponentKeyListener
ComponentKeyListener.Adapter
 
Field Summary
protected  ListView listView
           
protected  Window listViewPopup
           
protected  boolean pressed
           
 
Fields inherited from class org.apache.pivot.wtk.skin.ButtonSkin
highlighted
 
Fields inherited from class org.apache.pivot.wtk.skin.ComponentSkin
SHOW_TOOLTIP_TIMEOUT
 
Constructor Summary
ListButtonSkin()
           
 
Method Summary
 void disabledItemFilterChanged(ListButton listButton, Filter<?> previousDisabledItemFilter)
          Called when a list button's disabled item filter has changed.
 void enabledChanged(Component component)
          Called when a component's enabled state has changed.
 void focusedChanged(Component component, Component obverseComponent)
          Called when a component's focused state has changed.
 void install(Component component)
          Associates a skin with a component.
 void itemRendererChanged(ListButton listButton, ListView.ItemRenderer previousItemRenderer)
          Called when a list button's item renderer has changed.
 boolean keyPressed(Component component, int keyCode, Keyboard.KeyLocation keyLocation)
          Called when a key has been pressed.
 boolean keyReleased(Component component, int keyCode, Keyboard.KeyLocation keyLocation)
          Called when a key has been released.
 void listDataChanged(ListButton listButton, List<?> previousListData)
          Called when a list button's list data has changed.
 boolean mouseClick(Component component, Mouse.Button button, int x, int y, int count)
          Called when a mouse button is clicked over a component.
 boolean mouseDown(Component component, Mouse.Button button, int x, int y)
          Called when a mouse button is pressed over a component.
 void mouseOut(Component component)
          Called when the mouse exits a component.
 boolean mouseUp(Component component, Mouse.Button button, int x, int y)
          Called when a mouse button is released over a component.
 void selectedIndexChanged(ListButton listButton, int previousSelectedIndex)
          Called when a list button's selected index has changed.
 void selectedItemKeyChanged(ListButton listButton, String previousSelectedItemKey)
          Called when a list button's selected value key has changed.
 
Methods inherited from class org.apache.pivot.wtk.skin.ButtonSkin
actionChanged, buttonDataChanged, buttonGroupChanged, buttonPressed, dataRendererChanged, layout, mouseOver, selectedKeyChanged, stateChanged, stateKeyChanged, toggleButtonChanged, triStateChanged
 
Methods inherited from class org.apache.pivot.wtk.skin.ComponentSkin
cursorChanged, decodeFont, dragSourceChanged, dropTargetChanged, getBaseline, getBaseline, getComponent, getHeight, getPreferredSize, getWidth, invalidateComponent, isFocusable, isOpaque, keyTyped, locationChanged, menuHandlerChanged, mouseMove, mouseWheel, parentChanged, preferredHeightLimitsChanged, preferredSizeChanged, preferredWidthLimitsChanged, repaintComponent, repaintComponent, repaintComponent, repaintComponent, repaintComponent, setSize, sizeChanged, styleUpdated, tooltipTextChanged, visibleChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.pivot.wtk.ConstrainedVisual
getPreferredHeight, getPreferredWidth
 
Methods inherited from interface org.apache.pivot.wtk.Visual
paint
 

Field Detail

listView

protected ListView listView

listViewPopup

protected Window listViewPopup

pressed

protected boolean pressed
Constructor Detail

ListButtonSkin

public ListButtonSkin()
Method Detail

install

public void install(Component component)
Description copied from interface: Skin
Associates a skin with a component.

Specified by:
install in interface Skin
Overrides:
install in class ButtonSkin
Parameters:
component - The component to which the skin is being attached.

enabledChanged

public void enabledChanged(Component component)
Description copied from interface: ComponentStateListener
Called when a component's enabled state has changed.

Specified by:
enabledChanged in interface ComponentStateListener
Overrides:
enabledChanged in class ButtonSkin

focusedChanged

public void focusedChanged(Component component,
                           Component obverseComponent)
Description copied from interface: ComponentStateListener
Called when a component's focused state has changed.

Specified by:
focusedChanged in interface ComponentStateListener
Overrides:
focusedChanged in class ButtonSkin

mouseOut

public void mouseOut(Component component)
Description copied from interface: ComponentMouseListener
Called when the mouse exits a component.

Specified by:
mouseOut in interface ComponentMouseListener
Overrides:
mouseOut in class ButtonSkin

mouseDown

public boolean mouseDown(Component component,
                         Mouse.Button button,
                         int x,
                         int y)
Description copied from interface: ComponentMouseButtonListener
Called when a mouse button is pressed over a component.

Specified by:
mouseDown in interface ComponentMouseButtonListener
Overrides:
mouseDown in class ComponentSkin
Returns:
true to consume the event; false to allow it to propagate.

mouseUp

public boolean mouseUp(Component component,
                       Mouse.Button button,
                       int x,
                       int y)
Description copied from interface: ComponentMouseButtonListener
Called when a mouse button is released over a component.

Specified by:
mouseUp in interface ComponentMouseButtonListener
Overrides:
mouseUp in class ComponentSkin
Returns:
true to consume the event; false to allow it to propagate.

mouseClick

public boolean mouseClick(Component component,
                          Mouse.Button button,
                          int x,
                          int y,
                          int count)
Description copied from interface: ComponentMouseButtonListener
Called when a mouse button is clicked over a component.

Specified by:
mouseClick in interface ComponentMouseButtonListener
Overrides:
mouseClick in class ComponentSkin
Returns:
true to consume the event; false to allow it to propagate.

keyPressed

public boolean keyPressed(Component component,
                          int keyCode,
                          Keyboard.KeyLocation keyLocation)
Description copied from interface: ComponentKeyListener
Called when a key has been pressed.

Specified by:
keyPressed in interface ComponentKeyListener
Overrides:
keyPressed in class ComponentSkin
Returns:
true to consume the event; false to allow it to propagate.

keyReleased

public boolean keyReleased(Component component,
                           int keyCode,
                           Keyboard.KeyLocation keyLocation)
Description copied from interface: ComponentKeyListener
Called when a key has been released.

Specified by:
keyReleased in interface ComponentKeyListener
Overrides:
keyReleased in class ComponentSkin
Returns:
true to consume the event; false to allow it to propagate.

listDataChanged

public void listDataChanged(ListButton listButton,
                            List<?> previousListData)
Description copied from interface: ListButtonListener
Called when a list button's list data has changed.

Specified by:
listDataChanged in interface ListButtonListener

itemRendererChanged

public void itemRendererChanged(ListButton listButton,
                                ListView.ItemRenderer previousItemRenderer)
Description copied from interface: ListButtonListener
Called when a list button's item renderer has changed.

Specified by:
itemRendererChanged in interface ListButtonListener

disabledItemFilterChanged

public void disabledItemFilterChanged(ListButton listButton,
                                      Filter<?> previousDisabledItemFilter)
Description copied from interface: ListButtonListener
Called when a list button's disabled item filter has changed.

Specified by:
disabledItemFilterChanged in interface ListButtonListener

selectedItemKeyChanged

public void selectedItemKeyChanged(ListButton listButton,
                                   String previousSelectedItemKey)
Description copied from interface: ListButtonListener
Called when a list button's selected value key has changed.

Specified by:
selectedItemKeyChanged in interface ListButtonListener

selectedIndexChanged

public void selectedIndexChanged(ListButton listButton,
                                 int previousSelectedIndex)
Description copied from interface: ListButtonSelectionListener
Called when a list button's selected index has changed.

Specified by:
selectedIndexChanged in interface ListButtonSelectionListener