Module io.github.mmm.ui.tvm.core
Class TvmValuedComposite<W extends org.teavm.jso.dom.html.HTMLElement,C extends UiWidget,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.tvm.widget.TvmWidget<W>
-
- io.github.mmm.ui.tvm.widget.TvmWidgetHtmlElement<W>
-
- io.github.mmm.ui.tvm.widget.composite.TvmComposite<W,C>
-
- io.github.mmm.ui.tvm.widget.composite.TvmRemovableComposite<W,C>
-
- io.github.mmm.ui.tvm.widget.composite.TvmMutableComposite<W,C>
-
- io.github.mmm.ui.tvm.widget.composite.TvmValuedComposite<W,C,V>
-
- Type Parameters:
W
- type ofTeaVM widget
.V
- type of thevalue
.C
- type of thechild widgets
.
- All Implemented Interfaces:
EventSource<UiEvent,UiEventListener>
,AttributeReadEnabled
,AttributeReadId
,AttributeReadValid
,AttributeReadValue<V>
,AttributeReadVisible
,AttributeWriteEnabled
,AttributeWriteId
,AttributeWriteReadOnly
,AttributeWriteTooltip
,AttributeWriteValidationFailure
,AttributeWriteValue<V>
,AttributeWriteValueForUser<V>
,AttributeWriteVisible
,UiComposite<C>
,UiFailureComposite<C>
,UiMutableComposite<C>
,UiRemovableComposite<C>
,UiValuedComposite<C,V>
,UiNativeWidget
,UiWidget
,UiBindableWidget<V>
,UiValidatableWidget<V>
,UiValuedWidget<V>
,UiNativeWidgetWrapper<W>
public abstract class TvmValuedComposite<W extends org.teavm.jso.dom.html.HTMLElement,C extends UiWidget,V> extends TvmMutableComposite<W,C> implements UiValuedComposite<C,V>
Implementation ofUiValuedComposite
for TeaVM.- Since:
- 1.0.0
-
-
Field Summary
-
Fields inherited from class io.github.mmm.ui.tvm.widget.composite.TvmComposite
children
-
Fields inherited from class io.github.mmm.ui.tvm.widget.TvmWidget
ATR_ARIA_HIDDEN, ATR_ARIA_LABEL, ATR_ARIA_SELECTED, ATR_COLSPAN, ATR_FOR, ATR_ID, ATR_LIST, ATR_MAX, ATR_MIN, ATR_REQUIRED, ATR_ROLE, ATR_ROWSPAN, ATR_STYLE, ATR_TABINDEX, CLASS_COLLAPSE, CLASS_ERROR, CLASS_EXPAND, CLASS_INFO, CLASS_QUESTION, CLASS_WARNING, DOC, EVENT_TYPE_BLUR, EVENT_TYPE_CHANGE, EVENT_TYPE_CLICK, EVENT_TYPE_FOCUS, EVENT_TYPE_INPUT, EVENT_TYPE_KEYDOWN, EVENT_TYPE_POINTERDOWN, EVENT_TYPE_POINTERMOVE, EVENT_TYPE_POINTERUP, ROLE_PRESENTATION, STYLE_COLLAPSED, STYLE_COLLAPSIBLE, STYLE_DISABLED, STYLE_RESIZABLE, TAG_NAME_UI_ICON, widget
-
Fields inherited from interface io.github.mmm.ui.api.attribute.AttributeWriteValidationFailure
STYLE_INVALID
-
Fields inherited from interface io.github.mmm.ui.api.widget.value.UiValidatableWidget
STYLE_MANDATORY
-
-
Constructor Summary
Constructors Constructor Description TvmValuedComposite(W widget)
The constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description V
getOriginalValue()
Validator<? super V>
getValidator()
V
getValueOrThrow()
void
initBinding(UiValueBinding<V> newBinding)
Initializes the value binding.void
setOriginalValue(V originalValue)
void
setValidator(Validator<? super V> validator)
void
setValue(V value, boolean forUser)
-
Methods inherited from class io.github.mmm.ui.tvm.widget.composite.TvmMutableComposite
addChild
-
Methods inherited from class io.github.mmm.ui.tvm.widget.composite.TvmRemovableComposite
addChildWidget, getChildIndexOffset, getCompositeElement, removeChild, removeChild, removeChildWidget, setEnabledNative
-
Methods inherited from class io.github.mmm.ui.tvm.widget.composite.TvmComposite
getChild, getChildCount, getChildIndex
-
Methods inherited from class io.github.mmm.ui.tvm.widget.TvmWidgetHtmlElement
getElement, getTopWidget, onStylesChanged, setTooltipNative, setVisibleNative
-
Methods inherited from class io.github.mmm.ui.tvm.widget.TvmWidget
getTopNode, getWidget, insertAt, insertFirst, newAnchor, newASide, newAudio, newButton, newCanvas, newDatalist, newDiv, newElement, newFieldSet, newFooter, newForm, newHeader, newHr, newIcon, newImage, newInput, newInput, newLabel, newLegend, newLi, newMain, newNav, newOption, newOption, newOutput, newSection, newSelect, newSpan, newTable, newTableBody, newTableDataCell, newTableFoot, newTableHead, newTableHeaderCell, newTableRow, newTextArea, newUl, newVideo, onClick, removeAllChildren, setIdNative, setReadOnlyNative, setWidget
-
Methods inherited from class io.github.mmm.ui.spi.widget.AbstractUiNativeWidgetWrapper
createDefaultStyles, createStyles, getId, getStyles, getTooltip, setId, setTooltip
-
Methods inherited from class io.github.mmm.ui.spi.widget.AbstractUiNativeWidget
addListener, dispose, doDispose, doGetEnabledState, doGetVisibleState, doSetEnabledState, doSetEnabledState, doSetValidationFailure, doSetVisibleState, doSetVisibleState, ensureHandlers, fireEvent, getEventAdapter, getParent, getProgrammaticEventType, getReadOnlyFixed, getValidationFailure, hasListeners, isDisposed, isEnabled, isInitiallyVisible, isReadOnly, isValid, isVisible, isVisibleWithoutRoot, registerHandlers, removeListener, requireNotDisposed, setEnabled, setParent, 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.composite.UiComposite
getChild, getChild, getChildCount, getChildIndex, getDescendant, getModificationTimestamp, getPropagation, isModified, setFocused
-
Methods inherited from interface io.github.mmm.ui.api.widget.composite.UiMutableComposite
addChild, addChild
-
Methods inherited from interface io.github.mmm.ui.api.widget.composite.UiRemovableComposite
removeChild, removeChild
-
Methods inherited from interface io.github.mmm.ui.api.widget.value.UiValidatableWidget
getValue, setValue, setValueForUser
-
Methods inherited from interface io.github.mmm.ui.api.widget.composite.UiValuedComposite
isValid, reset
-
Methods inherited from interface io.github.mmm.ui.api.widget.UiWidget
cast, dispose, getParent, getReadOnlyFixed, getStyles, isDisposed, isEnabled, isEnabled, isFocused, isReadOnly, isVisible, isVisible, setEnabled, setEnabled, setReadOnly, setReadOnlyFixed, setVisible, setVisible, validate, validate, validate, validateDown, validateUp
-
-
-
-
Constructor Detail
-
TvmValuedComposite
public TvmValuedComposite(W widget)
The constructor.- Parameters:
widget
- theTeaVM widget
.
-
-
Method Detail
-
initBinding
public void initBinding(UiValueBinding<V> newBinding)
Description copied from interface:UiBindableWidget
Initializes the value binding.- Specified by:
initBinding
in interfaceUiBindableWidget<W extends org.teavm.jso.dom.html.HTMLElement>
- Parameters:
newBinding
- theUiValueBinding
defining how to read and write the value.
-
getOriginalValue
public V getOriginalValue()
- Specified by:
getOriginalValue
in interfaceUiValidatableWidget<W extends org.teavm.jso.dom.html.HTMLElement>
- 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 org.teavm.jso.dom.html.HTMLElement>
- Parameters:
originalValue
- the new value ofUiValidatableWidget.getOriginalValue()
.
-
getValidator
public Validator<? super V> getValidator()
- Specified by:
getValidator
in interfaceUiValidatableWidget<W extends org.teavm.jso.dom.html.HTMLElement>
- Returns:
- the
Validator
to validate thevalue
of this input.
-
setValidator
public void setValidator(Validator<? super V> validator)
- Specified by:
setValidator
in interfaceUiValidatableWidget<W extends org.teavm.jso.dom.html.HTMLElement>
- Parameters:
validator
- the newvalidator
. To add multiple validators, simply useComposedValidator
orValidator.append(Validator...)
.
-
getValueOrThrow
public V getValueOrThrow()
- Specified by:
getValueOrThrow
in interfaceUiValidatableWidget<W extends org.teavm.jso.dom.html.HTMLElement>
- Returns:
- the current
value
.
-
setValue
public void setValue(V value, boolean forUser)
- Specified by:
setValue
in interfaceAttributeWriteValueForUser<W extends org.teavm.jso.dom.html.HTMLElement>
- Specified by:
setValue
in interfaceUiValidatableWidget<W extends org.teavm.jso.dom.html.HTMLElement>
- Parameters:
value
- the newvalue
.forUser
- -true
forUiValidatableWidget.setValueForUser(Object)
andfalse
forUiValidatableWidget.setValue(Object)
.
-
-