Package org.apache.pivot.wtk.skin
Class CardPaneSkin
- java.lang.Object
-
- org.apache.pivot.wtk.skin.ComponentSkin
-
- org.apache.pivot.wtk.skin.ContainerSkin
-
- org.apache.pivot.wtk.skin.CardPaneSkin
-
- All Implemented Interfaces:
CardPaneListener
,ComponentKeyListener
,ComponentListener
,ComponentMouseButtonListener
,ComponentMouseListener
,ComponentMouseWheelListener
,ComponentStateListener
,ComponentTooltipListener
,ConstrainedVisual
,ContainerListener
,ContainerMouseListener
,Skin
,Visual
public class CardPaneSkin extends ContainerSkin implements CardPaneListener
Card pane skin.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
CardPaneSkin.CrossfadeTransition
Class that performs cross-fade selection change transitions.class
CardPaneSkin.FlipTransition
Class that performs flip selection change transitions.static class
CardPaneSkin.SelectionChangeEffect
Defines the supported selection change effects.class
CardPaneSkin.SelectionChangeTransition
Abstract base class for selection change transitions.class
CardPaneSkin.SlideTransition
Class that performs slide selection change transitions.class
CardPaneSkin.ZoomTransition
Class that performs zoom change transitions.-
Nested classes/interfaces inherited from class org.apache.pivot.wtk.skin.ContainerSkin
ContainerSkin.IndexFocusTraversalPolicy
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.CardPaneListener
CardPaneListener.Adapter, CardPaneListener.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.ContainerListener
ContainerListener.Adapter, ContainerListener.Listeners
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ContainerMouseListener
ContainerMouseListener.Adapter, ContainerMouseListener.Listeners
-
-
Constructor Summary
Constructors Constructor Description CardPaneSkin()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
componentInserted(Container container, int index)
Called when a component has been inserted into a container's component sequence.void
componentsRemoved(Container container, int index, Sequence<Component> removed)
Called when components have been removed from a container's component sequence.int
getBaseline(int width, int height)
Should be implemented in every subclass.Insets
getPadding()
int
getPreferredHeight(int width)
Returns the visual's preferred height given the provided width constraint.Dimensions
getPreferredSize()
Returns the visual's unconstrained preferred size.int
getPreferredWidth(int height)
Returns the visual's preferred width given the provided height constraint.int
getSelectionChangeDuration()
CardPaneSkin.SelectionChangeEffect
getSelectionChangeEffect()
int
getSelectionChangeRate()
boolean
getSizeToSelection()
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.boolean
isCircular()
Returns the circular style, which controls the direction of certain transitions (transitions for which a direction makes sense) when looping from the first index of a card pane to the last, or vice versa.void
layout()
If the component on which the skin is installed is a container, lays out the container's children.Vote
previewSelectedIndexChange(CardPane cardPane, int selectedIndex)
Called to preview a selected index change.void
selectedIndexChanged(CardPane cardPane, int previousSelectedIndex)
Called when a card pane's selected index has changed.void
selectedIndexChangeVetoed(CardPane cardPane, Vote reason)
Called when a selected index change has been vetoed.void
setCircular(boolean circular)
Sets the circular style, which controls the direction of certain transitions (transitions for which a direction makes sense) when looping from the first index of a card pane to the last, or vice versa.void
setPadding(int padding)
Sets the amount of space to leave between the edge of the CardPane and its content, uniformly on all four edges.void
setPadding(java.lang.Number padding)
Sets the amount of space to leave between the edge of the CardPane and its content, uniformly on all four edges.void
setPadding(java.lang.String padding)
Sets the amount of space to leave between the edge of the CardPane and its content.void
setPadding(Dictionary<java.lang.String,?> padding)
Sets the amount of space to leave between the edge of the CardPane and its content.void
setPadding(Sequence<?> padding)
Sets the amount of space to leave between the edge of the CardPane and its content.void
setPadding(Insets padding)
Sets the amount of space to leave between the edge of the CardPane and its content.void
setSelectionChangeDuration(int selectionChangeDuration)
void
setSelectionChangeEffect(CardPaneSkin.SelectionChangeEffect selectionChangeEffect)
void
setSelectionChangeRate(int selectionChangeRate)
void
setSizeToSelection(boolean sizeToSelection)
-
Methods inherited from class org.apache.pivot.wtk.skin.ContainerSkin
componentMoved, focusTraversalPolicyChanged, getBackgroundColor, getBackgroundPaint, isFocusable, isOpaque, mouseDown, mouseMove, mouseUp, mouseWheel, paint, setBackgroundColor, setBackgroundColor, setBackgroundColor, setBackgroundPaint, setBackgroundPaint, setBackgroundPaint
-
Methods inherited from class org.apache.pivot.wtk.skin.ComponentSkin
colorFromObject, colorFromObject, colorFromObject, colorFromObject, currentTheme, cursorChanged, decodeFont, defaultBackgroundColor, defaultForegroundColor, dragSourceChanged, dropTargetChanged, enabledChanged, focusedChanged, fontFromObject, getBaseline, getColor, getComponent, getFocusRectangleStroke, getHeight, getSize, getTextInputMethodListener, getThemeFont, getWidth, heightLimitsChanged, invalidateComponent, keyPressed, keyReleased, keyTyped, locationChanged, menuHandlerChanged, mouseClick, mouseDown, mouseMove, mouseOut, mouseOver, mouseUp, 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
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 classContainerSkin
- Parameters:
component
- The component to which the skin is being attached.
-
getPreferredWidth
public int getPreferredWidth(int height)
Description copied from interface:ConstrainedVisual
Returns the visual's preferred width given the provided height constraint.- Specified by:
getPreferredWidth
in interfaceConstrainedVisual
- Overrides:
getPreferredWidth
in classContainerSkin
- Parameters:
height
- The height by which to constrain the preferred width, or-1
for no constraint.- Returns:
- The preferred width given the height constraint.
-
getPreferredHeight
public int getPreferredHeight(int width)
Description copied from interface:ConstrainedVisual
Returns the visual's preferred height given the provided width constraint.- Specified by:
getPreferredHeight
in interfaceConstrainedVisual
- Overrides:
getPreferredHeight
in classContainerSkin
- Parameters:
width
- The width by which to constrain the preferred height, or-1
for no constraint.- Returns:
- The preferred height given the width constraint.
-
getPreferredSize
public Dimensions getPreferredSize()
Description copied from interface:ConstrainedVisual
Returns the visual's unconstrained preferred size.- Specified by:
getPreferredSize
in interfaceConstrainedVisual
- Overrides:
getPreferredSize
in classComponentSkin
- Returns:
- The preferred size (width and height) of this component.
Depending on the component this can be a static value or derived (as for a container) from its subcomponents, etc.
The default implementation simply calls
ConstrainedVisual.getPreferredWidth(int)
andConstrainedVisual.getPreferredHeight(int)
.
-
getBaseline
public int getBaseline(int width, int height)
Description copied from class:ComponentSkin
Should be implemented in every subclass.The default implementation here simply returns -1 (no baseline).
- Specified by:
getBaseline
in interfaceConstrainedVisual
- Overrides:
getBaseline
in classComponentSkin
- Parameters:
width
- Constrained width to compute the baseline for.height
- Constrained height to compute the baseline for.- Returns:
- The baseline relative to the origin of this visual, or
-1
if this visual does not have a baseline.
-
layout
public void layout()
Description copied from interface:Skin
If the component on which the skin is installed is a container, lays out the container's children.
-
getPadding
public final Insets getPadding()
- Returns:
- The amount of space between the edge of the CardPane and its content.
-
setPadding
public final void setPadding(Insets padding)
Sets the amount of space to leave between the edge of the CardPane and its content.- Parameters:
padding
- The new padding values for all edges.
-
setPadding
public final void setPadding(Dictionary<java.lang.String,?> padding)
Sets the amount of space to leave between the edge of the CardPane and its content.- Parameters:
padding
- A dictionary with keys in the set {top, left, bottom, right}.
-
setPadding
public final void setPadding(Sequence<?> padding)
Sets the amount of space to leave between the edge of the CardPane and its content.- Parameters:
padding
- A sequence with values in the order [top, left, bottom, right].
-
setPadding
public final void setPadding(int padding)
Sets the amount of space to leave between the edge of the CardPane and its content, uniformly on all four edges.- Parameters:
padding
- The new single padding value to use for all edges.
-
setPadding
public final void setPadding(java.lang.Number padding)
Sets the amount of space to leave between the edge of the CardPane and its content, uniformly on all four edges.- Parameters:
padding
- The new integer value to use for the padding on all edges.
-
setPadding
public final void setPadding(java.lang.String padding)
Sets the amount of space to leave between the edge of the CardPane and its content.- Parameters:
padding
- A string containing an integer or a JSON dictionary with keys top, left, bottom, and/or right.
-
getSizeToSelection
public boolean getSizeToSelection()
-
setSizeToSelection
public void setSizeToSelection(boolean sizeToSelection)
-
getSelectionChangeEffect
public CardPaneSkin.SelectionChangeEffect getSelectionChangeEffect()
-
setSelectionChangeEffect
public void setSelectionChangeEffect(CardPaneSkin.SelectionChangeEffect selectionChangeEffect)
-
getSelectionChangeDuration
public int getSelectionChangeDuration()
-
setSelectionChangeDuration
public void setSelectionChangeDuration(int selectionChangeDuration)
-
getSelectionChangeRate
public int getSelectionChangeRate()
-
setSelectionChangeRate
public void setSelectionChangeRate(int selectionChangeRate)
-
isCircular
public boolean isCircular()
Returns the circular style, which controls the direction of certain transitions (transitions for which a direction makes sense) when looping from the first index of a card pane to the last, or vice versa. When this style isfalse
(the default), directional transitions will always appear to move forward when transitioning from a lower card index to a higher card index, and vice versa. When this style istrue
, directional transitions will appear to move forward when transitioning from the last card to the first, and backward when they transition from the first card to the last.Note: to avoid ambiguity, the circular style will be ignored if the card pane has fewer than three cards.
- Returns:
true
if directional transitions will be circular;false
otherwise
-
setCircular
public void setCircular(boolean circular)
Sets the circular style, which controls the direction of certain transitions (transitions for which a direction makes sense) when looping from the first index of a card pane to the last, or vice versa. When this style isfalse
(the default), directional transitions will always appear to move forward when transitioning from a lower card index to a higher card index, and vice versa. When this style istrue
, directional transitions will appear to move forward when transitioning from the last card to the first, and backward when they transition from the first card to the last.Note: to avoid ambiguity, the circular style will be ignored if the card pane has fewer than three cards.
- Parameters:
circular
-true
if directional transitions should be circular;false
otherwise
-
componentInserted
public void componentInserted(Container container, int index)
Description copied from interface:ContainerListener
Called when a component has been inserted into a container's component sequence.- Specified by:
componentInserted
in interfaceContainerListener
- Overrides:
componentInserted
in classContainerSkin
- Parameters:
container
- The container that has changed.index
- The index where the new component has been inserted.
-
componentsRemoved
public void componentsRemoved(Container container, int index, Sequence<Component> removed)
Description copied from interface:ContainerListener
Called when components have been removed from a container's component sequence.- Specified by:
componentsRemoved
in interfaceContainerListener
- Overrides:
componentsRemoved
in classContainerSkin
- Parameters:
container
- The container that has changed.index
- The starting index of the components that were removed.removed
- The complete sequence of removed components.
-
previewSelectedIndexChange
public Vote previewSelectedIndexChange(CardPane cardPane, int selectedIndex)
Description copied from interface:CardPaneListener
Called to preview a selected index change.- Specified by:
previewSelectedIndexChange
in interfaceCardPaneListener
- Parameters:
cardPane
- The source of the event.selectedIndex
- The index that will be selected.- Returns:
- The consensus vote as to whether to allow this change.
-
selectedIndexChangeVetoed
public void selectedIndexChangeVetoed(CardPane cardPane, Vote reason)
Description copied from interface:CardPaneListener
Called when a selected index change has been vetoed.- Specified by:
selectedIndexChangeVetoed
in interfaceCardPaneListener
- Parameters:
cardPane
- The source of the event.reason
- The reason the event was vetoed.
-
selectedIndexChanged
public void selectedIndexChanged(CardPane cardPane, int previousSelectedIndex)
Description copied from interface:CardPaneListener
Called when a card pane's selected index has changed.- Specified by:
selectedIndexChanged
in interfaceCardPaneListener
- Parameters:
cardPane
- The source of the event.previousSelectedIndex
- If the selection changed directly, contains the index that was previously selected. Otherwise, contains the current selection.
-
-