API Reference 0.3.24dart_web_toolkit_uiValueBoxEditor<T>

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

HasEditorDelegate<T>

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

docs inherited from TakesValueEditor<T>
void setValue(T value, [bool fireEvents = false]) {
 _peer.setValue(this._value = value);
}