Module io.github.mmm.ui.fx.core
Package io.github.mmm.ui.fx.widget
Class FxActiveValidatableWidget<W extends javafx.scene.layout.Region,V>
- java.lang.Object
-
- io.github.mmm.ui.api.widget.AbstractUiWidget
-
- io.github.mmm.ui.spi.widget.AbstractUiNativeWidget
-
- io.github.mmm.ui.spi.widget.AbstractUiNativeWidgetWrapper<W>
-
- io.github.mmm.ui.fx.widget.FxWidget<W>
-
- io.github.mmm.ui.fx.widget.FxWidgetStyleable<W>
-
- io.github.mmm.ui.fx.widget.FxWidgetNode<W>
-
- io.github.mmm.ui.fx.widget.FxActiveWidget<W>
-
- io.github.mmm.ui.fx.widget.FxActiveValidatableWidget<W,V>
-
- Type Parameters:
W
- type ofJavaFx widget
.V
- type ofvalue
.
- All Implemented Interfaces:
EventSource<UiEvent,UiEventListener>
,AttributeReadEnabled
,AttributeReadId
,AttributeReadValid
,AttributeReadValue<V>
,AttributeReadVisible
,AttributeWriteEnabled
,AttributeWriteId
,AttributeWriteReadOnly
,AttributeWriteTooltip
,AttributeWriteValidationFailure
,AttributeWriteValue<V>
,AttributeWriteValueForUser<V>
,AttributeWriteVisible
,UiActiveWidget
,UiNativeWidget
,UiWidget
,UiValidatableWidget<V>
,UiValuedWidget<V>
,UiNativeWidgetWrapper<W>
- Direct Known Subclasses:
FxDataTable
,FxInput
public abstract class FxActiveValidatableWidget<W extends javafx.scene.layout.Region,V> extends FxActiveWidget<W> implements UiValidatableWidget<V>
Implementation ofUiInput
for JavaFx.- Since:
- 1.0.0
-
-
Field Summary
-
Fields inherited from class io.github.mmm.ui.fx.widget.FxWidget
CLASS_INVALID, CLASS_READ_ONLY, widget
-
Fields inherited from interface io.github.mmm.ui.api.attribute.AttributeWriteValidationFailure
STYLE_INVALID
-
Fields inherited from interface io.github.mmm.ui.api.widget.UiActiveWidget
ACCESS_KEY_NONE
-
Fields inherited from interface io.github.mmm.ui.api.widget.value.UiValidatableWidget
STYLE_MANDATORY
-
-
Constructor Summary
Constructors Constructor Description FxActiveValidatableWidget(W widget)
The constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
doSetValidationFailure(String error)
Called fromAttributeWriteValidationFailure.setValidationFailure(String)
if the failure actually changed.long
getModificationTimestamp()
V
getOriginalValue()
Validator<? super V>
getValidator()
protected void
onFocusChanged(boolean focusGain)
protected void
onValueChanged(boolean programmatic)
Called fromFxWidget.onValueChange(ObservableValue, Object, Object)
if triggered by end-user.protected void
setMandatory(boolean mandatory)
void
setOriginalValue(V originalValue)
void
setValidator(Validator<? super V> validator)
void
setValue(V value, boolean forUser)
protected abstract void
setValueNative(V value)
-
Methods inherited from class io.github.mmm.ui.fx.widget.FxActiveWidget
getAccessKey, isFocused, registerFocusChangeHandler, registerHandlers, setAccessKey, setFocused, setParent
-
Methods inherited from class io.github.mmm.ui.fx.widget.FxWidgetNode
getTopWidget, setEnabledNative, setIdNative, setReadOnlyNative, setTooltipNative, setVisibleNative
-
Methods inherited from class io.github.mmm.ui.fx.widget.FxWidgetStyleable
createStyles
-
Methods inherited from class io.github.mmm.ui.fx.widget.FxWidget
getTopNode, getWidget, onAction, onClose, onFocusChange, onValueChange, setTooltip, setWidget
-
Methods inherited from class io.github.mmm.ui.spi.widget.AbstractUiNativeWidgetWrapper
createDefaultStyles, getId, getStyles, getTooltip, onStylesChanged, setId, setTooltip
-
Methods inherited from class io.github.mmm.ui.spi.widget.AbstractUiNativeWidget
addListener, dispose, doDispose, doGetEnabledState, doGetVisibleState, doSetEnabledState, doSetEnabledState, doSetVisibleState, doSetVisibleState, ensureHandlers, fireEvent, getEventAdapter, getParent, getProgrammaticEventType, getReadOnlyFixed, getValidationFailure, hasListeners, isDisposed, isEnabled, isInitiallyVisible, isReadOnly, isValid, isVisible, isVisibleWithoutRoot, removeListener, requireNotDisposed, setEnabled, setProgrammaticEventType, setReadOnly, setReadOnlyFixed, setValidationFailure, setVisible, unwrap, validateDown
-
Methods inherited from class io.github.mmm.ui.api.widget.AbstractUiWidget
isEmpty, setParent, unwrap
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.github.mmm.ui.api.attribute.AttributeReadId
getId
-
Methods inherited from interface io.github.mmm.ui.api.attribute.AttributeWriteId
setId
-
Methods inherited from interface io.github.mmm.ui.api.attribute.AttributeWriteTooltip
getTooltip, setTooltip
-
Methods inherited from interface io.github.mmm.ui.api.attribute.AttributeWriteValidationFailure
getValidationFailure, setValidationFailure, setValidationFailure
-
Methods inherited from interface io.github.mmm.event.EventSource
addListener, addListener, addWeakListener, removeListener
-
Methods inherited from interface io.github.mmm.ui.api.widget.value.UiValidatableWidget
getValue, getValueOrThrow, isValid, reset, setValue, setValueForUser
-
Methods inherited from interface io.github.mmm.ui.api.widget.UiWidget
cast, dispose, getParent, getReadOnlyFixed, getStyles, isDisposed, isEnabled, isEnabled, isFocused, isModified, isReadOnly, isVisible, isVisible, setEnabled, setEnabled, setFocused, setReadOnly, setReadOnlyFixed, setVisible, setVisible, validate, validate, validate, validateDown, validateUp
-
-
-
-
Constructor Detail
-
FxActiveValidatableWidget
public FxActiveValidatableWidget(W widget)
The constructor.- Parameters:
widget
- theJavaFx widget
.
-
-
Method Detail
-
getOriginalValue
public V getOriginalValue()
- Specified by:
getOriginalValue
in interfaceUiValidatableWidget<W extends javafx.scene.layout.Region>
- Returns:
- the original value since it was last set via
UiValidatableWidget.setOriginalValue(Object)
or most probably indirectly viaUiValidatableWidget.setValue(Object)
. If this widget ismodified
,UiValidatableWidget.getValue()
will return the current value as entered by the end-user while this method will still return the original value.
ATTENTION: The original value shall never be modified to avoid undesired side effects. Various features such asUiValidatableWidget.reset()
rely on this fact. - See Also:
UiValidatableWidget.reset()
-
setOriginalValue
public void setOriginalValue(V originalValue)
- Specified by:
setOriginalValue
in interfaceUiValidatableWidget<W extends javafx.scene.layout.Region>
- Parameters:
originalValue
- the new value ofUiValidatableWidget.getOriginalValue()
.
-
doSetValidationFailure
protected void doSetValidationFailure(String error)
Description copied from class:AbstractUiNativeWidget
Called fromAttributeWriteValidationFailure.setValidationFailure(String)
if the failure actually changed. Do not call manually.- Overrides:
doSetValidationFailure
in classAbstractUiNativeWidget
- Parameters:
error
- the newvalidation failure
. Will benull
if valid.
-
onFocusChanged
protected void onFocusChanged(boolean focusGain)
- Overrides:
onFocusChanged
in classFxWidget<W extends javafx.scene.layout.Region>
- Parameters:
focusGain
-true
if the focus was gained,false
otherwise (focus has been lost).
-
getValidator
public Validator<? super V> getValidator()
- Specified by:
getValidator
in interfaceUiValidatableWidget<W extends javafx.scene.layout.Region>
- Returns:
- the
Validator
to validate thevalue
of this input.
-
setValidator
public void setValidator(Validator<? super V> validator)
- Specified by:
setValidator
in interfaceUiValidatableWidget<W extends javafx.scene.layout.Region>
- Parameters:
validator
- the newvalidator
. To add multiple validators, simply useComposedValidator
orValidator.append(Validator...)
.
-
setMandatory
protected void setMandatory(boolean mandatory)
- Parameters:
mandatory
- the new mandatory (required) flag.
-
getModificationTimestamp
public long getModificationTimestamp()
- Specified by:
getModificationTimestamp
in interfaceUiWidget
- Returns:
- the timestamp of the last change to this widget. Will be
-1
if it notmodified
.
-
setValue
public void setValue(V value, boolean forUser)
- Specified by:
setValue
in interfaceAttributeWriteValueForUser<W extends javafx.scene.layout.Region>
- Specified by:
setValue
in interfaceUiValidatableWidget<W extends javafx.scene.layout.Region>
- Parameters:
value
- the newvalue
.forUser
- -true
forUiValidatableWidget.setValueForUser(Object)
andfalse
forUiValidatableWidget.setValue(Object)
.
-
setValueNative
protected abstract void setValueNative(V value)
- Parameters:
value
- the newvalue
to set in the native widget.
-
onValueChanged
protected void onValueChanged(boolean programmatic)
Description copied from class:FxWidget
Called fromFxWidget.onValueChange(ObservableValue, Object, Object)
if triggered by end-user.- Overrides:
onValueChanged
in classFxWidget<W extends javafx.scene.layout.Region>
- Parameters:
programmatic
- - seeUiEvent.isProgrammatic()
.
-
-