Package io.guise.framework.component
Class AbstractSelectActionValueControl<V>
- java.lang.Object
-
- com.globalmentor.beans.BoundPropertyObject
-
- io.guise.framework.event.GuiseBoundPropertyObject
-
- io.guise.framework.model.ui.AbstractPresentationModel
-
- io.guise.framework.component.AbstractComponent
-
- io.guise.framework.component.AbstractControl
-
- io.guise.framework.component.AbstractActionControl
-
- io.guise.framework.component.AbstractActionValueControl<V>
-
- io.guise.framework.component.AbstractSelectActionValueControl<V>
-
- Type Parameters:
V- The type of value the control represents.
- All Implemented Interfaces:
com.globalmentor.beans.PropertyBindable,com.globalmentor.beans.PropertyConstrainable,com.globalmentor.model.MutableValued<V>,com.globalmentor.model.Valued<V>,ActionControl,ActionValueControl<V>,Component,Control,InputFocusableComponent,LabelDisplayableComponent,SelectActionControl,ValueControl<V>,ValuedComponent<V>,ActionListenable,ActionModel,Displayable,Enableable,InfoModel,LabelModel,Model,Selectable,PresentationModel,ValueModel<V>,DepictedObject
- Direct Known Subclasses:
ValueSelectButton,ValueSelectLink
public abstract class AbstractSelectActionValueControl<V> extends AbstractActionValueControl<V> implements SelectActionControl
Selectable action value control for which the selected state is distinct from the contained value.- Author:
- Garret Wilson
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class io.guise.framework.component.AbstractComponent
AbstractComponent.AbstractFlyoverFrameStrategy<S extends Component>, AbstractComponent.AbstractFlyoverStrategy<S extends Component>, AbstractComponent.DefaultFlyoverStrategy<S extends Component>
-
Nested classes/interfaces inherited from interface io.guise.framework.component.Component
Component.FlyoverStrategy<S extends Component>
-
Nested classes/interfaces inherited from interface io.guise.framework.component.Control
Control.Status
-
-
Field Summary
-
Fields inherited from class com.globalmentor.beans.BoundPropertyObject
NO_PROPERTY_CHANGE_LISTENERS, NO_VETOABLE_CHANGE_LISTENERS
-
Fields inherited from interface io.guise.framework.component.ActionControl
ROLLOVER_PROPERTY
-
Fields inherited from interface io.guise.framework.component.ActionValueControl
VALUE_GLYPH_URI_PROPERTY
-
Fields inherited from interface io.guise.framework.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 io.guise.framework.component.Control
STATUS_PROPERTY
-
Fields inherited from interface io.guise.framework.model.Displayable
DISPLAYED_PROPERTY
-
Fields inherited from interface io.guise.framework.model.Enableable
ENABLED_PROPERTY
-
Fields inherited from interface io.guise.framework.model.InfoModel
DESCRIPTION_CONTENT_TYPE_PROPERTY, DESCRIPTION_PROPERTY, INFO_CONTENT_TYPE_PROPERTY, INFO_PROPERTY
-
Fields inherited from interface io.guise.framework.component.LabelDisplayableComponent
ICON_DISPLAYED_PROPERTY, LABEL_DISPLAYED_PROPERTY
-
Fields inherited from interface io.guise.framework.model.LabelModel
GLYPH_URI_PROPERTY, LABEL_CONTENT_TYPE_PROPERTY, LABEL_PROPERTY
-
Fields inherited from interface io.guise.framework.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 io.guise.framework.model.Selectable
SELECTED_PROPERTY
-
Fields inherited from interface io.guise.framework.component.SelectActionControl
AUTO_SELECT_PROPERTY, SELECTED_GLYPH_URI_PROPERTY, TOGGLE_PROPERTY, UNSELECTED_GLYPH_URI_PROPERTY
-
Fields inherited from interface io.guise.framework.component.ValueControl
CONVERTER_PROPERTY
-
Fields inherited from interface io.guise.framework.model.ValueModel
VALIDATOR_PROPERTY, VALUE_PROPERTY
-
-
Constructor Summary
Constructors Constructor Description AbstractSelectActionValueControl(InfoModel infoModel, ActionModel actionModel, ValueModel<V> valueModel, Enableable enableable)Info model, action model, value model, and enableable object constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.net.URIgetSelectedGlyphURI()java.net.URIgetUnselectedGlyphURI()booleanisAutoSelect()booleanisSelected()booleanisToggle()voidsetAutoSelect(boolean newAutoSelect)Sets whether this control automatically sets or toggles the selection state when the action occurs.voidsetSelected(boolean newSelected)Sets whether the object is selected.voidsetSelectedGlyphURI(java.net.URI newSelectedIcon)Sets the URI of the selected icon.voidsetToggle(boolean newToggle)Sets whether this control acts as a toggle, switching its value betweentrueandfalse, or whether the action always sets the value totrue.voidsetUnselectedGlyphURI(java.net.URI newUnselectedIcon)Sets the URI of the unselected icon.-
Methods inherited from class io.guise.framework.component.AbstractActionValueControl
clearValue, determineValid, firePropertyChange, getDefaultValue, getValidator, getValue, getValueClass, getValueGlyphURI, getValueModel, isValidValue, reset, resetValue, setValidator, setValue, setValueGlyphURI, validate, validateValue
-
Methods inherited from class io.guise.framework.component.AbstractActionControl
addActionListener, fireActionPerformed, fireActionPerformed, getActionListeners, getActionModel, isIconDisplayed, isLabelDisplayed, isRollover, performAction, performAction, removeActionListener, setIconDisplayed, setLabelDisplayed, setRollover
-
Methods inherited from class io.guise.framework.component.AbstractControl
determineStatus, getEnableable, getStatus, isEnabled, setEnabled, setNotification, setStatus, updateStatus, updateValid
-
Methods inherited from class io.guise.framework.component.AbstractComponent
addCommandListener, addExportStrategy, addImportStrategy, addKeyListener, addMouseListener, addNotificationListener, addPreferenceProperty, applyTheme, applyTheme, depict, dispatchInputEvent, 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, loadPreferences, notify, processEvent, removeCommandListener, removeExportStrategy, removeImportStrategy, removeKeyListener, removeMouseListener, removeNotificationListener, removePreferenceProperty, resetTheme, savePreferences, setConstraints, setDepicted, setDescription, setDescriptionContentType, setDragEnabled, setDropEnabled, setFlyoverEnabled, setFlyoverStrategy, setGlyphURI, setInfo, setInfoContentType, setInputStrategy, setLabel, setLabelContentType, setName, setOrientation, setParent, setThemeApplied, setValid, toString, update, updateTheme
-
Methods inherited from class io.guise.framework.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 io.guise.framework.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, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface io.guise.framework.component.ActionControl
isRollover, setRollover
-
Methods inherited from interface io.guise.framework.event.ActionListenable
addActionListener, removeActionListener
-
Methods inherited from interface io.guise.framework.model.ActionModel
getActionListeners, performAction, performAction
-
Methods inherited from interface io.guise.framework.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, validate
-
Methods inherited from interface io.guise.framework.platform.DepictedObject
depict, getDepictID, getSession, processEvent
-
Methods inherited from interface io.guise.framework.model.Enableable
isEnabled, setEnabled
-
Methods inherited from interface io.guise.framework.model.InfoModel
getDescription, getDescriptionContentType, getInfo, getInfoContentType, setDescription, setDescriptionContentType, setInfo, setInfoContentType
-
Methods inherited from interface io.guise.framework.model.LabelModel
getGlyphURI, getLabel, getLabelContentType, setGlyphURI, setLabel, setLabelContentType
-
Methods inherited from interface io.guise.framework.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
-
-
-
-
Constructor Detail
-
AbstractSelectActionValueControl
public AbstractSelectActionValueControl(InfoModel infoModel, ActionModel actionModel, ValueModel<V> valueModel, Enableable enableable)
Info model, action model, value model, and enableable object constructor.- Parameters:
infoModel- The component info model.actionModel- The component action model.valueModel- The component value model.enableable- The enableable object in which to store enabled status.- Throws:
java.lang.NullPointerException- if the given info model, action model, and/or enableable object isnull.
-
-
Method Detail
-
isAutoSelect
public boolean isAutoSelect()
- Specified by:
isAutoSelectin interfaceSelectActionControl- Returns:
- Whether this control automatically sets or toggles the selection state when the action occurs.
-
setAutoSelect
public void setAutoSelect(boolean newAutoSelect)
Description copied from interface:SelectActionControlSets whether this control automatically sets or toggles the selection state when the action occurs. This is a bound property of typeBoolean.- Specified by:
setAutoSelectin interfaceSelectActionControl- Parameters:
newAutoSelect-trueif the control should automatically set or toggle the selection state when an action occurs.- See Also:
SelectActionControl.AUTO_SELECT_PROPERTY
-
isSelected
public boolean isSelected()
- Specified by:
isSelectedin interfaceSelectable- Returns:
- Whether the object is selected.
-
setSelected
public void setSelected(boolean newSelected)
Description copied from interface:SelectableSets whether the object is selected. This is a bound property of typeBoolean.- Specified by:
setSelectedin interfaceSelectable- Parameters:
newSelected-trueif the object should be selected, elsefalse.- See Also:
Selectable.SELECTED_PROPERTY
-
getSelectedGlyphURI
public java.net.URI getSelectedGlyphURI()
- Specified by:
getSelectedGlyphURIin interfaceSelectActionControl- Returns:
- The selected icon URI, which may be a resource URI, or
nullif there is no selected icon URI.
-
setSelectedGlyphURI
public void setSelectedGlyphURI(java.net.URI newSelectedIcon)
Description copied from interface:SelectActionControlSets the URI of the selected icon. This is a bound property of typeURI.- Specified by:
setSelectedGlyphURIin interfaceSelectActionControl- Parameters:
newSelectedIcon- The new URI of the selected icon, which may be a resource URI.- See Also:
SelectActionControl.SELECTED_GLYPH_URI_PROPERTY
-
isToggle
public boolean isToggle()
- Specified by:
isTogglein interfaceSelectActionControl- Returns:
- Whether this control acts as a toggle, switching its value between
trueandfalse, or whether the action always sets the value totrue.
-
setToggle
public void setToggle(boolean newToggle)
Description copied from interface:SelectActionControlSets whether this control acts as a toggle, switching its value betweentrueandfalse, or whether the action always sets the value totrue. This is a bound property of typeBoolean.- Specified by:
setTogglein interfaceSelectActionControl- Parameters:
newToggle-trueif the component should act as a toggle, elsefalseif the action should unconditionally set the value totrue.- See Also:
SelectActionControl.TOGGLE_PROPERTY
-
getUnselectedGlyphURI
public java.net.URI getUnselectedGlyphURI()
- Specified by:
getUnselectedGlyphURIin interfaceSelectActionControl- Returns:
- The unselected icon URI, which may be a resource URI, or
nullif there is no unselected icon URI.
-
setUnselectedGlyphURI
public void setUnselectedGlyphURI(java.net.URI newUnselectedIcon)
Description copied from interface:SelectActionControlSets the URI of the unselected icon. This is a bound property of typeURI.- Specified by:
setUnselectedGlyphURIin interfaceSelectActionControl- Parameters:
newUnselectedIcon- The new URI of the unselected icon, which may be a resource URI.- See Also:
SelectActionControl.UNSELECTED_GLYPH_URI_PROPERTY
-
-