ValueBoxEditor<T> class
Adapts the {@link ValueBoxBase} interface to the Editor framework. This adapter uses {@link ValueBoxBase#getValueOrThrow()} to report parse errors to the Editor framework.
@param <T> the type of value to be edited
class ValueBoxEditor<T> extends TakesValueEditor<T> implements HasEditorDelegate<T> { /** * Returns a new TakesValueEditor that adapts a {@link ValueBoxBase} * instance. * * @param valueBox a {@link ValueBoxBase} instance to adapt * @return a ValueBoxEditor instance of the same type as the * adapted {@link ValueBoxBase} instance */ factory ValueBoxEditor.of(ValueBoxBase valueBox) { return new ValueBoxEditor(valueBox); } EditorDelegate<T> _delegate; ValueBoxBase<T> _peer; T _value; /** * Constructs a new ValueBoxEditor that adapts a {@link ValueBoxBase} peer * instance. * * @param peer a {@link ValueBoxBase} instance of type T */ ValueBoxEditor(ValueBoxBase peer) : super(peer) { this._peer = peer; } /** * Returns the {@link EditorDelegate} for this instance. * * @return an {@link EditorDelegate}, or {@code null} * @see #setDelegate(EditorDelegate) */ EditorDelegate<T> getDelegate() { return _delegate; } /** * Calls {@link ValueBoxBase#getValueOrThrow()}. If a {@link ParseException} * is thrown, it will be available through * {@link com.google.gwt.editor.client.EditorError#getUserData() * EditorError.getUserData()}. * * @return a value of type T * @see #setValue(Object) */ T getValue() { try { _value = _peer.getValueOrThrow(); } on Exception catch (e) { // TODO i18n getDelegate().recordError("Bad value (${_peer.text})", _peer.text, e); } return _value; } /** * Sets the {@link EditorDelegate} for this instance. This method is only * called by the driver. * * @param delegate an {@link EditorDelegate}, or {@code null} * @see #getDelegate() */ void setDelegate(EditorDelegate<T> delegate) { this._delegate = delegate; } void setValue(T value, [bool fireEvents = false]) { _peer.setValue(this._value = value); } }
Extends
TakesValueEditor<T> > ValueBoxEditor<T>
Implements
Constructors
new ValueBoxEditor(ValueBoxBase peer) #
Constructs a new ValueBoxEditor that adapts a {@link ValueBoxBase} peer instance.
@param peer a {@link ValueBoxBase} instance of type T
ValueBoxEditor(ValueBoxBase peer) : super(peer) { this._peer = peer; }
factory ValueBoxEditor.of(ValueBoxBase valueBox) #
Returns a new TakesValueEditor that adapts a {@link ValueBoxBase} instance.
@param valueBox a {@link ValueBoxBase} instance to adapt @return a ValueBoxEditor instance of the same type as the adapted {@link ValueBoxBase} instance
factory ValueBoxEditor.of(ValueBoxBase valueBox) { return new ValueBoxEditor(valueBox); }
Methods
EditorDelegate<T> getDelegate() #
Returns the {@link EditorDelegate} for this instance.
@return an {@link EditorDelegate}, or {@code null} @see #setDelegate(EditorDelegate)
EditorDelegate<T> getDelegate() { return _delegate; }
T getValue() #
Calls {@link ValueBoxBase#getValueOrThrow()}. If a {@link ParseException} is thrown, it will be available through {@link com.google.gwt.editor.client.EditorError#getUserData() EditorError.getUserData()}.
@return a value of type T @see #setValue(Object)
T getValue() { try { _value = _peer.getValueOrThrow(); } on Exception catch (e) { // TODO i18n getDelegate().recordError("Bad value (${_peer.text})", _peer.text, e); } return _value; }
void setDelegate(EditorDelegate<T> delegate) #
Sets the {@link EditorDelegate} for this instance. This method is only called by the driver.
@param delegate an {@link EditorDelegate}, or {@code null} @see #getDelegate()
void setDelegate(EditorDelegate<T> delegate) { this._delegate = delegate; }
void setValue(T value, [bool fireEvents = false]) #
Sets the value. Fires ValueChangeEvent when fireEvents is true and the new value does not equal the existing value.
@param value a value object of type V @see #getValue() @param fireEvents fire events if true and value is new
void setValue(T value, [bool fireEvents = false]) { _peer.setValue(this._value = value); }