Package io.guise.framework.component
Class ListControl<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.AbstractCompositeComponent
io.guise.framework.component.AbstractMultipleCompositeComponent
io.guise.framework.component.AbstractCompositeStateComponent<T,S>
io.guise.framework.component.AbstractCompositeStateControl<V,AbstractListSelectControl.ValueComponentState>
io.guise.framework.component.AbstractListSelectControl<V>
io.guise.framework.component.ListControl<V>
- Type Parameters:
V
- The type of values to select.
- All Implemented Interfaces:
com.globalmentor.beans.PropertyBindable
,com.globalmentor.beans.PropertyConstrainable
,com.globalmentor.model.MutableValued<V>
,com.globalmentor.model.Valued<V>
,io.clogr.Clogged
,Component
,CompositeComponent
,Control
,InputFocusableComponent
,ListSelectControl<V>
,SelectControl<V>
,ValueControl<V>
,ValuedComponent<V>
,ListListenable<V>
,Displayable
,Enableable
,InfoModel
,LabelModel
,ListSelectModel<V>
,Model
,SelectModel<V>
,PresentationModel
,ValueModel<V>
,DepictedObject
,Iterable<V>
,Collection<V>
,List<V>
Control to allow selection of one or more values from a list.
- Author:
- Garret Wilson
-
Nested Class Summary
Nested classes/interfaces inherited from class io.guise.framework.component.AbstractListSelectControl
AbstractListSelectControl.ConverterInfoModelValueRepresentationStrategy<VV>, AbstractListSelectControl.DefaultValueRepresentationStrategy<VV>, AbstractListSelectControl.ValueComponentState
Nested classes/interfaces inherited from class io.guise.framework.component.AbstractCompositeStateComponent
AbstractCompositeStateComponent.ComponentState
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
Nested classes/interfaces inherited from interface io.guise.framework.component.ListSelectControl
ListSelectControl.ValueRepresentationStrategy<VV>
-
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.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.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.SelectControl
VALUE_REPRESENTATION_STRATEGY_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
ConstructorDescriptionListControl
(ListSelectModel<V> listSelectModel) List select model constructor.ListControl
(ListSelectModel<V> listSelectModel, int rowCount) List select model and row count constructor.ListControl
(ListSelectModel<V> listSelectModel, ListSelectControl.ValueRepresentationStrategy<V> valueRepresentationStrategy) List select model and value representation strategy constructor.ListControl
(ListSelectModel<V> listSelectModel, ListSelectControl.ValueRepresentationStrategy<V> valueRepresentationStrategy, int rowCount) List select model, value representation strategy, and row count constructor.ListControl
(Class<V> valueClass) Value class constructor with a default data model to represent a given type with multiple selection.ListControl
(Class<V> valueClass, boolean multipleSelection) Value class constructor with a default data model to represent a given type.ListControl
(Class<V> valueClass, boolean multipleSelection, int rowCount) Value class and row count constructor with a default data model to represent a given type.ListControl
(Class<V> valueClass, int rowCount) Value class and row count constructor with a default data model to represent a given type with multiple selection.ListControl
(Class<V> valueClass, ListSelectionPolicy<V> selectionStrategy) Value class and selection strategy constructor with a default data model to represent a given type.ListControl
(Class<V> valueClass, ListSelectionPolicy<V> selectionStrategy, int rowCount) Value class, selection strategy, and row count constructor with a default data model to represent a given type. -
Method Summary
Modifier and TypeMethodDescriptionint
void
setRowCount
(int newRowCount) Sets the estimated number of rows requested to be visible.Methods inherited from class io.guise.framework.component.AbstractListSelectControl
add, add, addAll, addAll, addListListener, addListSelectionListener, addSelectedIndexes, clear, clearValue, contains, containsAll, createComponentState, determineValid, fireListModified, firePropertyChange, fireSelectionChanged, get, getComponent, getDefaultValue, getListSelectModel, getSelectedIndex, getSelectedIndexes, getSelectedValue, getSelectedValues, getSelectionPolicy, getValidator, getValue, getValueClass, getValueRepresentationStrategy, indexOf, isEmpty, isIndexDisplayed, isIndexEnabled, isValidValue, isValueDisplayed, isValueEnabled, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeListListener, removeListSelectionListener, removeSelectedIndexes, replace, reset, resetValue, retainAll, set, setIndexDisplayed, setIndexEnabled, setSelectedIndexes, setSelectedValues, setValidator, setValue, setValueDisplayed, setValueEnabled, setValueRepresentationStrategy, size, subList, toArray, toArray, validate, validateValue
Methods inherited from class io.guise.framework.component.AbstractCompositeStateControl
determineStatus, getEnableable, getStatus, isEnabled, setEnabled, setNotification, setStatus, updateStatus, updateValid
Methods inherited from class io.guise.framework.component.AbstractCompositeStateComponent
clearComponentStates, determineComponentState, getComponentState, getComponentStates, getObject, putComponentState, removeComponentState
Methods inherited from class io.guise.framework.component.AbstractMultipleCompositeComponent
addComponent, getChildComponents, hasChildComponents, removeComponent
Methods inherited from class io.guise.framework.component.AbstractCompositeComponent
addCompositeComponentListener, childComponentValidPropertyChanged, determineChildrenValid, dispatchInputEvent, dispatchInputEvent, fireChildComponentAdded, fireChildComponentAdded, fireChildComponentRemoved, fireChildComponentRemoved, initializeChildComponent, loadPreferences, removeCompositeComponentListener, resetTheme, savePreferences, uninitializeChildComponent, updateTheme, validateChildren
Methods inherited from class io.guise.framework.component.AbstractComponent
addCommandListener, addExportStrategy, addImportStrategy, addKeyListener, addMouseListener, addNotificationListener, addPreferenceProperty, applyTheme, applyTheme, 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 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.clogr.Clogged
getLogger
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
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
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 java.util.List
equals, hashCode, replaceAll, sort, spliterator
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
-
ROW_COUNT_PROPERTY
The row count bound property.
-
-
Constructor Details
-
ListControl
Value class constructor with a default data model to represent a given type with multiple selection.- Parameters:
valueClass
- The class indicating the type of value held in the model.- Throws:
NullPointerException
- if the given value class isnull
.
-
ListControl
Value class constructor with a default data model to represent a given type.- Parameters:
valueClass
- The class indicating the type of value held in the model.multipleSelection
-true
if the list control should allow multiple selections, elsefalse
if only a single selection is allowed.- Throws:
NullPointerException
- if the given value class isnull
.
-
ListControl
Value class and row count constructor with a default data model to represent a given type with multiple selection.- Parameters:
valueClass
- The class indicating the type of value held in the model.rowCount
- The requested number of visible rows, or -1 if no row count is specified.- Throws:
NullPointerException
- if the given value class isnull
.
-
ListControl
Value class and row count constructor with a default data model to represent a given type.- Parameters:
valueClass
- The class indicating the type of value held in the model.multipleSelection
-true
if the list control should allow multiple selections, elsefalse
if only a single selection is allowed.rowCount
- The requested number of visible rows, or -1 if no row count is specified.- Throws:
NullPointerException
- if the given value class isnull
.
-
ListControl
Value class and selection strategy constructor with a default data model to represent a given type.- Parameters:
valueClass
- The class indicating the type of value held in the model.selectionStrategy
- The strategy for selecting values in the model.- Throws:
NullPointerException
- if the given value class and/or selection strategy isnull
.
-
ListControl
Value class, selection strategy, and row count constructor with a default data model to represent a given type.- Parameters:
valueClass
- The class indicating the type of value held in the model.selectionStrategy
- The strategy for selecting values in the model.rowCount
- The requested number of visible rows, or -1 if no row count is specified.- Throws:
NullPointerException
- if the given value class and/or selection strategy isnull
.
-
ListControl
List select model constructor.- Parameters:
listSelectModel
- The component list select model.- Throws:
NullPointerException
- if the given list select model isnull
.
-
ListControl
List select model and row count constructor.- Parameters:
listSelectModel
- The component list select model.rowCount
- The requested number of visible rows, or -1 if no row count is specified.- Throws:
NullPointerException
- if the given list select model isnull
.
-
ListControl
public ListControl(ListSelectModel<V> listSelectModel, ListSelectControl.ValueRepresentationStrategy<V> valueRepresentationStrategy) List select model and value representation strategy constructor.- Parameters:
listSelectModel
- The component list select model.valueRepresentationStrategy
- The strategy to create label models to represent this model's values.- Throws:
NullPointerException
- if the given list select model and/or value representation strategy isnull
.
-
ListControl
public ListControl(ListSelectModel<V> listSelectModel, ListSelectControl.ValueRepresentationStrategy<V> valueRepresentationStrategy, int rowCount) List select model, value representation strategy, and row count constructor.- Parameters:
listSelectModel
- The component list select model.valueRepresentationStrategy
- The strategy to create label models to represent this model's values.rowCount
- The requested number of visible rows, or -1 if no row count is specified.- Throws:
NullPointerException
- if the given list select model and/or value representation strategy isnull
.
-
-
Method Details
-
getRowCount
public int getRowCount()- Returns:
- The estimated number of rows requested to be visible, or -1 if no row count is specified.
-
setRowCount
public void setRowCount(int newRowCount) Sets the estimated number of rows requested to be visible. This is a bound property of typeInteger
.- Parameters:
newRowCount
- The new requested number of visible rows, or -1 if no row count is specified.- See Also:
-