Class AbstractDialogFrame<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.AbstractArrayCompositeComponent
-
- io.guise.framework.component.AbstractEnumCompositeComponent<AbstractFrame.FrameComponent>
-
- io.guise.framework.component.AbstractFrame
-
- io.guise.framework.component.AbstractDialogFrame<V>
-
- Type Parameters:
V
- The value to be communicated.
- All Implemented Interfaces:
com.globalmentor.beans.PropertyBindable
,com.globalmentor.beans.PropertyConstrainable
,com.globalmentor.model.MutableValued<V>
,com.globalmentor.model.Valued<V>
,Component
,CompositeComponent
,ContentComponent
,Control
,DialogFrame<V>
,Frame
,InputFocusableComponent
,InputFocusGroupComponent
,ModalComponent<Frame.Mode>
,ValueControl<V>
,ValuedComponent<V>
,Displayable
,Enableable
,InfoModel
,LabelModel
,Model
,PresentationModel
,ValueModel<V>
,DepictedObject
- Direct Known Subclasses:
AbstractOptionDialogFrame
,CalendarDialogFrame
,DefaultDialogFrame
public abstract class AbstractDialogFrame<V> extends AbstractFrame implements DialogFrame<V>
Abstract implementation of a frame meant for communication of a value. A dialog frame by default is modal and movable but not resizable. The component valid status is updated before a change in theValueModel.VALUE_PROPERTY
or theValueModel.VALIDATOR_PROPERTY
is fired.This implementation binds the action
AbstractFrame.getCloseActionPrototype()
to the commandProcessCommand.CONTINUE
.- Author:
- Garret Wilson
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class io.guise.framework.component.AbstractFrame
AbstractFrame.DefaultPrototypeProvider, AbstractFrame.FrameComponent
-
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.Frame
Frame.Mode, Frame.State
-
-
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.ContentComponent
CONTENT_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.component.Frame
CLOSE_ACTION_CONTROL_PROPERTY, MENU_PROPERTY, MODAL_PROPERTY, MOVABLE_PROPERTY, OPEN_EFFECT_PROPERTY, RELATED_COMPONENT_PROPERTY, RESIZABLE_PROPERTY, STATE_PROPERTY, TITLE_BACKGROUND_COLOR_PROPERTY, TITLE_VISIBLE_PROPERTY, TOOLBAR_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.InputFocusGroupComponent
INPUT_FOCUS_STRATEGY_PROPERTY, INPUT_FOCUSED_COMPONENT_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.component.ModalComponent
MODE_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
Constructors Constructor Description AbstractDialogFrame(ValueModel<V> valueModel, Component component)
Value model, and component constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clearValue()
Clears the value by setting the value tonull
, which may be invalid according to any installed validators.protected Control.Status
determineStatus()
Checks the user input status of the control.protected boolean
determineValid()
Checks the state of the component for validity.protected <VV> void
firePropertyChange(java.lang.String propertyName, VV oldValue, VV newValue)
V
getDefaultValue()
Control.Status
getStatus()
Validator<V>
getValidator()
V
getValue()
java.lang.Class<V>
getValueClass()
protected ValueModel<V>
getValueModel()
boolean
isEnabled()
boolean
isValidValue()
Determines whether the value of this model is valid.void
reset()
Resets the control to its default value.void
resetValue()
Resets the value to a default value, which may be invalid according to any installed validators.void
setEnabled(boolean newEnabled)
Sets whether the object is enabled and can receive user input.void
setNotification(Notification newNotification)
Sets the component notification.protected void
setStatus(Control.Status newStatus)
Sets the status of the current user input.void
setValidator(Validator<V> newValidator)
Sets the validator.void
setValue(V newValue)
Sets the new value.protected void
updateStatus()
Rechecks user input status of this component, and updates the status.protected void
updateValid()
Rechecks user input validity of this component and all child components, and updates the valid state.boolean
validate()
Validates the user input of this component and all child components.void
validateValue()
Validates the value of this model, throwing an exception if the model is not valid.-
Methods inherited from class io.guise.framework.component.AbstractFrame
canClose, close, closeImpl, getCloseActionControl, getCloseActionPrototype, getContent, getInputFocusedComponent, getInputFocusStrategy, getMenu, getMode, getOpenEffect, getPrototypeProvisionStrategy, getRelatedComponent, getState, getTitleBackgroundColor, getToolbar, isModal, isMovable, isResizable, isTitleVisible, open, open, open, provideDefaultPrototypes, setCloseActionControl, setContent, setInputFocusedComponent, setInputFocusStrategy, setMenu, setModal, setMode, setMovable, setOpenEffect, setRelatedComponent, setResizable, setState, setTitleBackgroundColor, setTitleVisible, setToolbar, updateDefaultPrototypeProvisions
-
Methods inherited from class io.guise.framework.component.AbstractEnumCompositeComponent
getComponent, setComponent
-
Methods inherited from class io.guise.framework.component.AbstractArrayCompositeComponent
getChildComponents, getChildList, getComponent, hasChildComponents, setComponent
-
Methods inherited from class io.guise.framework.component.AbstractMultipleCompositeComponent
addComponent, 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.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, setOrientation, setParent, setThemeApplied, updateTheme
-
Methods inherited from interface io.guise.framework.component.CompositeComponent
addCompositeComponentListener, getChildComponents, hasChildComponents, removeCompositeComponentListener
-
Methods inherited from interface io.guise.framework.component.ContentComponent
getContent, setContent
-
Methods inherited from interface io.guise.framework.platform.DepictedObject
depict, getDepictID, getSession, processEvent
-
Methods inherited from interface io.guise.framework.component.Frame
canClose, close, getCloseActionControl, getCloseActionPrototype, getMenu, getOpenEffect, getRelatedComponent, getState, getTitleBackgroundColor, getToolbar, isModal, isMovable, isResizable, isTitleVisible, open, open, open, setCloseActionControl, setMenu, setModal, setMovable, setOpenEffect, setRelatedComponent, setResizable, setTitleBackgroundColor, setTitleVisible, setToolbar
-
Methods inherited from interface io.guise.framework.model.InfoModel
getDescription, getDescriptionContentType, getInfo, getInfoContentType, setDescription, setDescriptionContentType, setInfo, setInfoContentType
-
Methods inherited from interface io.guise.framework.component.InputFocusGroupComponent
getInputFocusedComponent, getInputFocusStrategy, setInputFocusedComponent, setInputFocusStrategy
-
Methods inherited from interface io.guise.framework.model.LabelModel
getGlyphURI, getLabel, getLabelContentType, setGlyphURI, setLabel, setLabelContentType
-
Methods inherited from interface io.guise.framework.component.ModalComponent
getMode, setMode
-
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
-
AbstractDialogFrame
public AbstractDialogFrame(ValueModel<V> valueModel, Component component)
Value model, and component constructor.- Parameters:
valueModel
- The frame value model.component
- The single child component, ornull
if this frame should have no child component.- Throws:
java.lang.NullPointerException
- if the given value model isnull
.
-
-
Method Detail
-
getValueModel
protected ValueModel<V> getValueModel()
- Returns:
- The value model used by this component.
-
isEnabled
public boolean isEnabled()
- Specified by:
isEnabled
in interfaceEnableable
- Returns:
- Whether the object is enabled and can receive user input.
-
setEnabled
public void setEnabled(boolean newEnabled)
Description copied from interface:Enableable
Sets whether the object is enabled and can receive user input. This is a bound property of typeBoolean
.- Specified by:
setEnabled
in interfaceEnableable
- Parameters:
newEnabled
-true
if the object should indicate and accept user input.- See Also:
Enableable.ENABLED_PROPERTY
-
getStatus
public Control.Status getStatus()
-
setStatus
protected void setStatus(Control.Status newStatus)
Sets the status of the current user input. This is a bound property.- Parameters:
newStatus
- The new status of the current user input, ornull
if there is no status to report.- See Also:
Control.STATUS_PROPERTY
-
updateStatus
protected void updateStatus()
Rechecks user input status of this component, and updates the status.- See Also:
setStatus(Control.Status)
-
determineStatus
protected Control.Status determineStatus()
Checks the user input status of the control. If the component has a notification ofNotification.Severity.WARN
, the status is determined to beControl.Status.WARNING
. If the component has a notification ofNotification.Severity.ERROR
, the status is determined to beControl.Status.ERROR
. Otherwise, this version returnsnull
.- Returns:
- The current user input status of the control.
-
updateValid
protected void updateValid()
Rechecks user input validity of this component and all child components, and updates the valid state. This implementation only updates the valid property if the property is already initialized or there is at least one listener to theComponent.VALID_PROPERTY
.This version also updates the status.
- Overrides:
updateValid
in classAbstractComponent
- See Also:
updateStatus()
-
setNotification
public void setNotification(Notification newNotification)
Sets the component notification. This is a bound property. The notification is also fired as aNotificationEvent
on this component if a new notification is given. Parents are expected to refire the notification event up the hierarchy.This version updates the component status if the notification changes.
- Specified by:
setNotification
in interfaceComponent
- Overrides:
setNotification
in classAbstractComponent
- Parameters:
newNotification
- The notification for the component, ornull
if no notification is associated with this component.- See Also:
Component.NOTIFICATION_PROPERTY
-
reset
public void reset()
Resets the control to its default value.This version clears any notification and resets the control value.
- Specified by:
reset
in interfaceControl
- See Also:
setNotification(Notification)
,resetValue()
-
firePropertyChange
protected <VV> void firePropertyChange(java.lang.String propertyName, VV oldValue, VV newValue)
This version first updates the valid status if the value is reported as being changed.
- Overrides:
firePropertyChange
in classcom.globalmentor.beans.BoundPropertyObject
-
determineValid
protected boolean determineValid()
Checks the state of the component for validity. This version returnstrue
.This version calls
AbstractCompositeComponent.determineChildrenValid()
.This version checks the validity of the value model.
- Overrides:
determineValid
in classAbstractCompositeComponent
- Returns:
true
if the component and all children passes all validity tests, elsefalse
.
-
validate
public boolean validate()
Validates the user input of this component and all child components. The component will be updated with error information.This version clears all notifications. This version calls
AbstractComponent.updateValid()
.This version first calls
AbstractCompositeComponent.validateChildren()
so that all children will be validated before checks are performed on this component.This version validates the associated value model.
- Specified by:
validate
in interfaceComponent
- Overrides:
validate
in classAbstractFrame
- Returns:
- The current state of
Component.isValid()
as a convenience.
-
getDefaultValue
public V getDefaultValue()
- Specified by:
getDefaultValue
in interfaceValueModel<V>
- Returns:
- The default value.
-
getValue
public V getValue()
- Specified by:
getValue
in interfacecom.globalmentor.model.Valued<V>
- Specified by:
getValue
in interfaceValuedComponent<V>
- Specified by:
getValue
in interfaceValueModel<V>
- Returns:
- The input value, or
null
if there is no input value.
-
setValue
public void setValue(V newValue) throws java.beans.PropertyVetoException
Description copied from interface:ValueModel
Sets the new value. This is a bound property that only fires a change event when the new value is different via theequals()
method. If a validator is installed, the value will first be validated before the current value is changed. Validation always occurs if a validator is installed, even if the value is not changing. If the value change is vetoed by the installed validator, the validation exception will be accessible viaThrowable.getCause()
.- Specified by:
setValue
in interfacecom.globalmentor.model.MutableValued<V>
- Specified by:
setValue
in interfaceValuedComponent<V>
- Specified by:
setValue
in interfaceValueModel<V>
- Parameters:
newValue
- The new value.- Throws:
java.beans.PropertyVetoException
- if the provided value is not valid or the change has otherwise been vetoed.- See Also:
ValueModel.getValidator()
,ValueModel.VALUE_PROPERTY
-
clearValue
public void clearValue()
Description copied from interface:ValueModel
Clears the value by setting the value tonull
, which may be invalid according to any installed validators. No validation occurs.- Specified by:
clearValue
in interfaceValueModel<V>
- See Also:
ValueModel.VALUE_PROPERTY
-
resetValue
public void resetValue()
Description copied from interface:ValueModel
Resets the value to a default value, which may be invalid according to any installed validators. No validation occurs.- Specified by:
resetValue
in interfaceValueModel<V>
- See Also:
ValueModel.VALUE_PROPERTY
-
getValidator
public Validator<V> getValidator()
- Specified by:
getValidator
in interfaceValueModel<V>
- Returns:
- The validator for this model, or
null
if no validator is installed.
-
setValidator
public void setValidator(Validator<V> newValidator)
Description copied from interface:ValueModel
Sets the validator. This is a bound property- Specified by:
setValidator
in interfaceValueModel<V>
- Parameters:
newValidator
- The validator for this model, ornull
if no validator should be used.- See Also:
ValueModel.VALIDATOR_PROPERTY
-
isValidValue
public boolean isValidValue()
Description copied from interface:ValueModel
Determines whether the value of this model is valid.- Specified by:
isValidValue
in interfaceValueModel<V>
- Returns:
- Whether the value of this model is valid.
-
validateValue
public void validateValue() throws ValidationException
Description copied from interface:ValueModel
Validates the value of this model, throwing an exception if the model is not valid.- Specified by:
validateValue
in interfaceValueModel<V>
- Throws:
ValidationException
- if the value of this model is not valid.
-
getValueClass
public java.lang.Class<V> getValueClass()
- Specified by:
getValueClass
in interfaceValuedComponent<V>
- Specified by:
getValueClass
in interfaceValueModel<V>
- Returns:
- The class representing the type of value this model can hold.
-
-