Package org.apache.pivot.wtk.skin
Class ListButtonSkin
- java.lang.Object
-
- org.apache.pivot.wtk.skin.ComponentSkin
-
- org.apache.pivot.wtk.skin.ButtonSkin
-
- org.apache.pivot.wtk.skin.ListButtonSkin
-
- All Implemented Interfaces:
ButtonListener
,ButtonPressListener
,ButtonStateListener
,ComponentKeyListener
,ComponentListener
,ComponentMouseButtonListener
,ComponentMouseListener
,ComponentMouseWheelListener
,ComponentStateListener
,ComponentTooltipListener
,ConstrainedVisual
,ListButton.Skin
,ListButtonListener
,ListButtonSelectionListener
,Skin
,Visual
- Direct Known Subclasses:
TerraListButtonSkin
public abstract class ListButtonSkin extends ButtonSkin implements ListButton.Skin, ListButtonListener, ListButtonSelectionListener
Abstract base class for list button skins.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ButtonListener
ButtonListener.Adapter, ButtonListener.Listeners
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ButtonPressListener
ButtonPressListener.Listeners
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ButtonStateListener
ButtonStateListener.Listeners
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ComponentKeyListener
ComponentKeyListener.Adapter, ComponentKeyListener.Listeners
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ComponentListener
ComponentListener.Adapter, ComponentListener.Listeners
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ComponentMouseButtonListener
ComponentMouseButtonListener.Adapter, ComponentMouseButtonListener.Listeners
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ComponentMouseListener
ComponentMouseListener.Adapter, ComponentMouseListener.Listeners
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ComponentMouseWheelListener
ComponentMouseWheelListener.Listeners
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ComponentStateListener
ComponentStateListener.Adapter, ComponentStateListener.Listeners
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ComponentTooltipListener
ComponentTooltipListener.Listeners
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ListButtonListener
ListButtonListener.Adapter, ListButtonListener.Listeners
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ListButtonSelectionListener
ListButtonSelectionListener.Adapter, ListButtonSelectionListener.Listeners
-
-
Field Summary
Fields Modifier and Type Field Description protected ListView
listView
protected Window
listViewPopup
protected boolean
pressed
-
Fields inherited from class org.apache.pivot.wtk.skin.ButtonSkin
highlighted
-
-
Constructor Summary
Constructors Constructor Description ListButtonSkin()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description 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.Window
getListViewPopup()
abstract Bounds
getTriggerBounds()
void
install(Component component)
Must be implemented in every subclass in order to do component-specific operations at instantiation time, but every subclass must call this superclass method to setup the necessary listeners, etc.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)
boolean
keyReleased(Component component, int keyCode, Keyboard.KeyLocation keyLocation)
SPACE
'presses' the button.boolean
keyTyped(Component component, char character)
Select the next enabled list item where the first character of the rendered text matches the typed key (case insensitive).void
listDataChanged(ListButton listButton, List<?> previousListData)
Called when a list button's list data has changed.void
listSizeChanged(ListButton listButton, int previousListSize)
Called when a list button's list size 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
repeatableChanged(ListButton listButton)
Called when a list button's repeatable flag has changed.void
selectedIndexChanged(ListButton listButton, int previousSelectedIndex)
Called when a list button's selected index has changed.void
selectedItemChanged(ListButton listButton, java.lang.Object previousSelectedItem)
Called when a list button's selected item has changed.-
Methods inherited from class org.apache.pivot.wtk.skin.ButtonSkin
actionChanged, buttonDataChanged, buttonGroupChanged, buttonPressed, dataRendererChanged, layout, mouseOver, stateChanged, toggleButtonChanged, triStateChanged
-
Methods inherited from class org.apache.pivot.wtk.skin.ComponentSkin
colorFromObject, colorFromObject, colorFromObject, colorFromObject, currentTheme, cursorChanged, decodeFont, defaultBackgroundColor, defaultForegroundColor, dragSourceChanged, dropTargetChanged, fontFromObject, getBaseline, getBaseline, getColor, getComponent, getFocusRectangleStroke, getHeight, getPreferredSize, getSize, getTextInputMethodListener, getThemeFont, getWidth, heightLimitsChanged, invalidateComponent, isFocusable, isOpaque, locationChanged, menuHandlerChanged, mouseMove, mouseWheel, nameChanged, parentChanged, preferredSizeChanged, repaintComponent, repaintComponent, repaintComponent, repaintComponent, repaintComponent, setDefaultStyles, setSize, sizeChanged, themeHasThickFocusRectangle, themeHasTransitionEnabled, themeIsDark, themeIsFlat, tooltipDelayChanged, tooltipTextChanged, tooltipTriggered, visibleChanged, widthLimitsChanged
-
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, setSize
-
-
-
-
Method Detail
-
install
public void install(Component component)
Description copied from class:ComponentSkin
Must be implemented in every subclass in order to do component-specific operations at instantiation time, but every subclass must call this superclass method to setup the necessary listeners, etc.- Specified by:
install
in interfaceSkin
- Overrides:
install
in classButtonSkin
- Parameters:
component
- The component to which the skin is being attached.
-
getListViewPopup
public Window getListViewPopup()
- Specified by:
getListViewPopup
in interfaceListButton.Skin
-
getTriggerBounds
public abstract Bounds getTriggerBounds()
-
enabledChanged
public void enabledChanged(Component component)
Description copied from interface:ComponentStateListener
Called when a component's enabled state has changed.Called both when the component is enabled and when it is disabled. The component's
enabled
flag has already been set when this method is called so the new state can be determined by calling theComponent.isEnabled()
method.- Specified by:
enabledChanged
in interfaceComponentStateListener
- Overrides:
enabledChanged
in classButtonSkin
- Parameters:
component
- The component whose enabled state is changing.
-
focusedChanged
public void focusedChanged(Component component, Component obverseComponent)
Description copied from interface:ComponentStateListener
Called when a component's focused state has changed.This will be called both when a component gains focus and when it loses focus. The currently focused component has already been set when this method is called, so that the new state of the component can be determined by calling the
Component.isFocused()
method.- Specified by:
focusedChanged
in interfaceComponentStateListener
- Overrides:
focusedChanged
in classButtonSkin
- Parameters:
component
- The component that is either gaining focus or the one that previously had focus and is now losing it.obverseComponent
- If the component is gaining focus, this is the component that is losing focus. If the component is losing focus this is the component that is gaining the focus instead.
-
mouseOut
public void mouseOut(Component component)
Description copied from interface:ComponentMouseListener
Called when the mouse exits a component.Default is to do nothing.
- Specified by:
mouseOut
in interfaceComponentMouseListener
- Overrides:
mouseOut
in classButtonSkin
- Parameters:
component
- Component that has now lost the mouse pointer.
-
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 interfaceComponentMouseButtonListener
- Overrides:
mouseDown
in classComponentSkin
- Parameters:
component
- Component that is under the mouse pointer.button
- Which mouse button was pressed.x
- X position of the mouse.y
- Y position of the mouse.- Returns:
true
to consume the event;false
to allow it to propagate (default).
-
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 interfaceComponentMouseButtonListener
- Overrides:
mouseUp
in classComponentSkin
- Parameters:
component
- Component user the mouse pointer.button
- Which mouse button that was released.x
- X position of the mouse.y
- Y position of the mouse.- Returns:
true
to consume the event;false
to allow it to propagate (default).
-
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 interfaceComponentMouseButtonListener
- Overrides:
mouseClick
in classComponentSkin
- Parameters:
component
- Component user the mouse pointer.button
- Which mouse button was clicked.x
- X position of the mouse.y
- Y position of the mouse.count
- Number of clicks (1 = single click, 2 = double click, etc.).- Returns:
true
to consume the event;false
to allow it to propagate (default).
-
keyPressed
public boolean keyPressed(Component component, int keyCode, Keyboard.KeyLocation keyLocation)
SPACE
Repaints the component to reflect the pressed state and opens the popup.
UP
Selects the previous enabled list item.
DOWN
Selects the next enabled list item.- Specified by:
keyPressed
in interfaceComponentKeyListener
- Overrides:
keyPressed
in classComponentSkin
- Parameters:
component
- Component that has the focus.keyCode
- The key code for the key that was pressed.keyLocation
- Location value for the key (left or right for shift keys, etc.).- Returns:
true
to consume the event;false
to allow it to propagate.- See Also:
keyReleased(Component, int, Keyboard.KeyLocation)
-
keyReleased
public boolean keyReleased(Component component, int keyCode, Keyboard.KeyLocation keyLocation)
SPACE
'presses' the button.- Specified by:
keyReleased
in interfaceComponentKeyListener
- Overrides:
keyReleased
in classComponentSkin
- Parameters:
component
- Component that has the focus, that is receiving this key event.keyCode
- Code for the key that was released.keyLocation
- Location of the key.- Returns:
true
to consume the event;false
to allow it to propagate.
-
keyTyped
public boolean keyTyped(Component component, char character)
Select the next enabled list item where the first character of the rendered text matches the typed key (case insensitive).- Specified by:
keyTyped
in interfaceComponentKeyListener
- Overrides:
keyTyped
in classComponentSkin
- Parameters:
component
- Component that has the focus, that is receiving this key.character
- The decoded character that was typed.- 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 interfaceListButtonListener
- Parameters:
listButton
- The list button that has changed.previousListData
- The previous list data.
-
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 interfaceListButtonListener
- Parameters:
listButton
- The list button that was changed.previousItemRenderer
- The previous renderer for the button's items.
-
repeatableChanged
public void repeatableChanged(ListButton listButton)
Description copied from interface:ListButtonListener
Called when a list button's repeatable flag has changed.- Specified by:
repeatableChanged
in interfaceListButtonListener
- Parameters:
listButton
- The list button that has changed.
-
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 interfaceListButtonListener
- Parameters:
listButton
- The list button that has changed.previousDisabledItemFilter
- The previous disabled item filter for the list button.
-
listSizeChanged
public void listSizeChanged(ListButton listButton, int previousListSize)
Description copied from interface:ListButtonListener
Called when a list button's list size has changed.- Specified by:
listSizeChanged
in interfaceListButtonListener
- Parameters:
listButton
- The list button that has changed.previousListSize
- The previous value of the visible list size.
-
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 interfaceListButtonSelectionListener
- Parameters:
listButton
- The source of the event.previousSelectedIndex
- If the selection changed directly, contains the index that was previously selected. Otherwise, contains the current selection.
-
selectedItemChanged
public void selectedItemChanged(ListButton listButton, java.lang.Object previousSelectedItem)
Description copied from interface:ListButtonSelectionListener
Called when a list button's selected item has changed.- Specified by:
selectedItemChanged
in interfaceListButtonSelectionListener
- Parameters:
listButton
- The source of the event.previousSelectedItem
- The item that was previously selected, ornull
if the previous selection cannot be determined.
-
-