Package io.guise.framework.component
Class SliderControl<V extends Number>
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.AbstractValueControl<V>
io.guise.framework.component.AbstractEditValueControl<V>
io.guise.framework.component.SliderControl<V>
- Type Parameters:
V
- The type of value the slider represents.
- All Implemented Interfaces:
com.globalmentor.beans.PropertyBindable
,com.globalmentor.beans.PropertyConstrainable
,com.globalmentor.model.MutableValued<V>
,com.globalmentor.model.Valued<V>
,Component
,Control
,EditComponent
,InputFocusableComponent
,ValueControl<V>
,ValuedComponent<V>
,EditListenable
,Displayable
,Enableable
,InfoModel
,LabelModel
,Model
,PresentationModel
,ValueModel<V>
,DepictedObject
A value control that represents its value by a slider.
- 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
FieldsModifier and TypeFieldDescriptionstatic final String
The flow bound property.static final String
The interval step bound property.static final String
The bound property of the sliding state.static final String
The bound property of the horizontal thumb image.static final String
The bound property of the vertical thumb image.static final String
The bound property of the horizontal track image.static final String
The bound property of the vertical track image.Fields inherited from class com.globalmentor.beans.BoundPropertyObject
NO_PROPERTY_CHANGE_LISTENERS, NO_VETOABLE_CHANGE_LISTENERS
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.component.EditComponent
EDITABLE_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.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.component.ValueControl
CONVERTER_PROPERTY
Fields inherited from interface io.guise.framework.model.ValueModel
VALIDATOR_PROPERTY, VALUE_PROPERTY
-
Constructor Summary
ConstructorsConstructorDescriptionSliderControl
(ValueModel<V> valueModel, Flow flow) Value model and flow constructor with a default converter.SliderControl
(ValueModel<V> valueModel, Converter<V, String> converter, Flow flow) Value model, converter, and flow constructor.SliderControl
(ValuePrototype<V> valuePrototype, Flow flow) Prototype and flow constructor.SliderControl
(Class<V> valueClass, Flow flow) Value class and flow constructor with a default data model to represent a given type and a default converter.Value class, converter and flow constructor with a default value model to represent a given type. -
Method Summary
Modifier and TypeMethodDescriptiongetFlow()
getThumbImage
(Axis axis) Returns the thumb image for the indicated axis.getTrackImage
(Axis axis) Returns the track image for the indicated axis.boolean
void
setConverter
(Converter<V, String> newConverter) Sets the converter.void
Sets the flow of the slider.void
setInterval
(V newInterval) Sets the value of the intervals.void
setSliding
(boolean newSliding) Sets whether the slider is being slid.void
setThumbImage
(Axis axis, URI newThumbImage) Sets the thumb image for a given axis.void
setThumbXImage
(URI newThumbImage) Sets the thumb image for the X axis.void
setThumbYImage
(URI newThumbImage) Sets the thumb image for the Y axis.void
setTrackImage
(Axis axis, URI newTrackImage) Sets the track image for a given axis.void
setTrackXImage
(URI newTrackImage) Sets the track image for the X axis.void
setTrackYImage
(URI newTrackImage) Sets the track image for the Y axis.Returns the thumb image for the X axis.Returns the thumb image for the Y axis.Returns the track image for the X axis.Returns the track image for the Y axis.Methods inherited from class io.guise.framework.component.AbstractEditValueControl
addEditListener, fireEdited, fireEdited, isEditable, removeEditListener, setEditable
Methods inherited from class io.guise.framework.component.AbstractValueControl
clearValue, determineValid, getDefaultValue, getValidator, getValue, getValueClass, getValueModel, isValidValue, reset, resetValue, setValidator, setValue, validate, validateValue
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, 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.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
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
-
Field Details
-
FLOW_PROPERTY
The flow bound property. -
INTERVAL_PROPERTY
The interval step bound property. -
SLIDING_PROPERTY
The bound property of the sliding state. -
THUMB_X_IMAGE_PROPERTY
The bound property of the horizontal thumb image. -
THUMB_Y_IMAGE_PROPERTY
The bound property of the vertical thumb image. -
TRACK_X_IMAGE_PROPERTY
The bound property of the horizontal track image. -
TRACK_Y_IMAGE_PROPERTY
The bound property of the vertical track image.
-
-
Constructor Details
-
SliderControl
Value class and flow constructor with a default data model to represent a given type and a default converter.- Parameters:
valueClass
- The class indicating the type of value held in the model.flow
- The flow along which the slider is oriented.- Throws:
NullPointerException
- if the value class and/or flow isnull
.
-
SliderControl
Value class, converter and flow constructor with a default value model to represent a given type.- Parameters:
valueClass
- The class indicating the type of value held in the model.converter
- The string literal value converter for this component.flow
- The flow along which the slider is oriented.- Throws:
NullPointerException
- if the given value class, converter, and/or flow isnull
.
-
SliderControl
Value model and flow constructor with a default converter.- Parameters:
valueModel
- The component value model.flow
- The flow along which the slider is oriented.- Throws:
NullPointerException
- if the given value model and/or flow isnull
.IllegalArgumentException
- if no default converter is available for the given model's value class.
-
SliderControl
Value model, converter, and flow constructor.- Parameters:
valueModel
- The component value model.converter
- The string literal value converter for this component.flow
- The flow along which the slider is oriented.- Throws:
NullPointerException
- if the given value model, converter, and/or flow isnull
.
-
SliderControl
Prototype and flow constructor.- Parameters:
valuePrototype
- The prototype on which this component should be based.flow
- The flow along which the slider is oriented.- Throws:
NullPointerException
- if the given prototype and/or flow isnull
.
-
-
Method Details
-
getFlow
- Returns:
- The flow along which the slider is oriented.
-
setFlow
Sets the flow of the slider. This is a bound property- Parameters:
newFlow
- The flow along which the slider is oriented.- Throws:
NullPointerException
- if the given flow isnull
.- See Also:
-
getConverter
- Returns:
- The converter for this component.
-
setConverter
Sets the converter. This is a bound property- Parameters:
newConverter
- The converter for this component.- Throws:
NullPointerException
- if the given converter isnull
.- See Also:
-
getInterval
- Returns:
- The value of the intervals, or
null
if a default interval should be used.
-
setInterval
Sets the value of the intervals. This is a bound property.- Parameters:
newInterval
- The new value of the intervals, ornull
if a default interval should be used.- Throws:
ValidationException
- If the new interval is not valid.- See Also:
-
getThumbImage
Returns the thumb image for the indicated axis.- Parameters:
axis
- The axis for which a thumb image should be returned.- Returns:
- The thumb image for the given axis.
-
ThumbXImage
Returns the thumb image for the X axis.- Returns:
- The thumb image for the indicated axis.
-
ThumbYImage
Returns the thumb image for the Y axis.- Returns:
- The thumb image for the indicated axis.
-
setThumbImage
Sets the thumb image for a given axis. The thumb image of each axis represents a bound property.- Parameters:
axis
- The axis for which the thumb image should be set.newThumbImage
- The thumb image.- Throws:
NullPointerException
- if the given axis and/or thumb image isnull
.- See Also:
-
setThumbXImage
Sets the thumb image for the X axis. This is a bound property.- Parameters:
newThumbImage
- The thumb image.- Throws:
NullPointerException
- if the given thumb image isnull
.- See Also:
-
setThumbYImage
Sets the thumb image for the Y axis. This is a bound property.- Parameters:
newThumbImage
- The thumb image.- Throws:
NullPointerException
- if the given thumb image isnull
.- See Also:
-
getTrackImage
Returns the track image for the indicated axis.- Parameters:
axis
- The axis for which a track image should be returned.- Returns:
- The track image for the given axis.
-
TrackXImage
Returns the track image for the X axis.- Returns:
- The track image for the indicated axis.
-
TrackYImage
Returns the track image for the Y axis.- Returns:
- The track image for the indicated axis.
-
setTrackImage
Sets the track image for a given axis. The track image of each axis represents a bound property.- Parameters:
axis
- The axis for which the track image should be set.newTrackImage
- The track image.- Throws:
NullPointerException
- if the given axis and/or track image isnull
.- See Also:
-
setTrackXImage
Sets the track image for the X axis. This is a bound property.- Parameters:
newTrackImage
- The track image.- Throws:
NullPointerException
- if the given track image isnull
.- See Also:
-
setTrackYImage
Sets the track image for the Y axis. This is a bound property.- Parameters:
newTrackImage
- The track image.- Throws:
NullPointerException
- if the given track image isnull
.- See Also:
-
isSliding
public boolean isSliding()- Returns:
- Whether the slider is being slid.
-
setSliding
public void setSliding(boolean newSliding) Sets whether the slider is being slid. This is a bound property of typeBoolean
.- Parameters:
newSliding
-true
if the slider is sliding, elsefalse
.- See Also:
-