com.extjs.gxt.ui.client.widget.form
Class Field<D>

java.lang.Object
  extended by com.google.gwt.user.client.ui.UIObject
      extended by com.google.gwt.user.client.ui.Widget
          extended by com.extjs.gxt.ui.client.widget.Component
              extended by com.extjs.gxt.ui.client.widget.BoxComponent
                  extended by com.extjs.gxt.ui.client.widget.form.Field<D>
Type Parameters:
D - the data type of the field
All Implemented Interfaces:
Observable, com.google.gwt.event.shared.HasHandlers, com.google.gwt.user.client.EventListener
Direct Known Subclasses:
AdapterField, CheckBox, HiddenField, HtmlEditor, LabelField, ListField, MultiField, SliderField, TextField

public abstract class Field<D>
extends BoxComponent

Base class for form fields that provides default event handling, value handling and other functionality.

Events:
Focus : FieldEvent(field)
Fires when this field receives input focus.
Blur : FieldEvent(field)
Fires when this field loses input focus.
Change : FieldEvent(field, value, oldValue)
Fires after the field's value is changed.
Invalid : FieldEvent(field, message)
Fires after the field has been marked as invalid.
Valid : FieldEvent(field)
Fires after the field has been validated with no errors.
KeyPress : FieldEvent(field)
Fires after a key is pressed.
SpecialKey : FieldEvent(field)
Fires when any key related to navigation (arrows, tab, enter, esc, etc.) is pressed.
Inherited Events:
BoxComponent Move
BoxComponent Resize
Component Enable
Component Disable
Component BeforeHide
Component Hide
Component BeforeShow
Component Show
Component Attach
Component Detach
Component BeforeRender
Component Render
Component BrowserEvent
Component BeforeStateRestore
Component StateRestore
Component BeforeStateSave
Component SaveState


Nested Class Summary
 class Field.FieldImages
           
 class Field.FieldMessages
          The field messages.
 
Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject
com.google.gwt.user.client.ui.UIObject.DebugIdImpl, com.google.gwt.user.client.ui.UIObject.DebugIdImplEnabled
 
Field Summary
 
Fields inherited from class com.google.gwt.user.client.ui.UIObject
DEBUG_ID_PREFIX
 
Method Summary
 void addInputStyleName(java.lang.String style)
          Adds a CSS style name to the input element of this field.
 void addKeyListener(KeyListener listener)
          Adds a key listener.
 void clearInvalid()
          Clear any invalid styles / messages for this field.
 void focus()
          Try to focus this component.
 void forceInvalid(java.lang.String msg)
          Forces the field to be invalid using the given error message.
 boolean getAutoValidate()
          Returns true if the field value is validated on each key press.
 java.lang.String getEmptyText()
          Returns the field's empty text.
 java.lang.String getErrorMessage()
          Returns the active error message as string
 java.lang.String getFieldLabel()
          Returns the field's label.
 Field.FieldImages getImages()
           
 java.lang.String getLabelSeparator()
          Returns the field's label separator.
 java.lang.String getLabelStyle()
          Returns the field's label style.
 Field.FieldMessages getMessages()
          Returns the field's messages.
 java.lang.String getMessageTarget()
          Returns the field's message target.
 java.lang.String getName()
          Returns the name attribute of the field if available.
 D getOriginalValue()
          Returns the original value of the field, which is the value of the field when it is first rendered.
 PropertyEditor<D> getPropertyEditor()
          Returns the field's property editor.
 java.lang.String getRawValue()
          Returns the raw data value which may or may not be a valid, defined value.
 boolean getValidateOnBlur()
          Returns true if the value is validate on blur.
 int getValidationDelay()
          Returns the field's validation delay in milliseconds.
 D getValue()
          Returns the typed value of the field.
 boolean isDirty()
          Returns true if this field is dirty.
 boolean isFireChangeEventOnSetValue()
          Returns true if a change event is fired when setValue(Object) is called.
 boolean isHideLabel()
          Returns true if the label is hidden.
 boolean isInEditor()
          Returns true if the field is inside an editor.
 boolean isReadOnly()
          Returns the read only state.
 boolean isValid()
           
 boolean isValid(boolean preventMark)
          Returns whether or not the field value is currently valid.
 void markInvalid(java.lang.String msg)
          Marks this field as invalid.
 void onComponentEvent(ComponentEvent ce)
          Any events a component receives will be forwarded to this method.
 void removeInputStyleName(java.lang.String style)
          Removes a CSS style name from the input element of this field.
 void removeKeyListener(KeyListener listener)
          Removes the key listener.
 void reset()
          Resets the current field value to the originally loaded value and clears any validation messages.
 void setAutoValidate(boolean autoValidate)
          Sets whether the value is validated on each key press (defaults to false).
 void setEmptyText(java.lang.String emptyText)
          Sets the default text to display in an empty field.
 void setFieldLabel(java.lang.String fieldLabel)
          Sets the field's label.
 void setFireChangeEventOnSetValue(boolean fireChangeEventOnSetValue)
          True to fire a change event when setValue(Object) is called (defaults to false).
 void setHideLabel(boolean hideLabel)
          True to completely hide the label element (defaults to false, pre-render).
 void setImages(Field.FieldImages images)
           
 void setInEditor(boolean inEditor)
          True to mark this field being in an editor.
 void setLabelSeparator(java.lang.String labelSeparator)
          The standard separator to display after the text of each form label (defaults to the value of FormLayout.setLabelSeparator(String), which is a colon ':' by default).
 void setLabelStyle(java.lang.String labelStyle)
          A CSS style specification to apply directly to this field's label.
 void setMessages(Field.FieldMessages messages)
          Sets the field's messages.
 void setMessageTarget(java.lang.String messageTarget)
          The location where error text should display.
 void setName(java.lang.String name)
          Sets the field's HTML name attribute.
 void setOriginalValue(D originalValue)
          Updates the original value of the field.
 void setPropertyEditor(PropertyEditor<D> propertyEditor)
          Sets the field's property editor which is used to translate typed values to string, and string values back to typed values.
 void setRawValue(java.lang.String value)
          Sets the underlying DOM field's value directly, bypassing validation.
 void setReadOnly(boolean readOnly)
          Sets the field's read only state.
 void setTabIndex(int index)
          Sets the tab index.
 void setValidateOnBlur(boolean validateOnBlur)
          Sets whether the field should validate when it loses focus (defaults to true).
 void setValidationDelay(int validationDelay)
          Sets length of time in milliseconds after user input begins until validation is initiated (defaults to 250).
 void setValue(D value)
          Sets a data value into the field and validates it.
 void updateOriginalValue(D value)
          Updates the original value of the field.
 boolean validate()
          Validates the field value.
 boolean validate(boolean preventMark)
          Validates the field value.
 
Methods inherited from class com.extjs.gxt.ui.client.widget.BoxComponent
getBounds, getHeight, getHeight, getPosition, getShadow, getShadowOffset, getShadowPosition, getSize, getWidth, getWidth, isAutoHeight, isAutoWidth, isDeferHeight, isShim, setAutoHeight, setAutoWidth, setBounds, setBounds, setDeferHeight, setHeight, setHeight, setPagePosition, setPagePosition, setPixelSize, setPosition, setShadow, setShadowOffset, setShadowPosition, setShim, setSize, setSize, setWidth, setWidth, sync, syncSize
 
Methods inherited from class com.extjs.gxt.ui.client.widget.Component
addListener, addPlugin, addStyleName, addWidgetListener, clearState, disable, disableEvents, disableTextSelection, el, enable, enableEvents, fireEvent, fireEvent, fireEvent, fly, getBaseStyle, getBorders, getContextMenu, getData, getElement, getHideMode, getId, getItemId, getListeners, getModel, getState, getStateId, getToolTip, hasListeners, hasListeners, hide, hideToolTip, isDisabledEvents, isEnabled, isRendered, isStateful, isVisible, mask, mask, mask, onBrowserEvent, recalculate, removeAllListeners, removeFromParent, removeListener, removeStyleName, removeSwallow, removeToolTip, removeWidgetListener, render, render, repaint, saveState, setBorders, setContextMenu, setData, setElement, setEnabled, setHideMode, setId, setIntStyleAttribute, setItemId, setStateful, setStateId, setStyleAttribute, setStyleName, setTitle, setToolTip, setToolTip, setVisible, setZIndex, show, sinkEvents, swallowEvent, swallowEvent, toString, unmask
 
Methods inherited from class com.google.gwt.user.client.ui.Widget
fireEvent, getParent, isAttached
 
Methods inherited from class com.google.gwt.user.client.ui.UIObject
addStyleDependentName, ensureDebugId, ensureDebugId, getAbsoluteLeft, getAbsoluteTop, getOffsetHeight, getOffsetWidth, getStyleName, getStylePrimaryName, getTitle, isVisible, removeStyleDependentName, setStylePrimaryName, setVisible, unsinkEvents
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

addInputStyleName

public void addInputStyleName(java.lang.String style)
Adds a CSS style name to the input element of this field.

Parameters:
style - the style name

addKeyListener

public void addKeyListener(KeyListener listener)
Adds a key listener.

Parameters:
listener - the key listener

clearInvalid

public void clearInvalid()
Clear any invalid styles / messages for this field.


focus

public void focus()
Description copied from class: Component
Try to focus this component. Fires the Focus event.

Overrides:
focus in class Component

forceInvalid

public void forceInvalid(java.lang.String msg)
Forces the field to be invalid using the given error message. When using this feature, clearInvalid() must be called to clear the error. Also, no other validation logic will execute.

Parameters:
msg - the error text

getAutoValidate

public boolean getAutoValidate()
Returns true if the field value is validated on each key press.

Returns:
the auto validate state

getEmptyText

public java.lang.String getEmptyText()
Returns the field's empty text.

Returns:
the empty text

getErrorMessage

public java.lang.String getErrorMessage()
Returns the active error message as string

Returns:
the active error message

getFieldLabel

public java.lang.String getFieldLabel()
Returns the field's label.

Returns:
the label

getImages

public Field.FieldImages getImages()

getLabelSeparator

public java.lang.String getLabelSeparator()
Returns the field's label separator.

Returns:
the label separator

getLabelStyle

public java.lang.String getLabelStyle()
Returns the field's label style.

Returns:
the label style

getMessages

public Field.FieldMessages getMessages()
Returns the field's messages.

Returns:
the messages

getMessageTarget

public java.lang.String getMessageTarget()
Returns the field's message target.

Returns:
the message target

getName

public java.lang.String getName()
Returns the name attribute of the field if available.

Returns:
the field name

getOriginalValue

public D getOriginalValue()
Returns the original value of the field, which is the value of the field when it is first rendered.

Returns:
the original value

getPropertyEditor

public PropertyEditor<D> getPropertyEditor()
Returns the field's property editor.

Returns:
the property editor

getRawValue

public java.lang.String getRawValue()
Returns the raw data value which may or may not be a valid, defined value. To return a normalized value see getValue().

Returns:
the raw value

getValidateOnBlur

public boolean getValidateOnBlur()
Returns true if the value is validate on blur.

Returns:
the validate on blur state

getValidationDelay

public int getValidationDelay()
Returns the field's validation delay in milliseconds.

Returns:
the delay in millseconds

getValue

public D getValue()
Returns the typed value of the field.

Returns:
the fields value

isDirty

public boolean isDirty()
Returns true if this field is dirty. A field is dirty, if the current value is different than it's original value. The original value is the value of the field when the field is rendered. Disabled and pre-rendered fields are never dirty.

Returns:
the dirty state

isFireChangeEventOnSetValue

public boolean isFireChangeEventOnSetValue()
Returns true if a change event is fired when setValue(Object) is called.

Returns:
true if the change event is fired

isHideLabel

public boolean isHideLabel()
Returns true if the label is hidden.

Returns:
the hide label state

isInEditor

public boolean isInEditor()
Returns true if the field is inside an editor.

Returns:
true if inside an editor

isReadOnly

public boolean isReadOnly()
Returns the read only state.

Returns:
true if read only, otherwise false

isValid

public boolean isValid()

isValid

public boolean isValid(boolean preventMark)
Returns whether or not the field value is currently valid.

Parameters:
preventMark - true for silent validation (no invalid event and field is not marked invalid)
Returns:
true if the value is valid, otherwise false

markInvalid

public void markInvalid(java.lang.String msg)
Marks this field as invalid. Validation will still run if called again, and the error message will be changed or cleared based on validation. To set a error message that will not be cleared until manually cleared see forceInvalid(String)

Parameters:
msg - the validation message

onComponentEvent

public void onComponentEvent(ComponentEvent ce)
Description copied from class: Component
Any events a component receives will be forwarded to this method. Subclasses should override as needed. The Component.onBrowserEvent(com.google.gwt.user.client.Event) method should not be overridden or modified.

Overrides:
onComponentEvent in class Component
Parameters:
ce - the base event

removeInputStyleName

public void removeInputStyleName(java.lang.String style)
Removes a CSS style name from the input element of this field.

Parameters:
style - the style name

removeKeyListener

public void removeKeyListener(KeyListener listener)
Removes the key listener.

Parameters:
listener - the key listener

reset

public void reset()
Resets the current field value to the originally loaded value and clears any validation messages.


setAutoValidate

public void setAutoValidate(boolean autoValidate)
Sets whether the value is validated on each key press (defaults to false).

Parameters:
autoValidate - true to validate on each key press

setEmptyText

public void setEmptyText(java.lang.String emptyText)
Sets the default text to display in an empty field.

Parameters:
emptyText - the empty text

setFieldLabel

public void setFieldLabel(java.lang.String fieldLabel)
Sets the field's label.

Parameters:
fieldLabel - the label

setFireChangeEventOnSetValue

public void setFireChangeEventOnSetValue(boolean fireChangeEventOnSetValue)
True to fire a change event when setValue(Object) is called (defaults to false).

Parameters:
fireChangeEventOnSetValue - true to fire a change event

setHideLabel

public void setHideLabel(boolean hideLabel)
True to completely hide the label element (defaults to false, pre-render).

Parameters:
hideLabel - true to hide the label

setImages

public void setImages(Field.FieldImages images)

setInEditor

public void setInEditor(boolean inEditor)
True to mark this field being in an editor.

Parameters:
inEditor - true mark this field being in an editor

setLabelSeparator

public void setLabelSeparator(java.lang.String labelSeparator)
The standard separator to display after the text of each form label (defaults to the value of FormLayout.setLabelSeparator(String), which is a colon ':' by default).

Parameters:
labelSeparator - the label separator or "" for none

setLabelStyle

public void setLabelStyle(java.lang.String labelStyle)
A CSS style specification to apply directly to this field's label. For example, labelStyle: 'font-weight:bold;'

Parameters:
labelStyle - the label style

setMessages

public void setMessages(Field.FieldMessages messages)
Sets the field's messages.

Parameters:
messages - the messages

setMessageTarget

public void setMessageTarget(java.lang.String messageTarget)
The location where error text should display. Should be one of the following values (defaults to 'side'):
 Value         Description
 -----------   ----------------------------------------------------------------------
 tooltip       Display a tool tip when the user hovers over the field
 title         Display a default browser title attribute popup
 side          Add an error icon to the right of the field with a popup on hover
 none          Do not display an error message
 [element id]  Add the error text directly to the innerHTML of the specified element
 

Parameters:
messageTarget - the message target

setName

public void setName(java.lang.String name)
Sets the field's HTML name attribute.

Parameters:
name - the name

setOriginalValue

public void setOriginalValue(D originalValue)
Updates the original value of the field. The originalValue is the value of the field when it is rendered. This method is useful when a form / field is being reused and the originaValue needs to be reset.

Parameters:
originalValue - the original value

setPropertyEditor

public void setPropertyEditor(PropertyEditor<D> propertyEditor)
Sets the field's property editor which is used to translate typed values to string, and string values back to typed values.

Parameters:
propertyEditor - the property editor

setRawValue

public void setRawValue(java.lang.String value)
Sets the underlying DOM field's value directly, bypassing validation. To set the value with validation see setValue(D).

Parameters:
value - the raw value

setReadOnly

public void setReadOnly(boolean readOnly)
Sets the field's read only state.

Parameters:
readOnly - the read only state

setTabIndex

public void setTabIndex(int index)
Sets the tab index.

Parameters:
index - the tab index value

setValidateOnBlur

public void setValidateOnBlur(boolean validateOnBlur)
Sets whether the field should validate when it loses focus (defaults to true).

Parameters:
validateOnBlur - true to validate on blur, otherwise false

setValidationDelay

public void setValidationDelay(int validationDelay)
Sets length of time in milliseconds after user input begins until validation is initiated (defaults to 250).

Parameters:
validationDelay - the delay in milliseconds

setValue

public void setValue(D value)
Sets a data value into the field and validates it. If the field is rendered, To set the value directly without validation see setRawValue(java.lang.String).

Parameters:
value - the value to set

updateOriginalValue

public void updateOriginalValue(D value)
Updates the original value of the field. This method is useful when a form / field is being reused and the originaValue needs to be reset.

Parameters:
value - the new original value

validate

public boolean validate()
Validates the field value.

Returns:
true if valid, otherwise false

validate

public boolean validate(boolean preventMark)
Validates the field value.

Parameters:
preventMark - true to not mark the field valid and fire invalid event when invalid
Returns:
true if valid, otherwise false