com.guiseframework.component
Class SequenceCardPanel

java.lang.Object
  extended by com.globalmentor.beans.BoundPropertyObject
      extended by com.guiseframework.event.GuiseBoundPropertyObject
          extended by com.guiseframework.model.ui.AbstractPresentationModel
              extended by com.guiseframework.component.AbstractComponent
                  extended by com.guiseframework.component.AbstractCompositeComponent
                      extended by com.guiseframework.component.AbstractMultipleCompositeComponent
                          extended by com.guiseframework.component.AbstractListCompositeComponent
                              extended by com.guiseframework.component.AbstractLayoutComponent
                                  extended by com.guiseframework.component.AbstractContainer
                                      extended by com.guiseframework.component.AbstractContainerControl
                                          extended by com.guiseframework.component.AbstractListSelectContainerControl
                                              extended by com.guiseframework.component.AbstractCardPanel
                                                  extended by com.guiseframework.component.SequenceCardPanel
All Implemented Interfaces:
com.globalmentor.beans.PropertyBindable, com.globalmentor.beans.PropertyConstrainable, ArrangeContainer, Box, CardContainer, CardControl, Component, CompositeComponent, Container, ContainerControl, Control, InputFocusableComponent, LayoutComponent, ListSelectControl<Component>, Panel, SelectControl<Component>, ValueControl<Component>, ValuedComponent<Component>, GuiseEventListener, ListListenable<Component>, NavigationListener, Commitable, Displayable, Enableable, InfoModel, LabelModel, ListSelectModel<Component>, Model, SelectModel<Component>, PresentationModel, Valued<Component>, ValueModel<Component>, DepictedObject, java.lang.Iterable<Component>, java.util.Collection<Component>, java.util.EventListener, java.util.List<Component>

public class SequenceCardPanel
extends AbstractCardPanel
implements ArrangeContainer, Commitable

A card panel representing a sequence of cards. If any card has constraints of TaskCardConstraints, this class will update the task state based upon visited and validated status.

Author:
Garret Wilson
See Also:
CardLayout

Nested Class Summary
protected  class SequenceCardPanel.SequenceCardVetoableChangeListener
          A vetoable property change listener validates cards before changing to new cards.
 
Nested classes/interfaces inherited from class com.guiseframework.component.AbstractListSelectContainerControl
AbstractListSelectContainerControl.ComponentRepresentationStrategy
 
Nested classes/interfaces inherited from class com.guiseframework.component.AbstractComponent
AbstractComponent.AbstractFlyoverFrameStrategy<S extends Component>, AbstractComponent.AbstractFlyoverStrategy<S extends Component>, AbstractComponent.DefaultFlyoverStrategy<S extends Component>
 
Nested classes/interfaces inherited from interface com.guiseframework.component.Component
Component.FlyoverStrategy<S extends Component>
 
Nested classes/interfaces inherited from interface com.guiseframework.component.ListSelectControl
ListSelectControl.ValueRepresentationStrategy<VV>
 
Nested classes/interfaces inherited from interface com.guiseframework.component.Control
Control.Status
 
Field Summary
static java.lang.String STATE_PROPERTY
          The bound property of the sequence state.
static java.lang.String TRANSITION_ENABLED_PROPERTY
          The bound property of whether the transitions are enabled.
 
Fields inherited from class com.guiseframework.component.AbstractListSelectContainerControl
COMPONENT_REPRESENTATION_STRATEGY
 
Fields inherited from class com.globalmentor.beans.BoundPropertyObject
NO_PROPERTY_CHANGE_LISTENERS, NO_VETOABLE_CHANGE_LISTENERS
 
Fields inherited from interface com.guiseframework.component.LayoutComponent
LAYOUT_PROPERTY, LAYOUT_THEME_APPLIED_PROPERTY
 
Fields inherited from interface com.guiseframework.component.Component
BOOKMARK_ENABLED_PROPERTY, CONSTRAINTS_PROPERTY, DRAG_ENABLED_PROPERTY, DROP_ENABLED_PROPERTY, FLYOVER_ENABLED_PROPERTY, FLYOVER_STRATEGY_PROPERTY, INPUT_STRATEGY_PROPERTY, NAME_PROPERTY, NOTIFICATION_PROPERTY, ORIENTATION_PROPERTY, THEME_APPLIED_PROPERTY, VALID_PROPERTY
 
Fields inherited from interface com.guiseframework.model.ui.PresentationModel
BACKGROUND_COLOR_PROPERTY, BORDER_LINE_FAR_COLOR_PROPERTY, BORDER_LINE_FAR_EXTENT_PROPERTY, BORDER_LINE_FAR_STYLE_PROPERTY, BORDER_LINE_NEAR_COLOR_PROPERTY, BORDER_LINE_NEAR_EXTENT_PROPERTY, BORDER_LINE_NEAR_STYLE_PROPERTY, BORDER_PAGE_FAR_COLOR_PROPERTY, BORDER_PAGE_FAR_EXTENT_PROPERTY, BORDER_PAGE_FAR_STYLE_PROPERTY, BORDER_PAGE_NEAR_COLOR_PROPERTY, BORDER_PAGE_NEAR_EXTENT_PROPERTY, BORDER_PAGE_NEAR_STYLE_PROPERTY, CORNER_LINE_FAR_PAGE_FAR_ARC_SIZE_PROPERTY, CORNER_LINE_FAR_PAGE_NEAR_ARC_SIZE_PROPERTY, CORNER_LINE_NEAR_PAGE_FAR_ARC_SIZE_PROPERTY, CORNER_LINE_NEAR_PAGE_NEAR_ARC_SIZE_PROPERTY, CURSOR_PROPERTY, FONT_FAMILIES_PROPERTY, FONT_SIZE_PROPERTY, FONT_STYLE_PROPERTY, FONT_WEIGHT_BOLD, FONT_WEIGHT_NORMAL, FONT_WEIGHT_PROPERTY, LABEL_FONT_FAMILIES_PROPERTY, LABEL_FONT_SIZE_PROPERTY, LABEL_FONT_STYLE_PROPERTY, LABEL_FONT_WEIGHT_PROPERTY, LABEL_TEXT_COLOR_PROPERTY, LINE_EXTENT_PROPERTY, MARGIN_LINE_FAR_EXTENT_PROPERTY, MARGIN_LINE_NEAR_EXTENT_PROPERTY, MARGIN_PAGE_FAR_EXTENT_PROPERTY, MARGIN_PAGE_NEAR_EXTENT_PROPERTY, OPACITY_PROPERTY, PADDING_LINE_FAR_EXTENT_PROPERTY, PADDING_LINE_NEAR_EXTENT_PROPERTY, PADDING_PAGE_FAR_EXTENT_PROPERTY, PADDING_PAGE_NEAR_EXTENT_PROPERTY, PAGE_EXTENT_PROPERTY, ROUNDED_CORNER_ARC_SIZE, STYLE_ID_PROPERTY, TEXT_COLOR_PROPERTY, TOOLTIP_ENABLED_PROPERTY, VISIBLE_PROPERTY
 
Fields inherited from interface com.guiseframework.model.Displayable
DISPLAYED_PROPERTY
 
Fields inherited from interface com.guiseframework.model.InfoModel
DESCRIPTION_CONTENT_TYPE_PROPERTY, DESCRIPTION_PROPERTY, INFO_CONTENT_TYPE_PROPERTY, INFO_PROPERTY
 
Fields inherited from interface com.guiseframework.model.LabelModel
GLYPH_URI_PROPERTY, LABEL_CONTENT_TYPE_PROPERTY, LABEL_PROPERTY
 
Fields inherited from interface com.guiseframework.model.Model
PLAIN_TEXT_CONTENT_TYPE, XHTML_CONTENT_TYPE, XHTML_FRAGMENT_CONTENT_TYPE
 
Fields inherited from interface com.guiseframework.component.SelectControl
VALUE_REPRESENTATION_STRATEGY_PROPERTY
 
Fields inherited from interface com.guiseframework.component.ValueControl
CONVERTER_PROPERTY
 
Fields inherited from interface com.guiseframework.component.Control
STATUS_PROPERTY
 
Fields inherited from interface com.guiseframework.model.Enableable
ENABLED_PROPERTY
 
Fields inherited from interface com.guiseframework.model.ValueModel
VALIDATOR_PROPERTY, VALUE_PROPERTY
 
Constructor Summary
  SequenceCardPanel()
          Default constructor.
protected SequenceCardPanel(CardLayout layout)
          Layout constructor.
 
Method Summary
protected  void addComponent(int index, Component childComponent)
          Adds a child component at the specified index.
 void cancel()
          Cancels the sequence.
protected  void childComponentValidPropertyChanged(Component childComponent, boolean oldValid, boolean newValid)
          Called when the Component.VALID_PROPERTY of a child component changes.
 void commit()
          Commits the data.
 void finish()
          Finishes the sequence.
 ActionPrototype getCancelActionPrototype()
           
protected  Component getComponent(Bookmark bookmark)
          Determines the component for navigation based upon the given bookmark.
 ActionPrototype getContinueActionPrototype()
           
 ActionPrototype getFinishActionPrototype()
           
 Component getNext()
          Determines the next component in the sequence.
 ActionPrototype getNextActionPrototype()
           
 Component getPrevious()
          Determines the previous component in the sequence.
protected  Component getPrevious(Component component)
          Determines the previous component in the sequence relative to the given component.
 ActionPrototype getPreviousActionPrototype()
           
 com.globalmentor.model.TaskState getState()
           
 SequenceTransition getTransition()
           
 void goCancel()
          Cancels the sequence.
 void goFinish()
          Finishes the sequence.
 void goNext()
          Advances to the next step in the sequence.
 void goPrevious()
          Goes to the previous step in the sequence.
 boolean hasNext()
          Determines if there is a next step in the sequence.
 boolean hasPrevious()
          Determines if there is a previous step in the sequence.
 boolean isTransitionEnabled()
           
protected  void removeComponent(Component childComponent)
          Removes a child component.
 void resetSequence()
          Resets the sequence by navigating to the first card and disabling all subsequent cards.
protected  void setState(com.globalmentor.model.TaskState newState)
          Sets the current state of the sequence.
 void setTransitionEnabled(boolean newTransitionEnabled)
          Sets whether transitions are enabled, so that changing selected cards will cause the appropriate validate/commit functionality.
 boolean validate()
          Validates the user input of this component and all child components.
 
Methods inherited from class com.guiseframework.component.AbstractCardPanel
getLayout, isBookmarkEnabled, navigated, setBookmarkEnabled, updateBookmark
 
Methods inherited from class com.guiseframework.component.AbstractListSelectContainerControl
addAll, addAll, addListListener, addListSelectionListener, addSelectedIndexes, clearValue, containsAll, determineChildrenValid, fireChildComponentAdded, fireChildComponentRemoved, firePropertyChange, fireSelectionChanged, getComponent, getDefaultValue, getSelectedIndex, getSelectedIndexes, getSelectedValue, getSelectedValues, getSelectionPolicy, getValidator, getValue, getValueClass, getValueRepresentationStrategy, isDisplayed, isEnabled, isIndexDisplayed, isIndexEnabled, isValidValue, isValueDisplayed, isValueEnabled, listIterator, listIterator, removeAll, removeListListener, removeListSelectionListener, removeSelectedIndexes, replace, resetValue, retainAll, set, setDisplayed, setEnabled, setIndexDisplayed, setIndexEnabled, setSelectedIndexes, setSelectedValues, setValidator, setValue, setValueDisplayed, setValueEnabled, setValueRepresentationStrategy, subList, toArray, toArray, validateChildren, validateValue
 
Methods inherited from class com.guiseframework.component.AbstractContainerControl
determineStatus, getEnableable, getStatus, isEnabled, reset, setEnabled, setNotification, setStatus, updateStatus, updateValid
 
Methods inherited from class com.guiseframework.component.AbstractContainer
add, add, add, add, add, add, add, add, clear, contains, createComponent, get, getChildComponents, indexOf, isEmpty, iterator, lastIndexOf, remove, remove, setChildren, setLayout, size
 
Methods inherited from class com.guiseframework.component.AbstractLayoutComponent
applyTheme, applyTheme, isLayoutThemeApplied, resetTheme, setLayoutThemeApplied, updateTheme
 
Methods inherited from class com.guiseframework.component.AbstractListCompositeComponent
addComponent, getComponentList, hasChildComponents
 
Methods inherited from class com.guiseframework.component.AbstractCompositeComponent
addCompositeComponentListener, determineValid, dispatchInputEvent, dispatchInputEvent, fireChildComponentAdded, fireChildComponentRemoved, initializeChildComponent, loadPreferences, removeCompositeComponentListener, savePreferences, uninitializeChildComponent
 
Methods inherited from class com.guiseframework.component.AbstractComponent
addCommandListener, addExportStrategy, addImportStrategy, addKeyListener, addMouseListener, addNotificationListener, addPreferenceProperty, depict, equals, exportTransfer, fireInputEvent, fireNotified, fireNotified, getAncestor, getCommandListeners, getComponentByID, getComponentByName, getComponentOrientation, getConstraints, getDepictID, getDepictor, getDescription, getDescriptionContentType, getDirtyComponents, getDirtyComponents, getEventListenerManager, getFlyoverStrategy, getGlyphURI, getInfo, getInfoContentType, getInfoModel, getInputStrategy, getKeyListeners, getLabel, getLabelContentType, getMouseListeners, getName, getNotification, getNotifications, getNotifications, getOrientation, getParent, getPreferenceProperties, getRootComponent, getTheme, hasAncestor, hasCommandListeners, hashCode, hasKeyListeners, hasMouseListeners, importTransfer, initialize, isDragEnabled, isDropEnabled, isFlyoverEnabled, isPreferenceProperty, isThemeApplied, isValid, notify, processEvent, removeCommandListener, removeExportStrategy, removeImportStrategy, removeKeyListener, removeMouseListener, removeNotificationListener, removePreferenceProperty, setConstraints, setDepicted, setDescription, setDescriptionContentType, setDragEnabled, setDropEnabled, setFlyoverEnabled, setFlyoverStrategy, setGlyphURI, setInfo, setInfoContentType, setInputStrategy, setLabel, setLabelContentType, setName, setOrientation, setParent, setThemeApplied, setValid, toString, update
 
Methods inherited from class com.guiseframework.model.ui.AbstractPresentationModel
BorderLineFarColor, BorderLineFarExtent, BorderLineFarStyle, BorderLineNearColor, BorderLineNearExtent, BorderLineNearStyle, BorderPageFarColor, BorderPageFarExtent, BorderPageFarStyle, BorderPageNearColor, BorderPageNearExtent, BorderPageNearStyle, getBackgroundColor, getBorderColor, getBorderExtent, getBorderStyle, getCornerArcSize, getCornerLineFarPageFarArcSize, getCornerLineFarPageNearArcSize, getCornerLineNearPageFarArcSize, getCornerLineNearPageNearArcSize, getCursor, getExtent, getFontFamilies, getFontSize, getFontStyle, getFontWeight, getLabelFontFamilies, getLabelFontSize, getLabelFontStyle, getLabelFontWeight, getLabelTextColor, getLineExtent, getMarginExtent, getMarginLineFarExtent, getMarginLineNearExtent, getMarginPageFarExtent, getMarginPageNearExtent, getOpacity, getPaddingExtent, getPaddingLineFarExtent, getPaddingLineNearExtent, getPaddingPageFarExtent, getPaddingPageNearExtent, getPageExtent, getStyleID, getTextColor, isDisplayed, isTooltipEnabled, isVisible, setBackgroundColor, setBorderColor, setBorderColor, setBorderExtent, setBorderExtent, setBorderLineFarColor, setBorderLineFarExtent, setBorderLineFarStyle, setBorderLineNearColor, setBorderLineNearExtent, setBorderLineNearStyle, setBorderPageFarColor, setBorderPageFarExtent, setBorderPageFarStyle, setBorderPageNearColor, setBorderPageNearExtent, setBorderPageNearStyle, setBorderStyle, setBorderStyle, setCornerArcSize, setCornerArcSize, setCornerLineFarPageFarArcSize, setCornerLineFarPageNearArcSize, setCornerLineNearPageFarArcSize, setCornerLineNearPageNearArcSize, setCursor, setDisplayed, setExtent, setFontFamilies, setFontSize, setFontStyle, setFontWeight, setLabelFontFamilies, setLabelFontSize, setLabelFontStyle, setLabelFontWeight, setLabelTextColor, setLineExtent, setMarginExtent, setMarginExtent, setMarginLineFarExtent, setMarginLineNearExtent, setMarginPageFarExtent, setMarginPageNearExtent, setOpacity, setPaddingExtent, setPaddingExtent, setPaddingLineFarExtent, setPaddingLineNearExtent, setPaddingPageFarExtent, setPaddingPageNearExtent, setPageExtent, setStyleID, setTextColor, setTooltipEnabled, setVisible
 
Methods inherited from class com.guiseframework.event.GuiseBoundPropertyObject
getSession
 
Methods inherited from class com.globalmentor.beans.BoundPropertyObject
addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, addVetoableChangeListener, createPostponedPropertyChangeEvent, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, getForwardPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, getPropertyChangeSupport, getRepeatPropertyChangeListener, getRepeatVetoableChangeListener, getVetoableChangeListeners, getVetoableChangeListeners, getVetoableChangeSupport, hasPropertyChangeListeners, hasVetoableChangeListeners, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, removeVetoableChangeListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.guiseframework.component.Container
add, add, add, add, add, add, add, clear, contains, get, indexOf, isEmpty, lastIndexOf, remove, remove, setLayout, size
 
Methods inherited from interface com.guiseframework.component.LayoutComponent
getLayout, isLayoutThemeApplied, setLayoutThemeApplied
 
Methods inherited from interface com.guiseframework.component.CompositeComponent
addCompositeComponentListener, getChildComponents, hasChildComponents, removeCompositeComponentListener
 
Methods inherited from interface com.guiseframework.component.Component
addCommandListener, addExportStrategy, addImportStrategy, addKeyListener, addMouseListener, addNotificationListener, addPreferenceProperty, applyTheme, applyTheme, dispatchInputEvent, exportTransfer, fireInputEvent, getAncestor, getComponentOrientation, getConstraints, getDepictor, getFlyoverStrategy, getInputStrategy, getName, getNotification, getOrientation, getParent, getPreferenceProperties, getTheme, hasCommandListeners, hasKeyListeners, hasMouseListeners, importTransfer, initialize, isDragEnabled, isDropEnabled, isFlyoverEnabled, isPreferenceProperty, isThemeApplied, isValid, loadPreferences, notify, removeCommandListener, removeExportStrategy, removeImportStrategy, removeKeyListener, removeMouseListener, removeNotificationListener, removePreferenceProperty, resetTheme, savePreferences, setConstraints, setDragEnabled, setDropEnabled, setFlyoverEnabled, setFlyoverStrategy, setInputStrategy, setName, setNotification, setOrientation, setParent, setThemeApplied, updateTheme
 
Methods inherited from interface com.guiseframework.platform.DepictedObject
depict, getDepictID, getSession, processEvent
 
Methods inherited from interface com.guiseframework.model.ui.PresentationModel
BorderLineFarColor, BorderLineFarExtent, BorderLineFarStyle, BorderLineNearColor, BorderLineNearExtent, BorderLineNearStyle, BorderPageFarColor, BorderPageFarExtent, BorderPageFarStyle, BorderPageNearColor, BorderPageNearExtent, BorderPageNearStyle, getBackgroundColor, getBorderColor, getBorderExtent, getBorderStyle, getCornerArcSize, getCornerLineFarPageFarArcSize, getCornerLineFarPageNearArcSize, getCornerLineNearPageFarArcSize, getCornerLineNearPageNearArcSize, getCursor, getExtent, getFontFamilies, getFontSize, getFontStyle, getFontWeight, getLabelFontFamilies, getLabelFontSize, getLabelFontStyle, getLabelFontWeight, getLabelTextColor, getLineExtent, getMarginExtent, getMarginLineFarExtent, getMarginLineNearExtent, getMarginPageFarExtent, getMarginPageNearExtent, getOpacity, getPaddingExtent, getPaddingLineFarExtent, getPaddingLineNearExtent, getPaddingPageFarExtent, getPaddingPageNearExtent, getPageExtent, getSession, getStyleID, getTextColor, isDisplayed, isTooltipEnabled, isVisible, setBackgroundColor, setBorderColor, setBorderColor, setBorderExtent, setBorderExtent, setBorderLineFarColor, setBorderLineFarExtent, setBorderLineFarStyle, setBorderLineNearColor, setBorderLineNearExtent, setBorderLineNearStyle, setBorderPageFarColor, setBorderPageFarExtent, setBorderPageFarStyle, setBorderPageNearColor, setBorderPageNearExtent, setBorderPageNearStyle, setBorderStyle, setBorderStyle, setCornerArcSize, setCornerArcSize, setCornerLineFarPageFarArcSize, setCornerLineFarPageNearArcSize, setCornerLineNearPageFarArcSize, setCornerLineNearPageNearArcSize, setCursor, setDisplayed, setExtent, setFontFamilies, setFontSize, setFontStyle, setFontWeight, setLabelFontFamilies, setLabelFontSize, setLabelFontStyle, setLabelFontWeight, setLabelTextColor, setLineExtent, setMarginExtent, setMarginExtent, setMarginLineFarExtent, setMarginLineNearExtent, setMarginPageFarExtent, setMarginPageNearExtent, setOpacity, setPaddingExtent, setPaddingExtent, setPaddingLineFarExtent, setPaddingLineNearExtent, setPaddingPageFarExtent, setPaddingPageNearExtent, setPageExtent, setStyleID, setTextColor, setTooltipEnabled, setVisible
 
Methods inherited from interface com.guiseframework.model.InfoModel
getDescription, getDescriptionContentType, getInfo, getInfoContentType, setDescription, setDescriptionContentType, setInfo, setInfoContentType
 
Methods inherited from interface com.guiseframework.model.LabelModel
getGlyphURI, getLabel, getLabelContentType, setGlyphURI, setLabel, setLabelContentType
 
Methods inherited from interface com.globalmentor.beans.PropertyBindable
addPropertyChangeListener, addPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, hasPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
 
Methods inherited from interface com.globalmentor.beans.PropertyConstrainable
addVetoableChangeListener, addVetoableChangeListener, getVetoableChangeListeners, getVetoableChangeListeners, hasVetoableChangeListeners, removeVetoableChangeListener, removeVetoableChangeListener
 
Methods inherited from interface java.lang.Iterable
iterator
 
Methods inherited from interface com.guiseframework.component.CardControl
isDisplayed, isEnabled, setDisplayed, setEnabled
 
Methods inherited from interface com.guiseframework.component.ListSelectControl
getComponent, getValueRepresentationStrategy, setValueRepresentationStrategy
 
Methods inherited from interface com.guiseframework.component.Control
getStatus, reset
 
Methods inherited from interface com.guiseframework.model.Enableable
isEnabled, setEnabled
 
Methods inherited from interface com.guiseframework.component.ValuedComponent
getValue, getValueClass, setValue
 
Methods inherited from interface com.guiseframework.model.ListSelectModel
addListListener, addListSelectionListener, addSelectedIndexes, getSelectedIndex, getSelectedIndexes, getSelectionPolicy, isIndexDisplayed, isIndexEnabled, isValueDisplayed, isValueEnabled, removeListListener, removeListSelectionListener, removeSelectedIndexes, setIndexDisplayed, setIndexEnabled, setSelectedIndexes, setValueDisplayed, setValueEnabled
 
Methods inherited from interface com.guiseframework.model.SelectModel
getSelectedValue, getSelectedValues, replace, setSelectedValues
 
Methods inherited from interface com.guiseframework.model.ValueModel
clearValue, getDefaultValue, getValidator, getValue, getValueClass, isValidValue, resetValue, setValidator, setValue, validateValue
 
Methods inherited from interface java.util.List
add, add, addAll, addAll, clear, contains, containsAll, equals, get, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, retainAll, set, size, subList, toArray, toArray
 

Field Detail

STATE_PROPERTY

public static final java.lang.String STATE_PROPERTY
The bound property of the sequence state.


TRANSITION_ENABLED_PROPERTY

public static final java.lang.String TRANSITION_ENABLED_PROPERTY
The bound property of whether the transitions are enabled.

Constructor Detail

SequenceCardPanel

public SequenceCardPanel()
Default constructor.


SequenceCardPanel

protected SequenceCardPanel(CardLayout layout)
Layout constructor.

Parameters:
layout - The layout definition for the container.
Throws:
java.lang.NullPointerException - if the given layout is null.
Method Detail

getState

public com.globalmentor.model.TaskState getState()
Returns:
The current state of the sequence, or null if the sequence is not occurring.

setState

protected void setState(com.globalmentor.model.TaskState newState)
Sets the current state of the sequence. This is a bound property.

Parameters:
newState - The current state of the sequence, or null if the sequence is not occurring.
See Also:
STATE_PROPERTY

getTransition

public SequenceTransition getTransition()
Returns:
The current transition in the sequence, or null if no transition is occurring.

isTransitionEnabled

public boolean isTransitionEnabled()
Returns:
Whether transitions are enabled, so that changing selected cards will cause the appropriate validate/commit functionality.

setTransitionEnabled

public void setTransitionEnabled(boolean newTransitionEnabled)
Sets whether transitions are enabled, so that changing selected cards will cause the appropriate validate/commit functionality. This is a bound property of type Boolean.

Parameters:
newTransitionEnabled - true if transitions are enabled, so that changing selected cards will cause the appropriate validate/commit functionality.
See Also:
TRANSITION_ENABLED_PROPERTY

getPreviousActionPrototype

public ActionPrototype getPreviousActionPrototype()
Returns:
The prototype for the previous action.

getNextActionPrototype

public ActionPrototype getNextActionPrototype()
Returns:
The prototype for the next action.

getFinishActionPrototype

public ActionPrototype getFinishActionPrototype()
Returns:
The prototype for the action to finish the sequence.

getContinueActionPrototype

public ActionPrototype getContinueActionPrototype()
Returns:
The prototype for the next action, which delegates to goNext() or goFinish(), depending on the state of hasNext()..

getCancelActionPrototype

public ActionPrototype getCancelActionPrototype()
Returns:
The prototype for the action to cancel the sequence.

addComponent

protected void addComponent(int index,
                            Component childComponent)
Adds a child component at the specified index. This version installs a listener for the component's displayed status. Any class that overrides this method must call this version.

Overrides:
addComponent in class AbstractLayoutComponent
Parameters:
index - The index at which the component should be added.
childComponent - The component to add to this component.
Throws:
java.lang.IllegalArgumentException - if the component already has a parent or if the component is already a child of this composite component.

removeComponent

protected void removeComponent(Component childComponent)
Removes a child component. This version uninstalls a listener for the component's displayed status. Any class that overrides this method must call this version.

Overrides:
removeComponent in class AbstractLayoutComponent
Parameters:
childComponent - The component to remove from this component.
Throws:
java.lang.IllegalArgumentException - if the component does not recognize this composite component as its parent or the component is not a member of this composite component.
java.lang.IndexOutOfBoundsException - if the index is less than zero or greater than the number of child components.

childComponentValidPropertyChanged

protected void childComponentValidPropertyChanged(Component childComponent,
                                                  boolean oldValid,
                                                  boolean newValid)
Called when the Component.VALID_PROPERTY of a child component changes. This version updates the error status of the child component's contraints if those constraints implement TaskCardConstraints.

Overrides:
childComponentValidPropertyChanged in class AbstractCompositeComponent
Parameters:
childComponent - The child component the valid property of which changed.
oldValid - The old valid property.
newValid - The new valid property.

hasPrevious

public boolean hasPrevious()
Determines if there is a previous step in the sequence. This version returns true if there is a selected card and there exists a card before the selected card.

Returns:
true if there is a previous step in the sequence.

getPrevious

public Component getPrevious()
Determines the previous component in the sequence. Components that are not displayed or not enabled based upon their associated constraints are skipped.

Returns:
The previous component in the sequence, or null if there is no previous component in the sequence.

getPrevious

protected Component getPrevious(Component component)
Determines the previous component in the sequence relative to the given component. Components that are not displayed or not enabled based upon their associated constraints are skipped.

Parameters:
component - The component the previous component to which should be found.
Returns:
The previous component in the sequence, or null if there is no previous component in the sequence.
Throws:
java.lang.NullPointerException - if the given component is null.

hasNext

public boolean hasNext()
Determines if there is a next step in the sequence. This version returns true if there is a selected card and there exists a card after the selected card.

Returns:
true if there is a next step in the sequence.

getNext

public Component getNext()
Determines the next component in the sequence. Components that are not displayed or not enabled based upon their associated constraints are skipped.

Returns:
The next component in the sequence, or null if there is no next component in the sequence.

goPrevious

public void goPrevious()
Goes to the previous step in the sequence. If there is no previous step, no action occurs. This method calls hasPrevious().


goNext

public void goNext()
Advances to the next step in the sequence. If the current card passes validation, the next card is enabled before advancing. If there is no next step, no action occurs. This method calls getNext().


goFinish

public void goFinish()
Finishes the sequence. This method validates and commits the current card, and then calls finish(). If no card is selected, no action occurs. The state is set to TaskState.COMPLETE.


goCancel

public void goCancel()
Cancels the sequence. This method calls cancel(). The state is set to TaskState.CANCELED.


resetSequence

public void resetSequence()
Resets the sequence by navigating to the first card and disabling all subsequent cards. The state is set to TaskState.INCOMPLETE.


validate

public boolean validate()
Validates the user input of this component and all child components. The component will be updated with error information. If the component doesn't validate and there is a selected card the constraints of which implement TaskCardConstraints, the task status of those constraints will be set to TaskState.ERROR. The user is also notified of any error, using this component's notification, the first notification in the selected card hierarchy, or a default message.

Specified by:
validate in interface Component
Overrides:
validate in class AbstractCompositeComponent
Returns:
The current state of AbstractComponent.isValid() as a convenience.

commit

public void commit()
            throws java.io.IOException
Commits the data. This version commits the selected card if there is a selected card and it implements Commitable. Subclass versions should call this version.

Specified by:
commit in interface Commitable
Throws:
java.io.IOException - if there is an error committing data.

finish

public void finish()
Finishes the sequence. This version does nothing.


cancel

public void cancel()
Cancels the sequence. This version does nothing.


getComponent

protected Component getComponent(Bookmark bookmark)
Determines the component for navigation based upon the given bookmark. This version finds the first previous enabled and displayed card, searching backwards from the requested card, if the requested card is not enabled and displayed. This version chooses the first card if no card is requested.

Overrides:
getComponent in class AbstractCardPanel
Parameters:
bookmark - The bookmark for which a component should be returned, or null if no bookmark is available.
Returns:
The child component indicated by the given bookmark parameter value, or null if the given bookmark represents the null component value.


Copyright © 2005-2010 GlobalMentor, Inc. All Rights Reserved.