com.extjs.gxt.ui.client.widget.form
Class FormPanel

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.Container<T>
                      extended by com.extjs.gxt.ui.client.widget.ScrollContainer<Component>
                          extended by com.extjs.gxt.ui.client.widget.LayoutContainer
                              extended by com.extjs.gxt.ui.client.widget.ContentPanel
                                  extended by com.extjs.gxt.ui.client.widget.form.FormPanel
All Implemented Interfaces:
Observable, IconSupport, com.google.gwt.event.logical.shared.HasAttachHandlers, com.google.gwt.event.shared.HasHandlers, com.google.gwt.user.client.EventListener, com.google.gwt.user.client.ui.impl.FormPanelImplHost, com.google.gwt.user.client.ui.IsWidget

public class FormPanel
extends ContentPanel
implements com.google.gwt.user.client.ui.impl.FormPanelImplHost

A panel for displaying form widgets. By default, FormPanel uses a FormLayout, but this may be overridden when using nested layouts. See FormLayout for more documentation.

FormPanel supports nested layout containers. Fields should only be added to layout containers with a form layout. The form panel settings only apply to the panel's direct children.

Events:
BeforeSubmit : FormEvent(this)
Fires before the form is submitted. Only applies when using HTML submits. Listeners can cancel the action by calling BaseEvent.setCancelled(boolean).
Submit : FormEvent(this, resultHtml)
Fires after the form has been submitted. Only applies when using HTML submits.
Inherited Events:
ContentPanel BeforeExpand
ContentPanel Expand
ContentPanel BeforeCollapse
ContentPanel Collapse
ContentPanel BeforeClose
ContentPanel Close
LayoutContainer AfterLayout
ScrollContainer Scroll
Container BeforeAdd
Container Add
Container BeforeRemove
Container Remove
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
static class FormPanel.Encoding
          Form encoding enumeration.
static class FormPanel.LabelAlign
          Label alignment enumeration.
static class FormPanel.Method
          Form method enumeration.
 
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.extjs.gxt.ui.client.widget.ContentPanel
bbarStyle, bodStyle, body, bwrap, bwrapStyle, collapseStyle, fbar, footerStyle, frame, head, headerStyle, headerTextStyle, tbarStyle
 
Fields inherited from class com.extjs.gxt.ui.client.widget.Container
attachChildren, enableLayout, layoutExecuted, layoutNeeded, layoutOnAttach, layoutOnChange
 
Fields inherited from class com.extjs.gxt.ui.client.widget.BoxComponent
adjustSize, cacheSizes, ensureVisibilityOnSizing, height, lastSize, layer, shim, width
 
Fields inherited from class com.extjs.gxt.ui.client.widget.Component
afterRender, attachables, baseStyle, disabled, disabledStyle, disableTextSelection, dummy, focusable, hidden, mask, maskMessage, maskMessageStyleName, monitorWindowResize, rendered, resizeHandler, setElementRender, stateId, swallowEvents, toolTip, windowResizeDelay, windowResizeTask
 
Fields inherited from class com.google.gwt.user.client.ui.UIObject
DEBUG_ID_PREFIX
 
Constructor Summary
FormPanel()
          Creates a new form panel.
 
Method Summary
protected  Size adjustBodySize()
           
 void clear()
          Clears all values from all fields.
 void clearDirtyFields()
          Resets the dirty state for all fields by setting the original value to be equal to the current value.
 java.lang.String getAction()
          Returns the form's action.
 FormPanel.Encoding getEncoding()
          Returns the encoding.
 java.util.List<Field<?>> getFields()
          Returns all of the panel's child fields.
 int getFieldWidth()
          Returns the field width.
 boolean getHideLabels()
          Returns true if labels are being hidden.
 FormPanel.LabelAlign getLabelAlign()
          Returns the label alignment.
 java.lang.String getLabelSeparator()
          Returns the label separator.
 int getLabelWidth()
          Returns the default width.
 El getLayoutTarget()
          Override this method to specify the element to be used by the layout as the container.
 FormPanel.Method getMethod()
          Returns the form's method.
 int getPadding()
          Returns the panel's padding.
 java.lang.String getTarget()
          Gets the form's "target".
 boolean isDirty()
          Returns true if any of the form's fields are dirty.
 boolean isValid()
          Returns true if the form is invalid.
 boolean isValid(boolean preventMark)
          Returns the form's valid state by querying all child fields.
protected  void onAttach()
           
protected  void onDetach()
           
 boolean onFormSubmit()
           
 void onFrameLoad()
           
protected  void onRender(com.google.gwt.user.client.Element target, int index)
          Subclasses must override and ensure setElement is called for lazy rendered components.
 void reset()
          Resets all field values.
 void setAction(java.lang.String url)
          Sets the action of the form.
 void setEncoding(FormPanel.Encoding encoding)
          Sets the encoding used for submitting this form.
 void setFieldWidth(int fieldWidth)
          Sets the default field width (defaults to 210).
 void setHideLabels(boolean hideLabels)
          True to hide field labels by default (defaults to false).
 void setLabelAlign(FormPanel.LabelAlign align)
          Sets the label alignment.
 void setLabelSeparator(java.lang.String labelSeparator)
          Sets the label separator (defaults to ':').
 void setLabelWidth(int labelWidth)
          Sets the default label width.
 void setMethod(FormPanel.Method method)
          Specifies if the form will be submitted using an HTTP Post or Get request (defaults to GET).
 void setPadding(int padding)
          Sets the padding to be applied to the FormPanel body (defaults to 10).
 void setReadOnly(boolean readOnly)
          Sets all of the panel's fields read only state.
 void submit()
          Submits the form.
 
Methods inherited from class com.extjs.gxt.ui.client.widget.ContentPanel
addButton, afterCollapse, afterExpand, collapse, createStyles, doAttachChildren, doDetachChildren, expand, getAnimCollapse, getBody, getBodyBorder, getBodyStyle, getBottomComponent, getButtonAlign, getButtonBar, getCollapseBtn, getCollapsible, getElement, getFrame, getFrameHeight, getFrameSize, getFrameWidth, getHeader, getHeading, getIcon, getInnerHeight, getInnerWidth, getMinButtonWidth, getTitleCollapse, getTitleText, getTopComponent, initTools, isCollapsed, isExpanded, isFooter, isHeaderVisible, isHideCollapseTool, layoutBars, notifyHide, notifyShow, onClick, onCollapse, onComponentEvent, onDisable, onEnable, onExpand, onResize, remove, setAnimCollapse, setBodyBorder, setBodyStyle, setBodyStyleName, setBottomComponent, setButtonAlign, setCollapsible, setExpanded, setFooter, setFrame, setHeaderVisible, setHeading, setHideCollapseTool, setIcon, setIconStyle, setInsetBorder, setMinButtonWidth, setTitleCollapse, setTopComponent, setUrl
 
Methods inherited from class com.extjs.gxt.ui.client.widget.LayoutContainer
add, add, addText, findComponent, getLayout, getWindowResizeDelay, insert, insert, isLayoutOnChange, isMonitorWindowResize, layout, layout, onBlur, onFocus, remove, removeAll, setLayout, setLayoutData, setLayoutOnChange, setMonitorWindowResize, setWindowResizeDelay
 
Methods inherited from class com.extjs.gxt.ui.client.widget.ScrollContainer
addScrollListener, afterRender, getHScrollPosition, getScrollMode, getVScrollPosition, removeScrollListener, scrollIntoView, setHScrollPosition, setScrollMode, setVScrollPosition
 
Methods inherited from class com.extjs.gxt.ui.client.widget.Container
add, adjustIndex, adopt, createContainerEvent, disable, doLayout, doLayout, enable, findItem, getItem, getItemByItemId, getItemCount, getItems, getWidget, indexOf, insert, isLayoutNeeded, iterator, onAfterLayout, onBeforeLayoutExcecuted, onInsert, onLayoutExcecuted, onRemove, orphan, remove, removeAll, scrollIntoView, setLayoutNeeded, wrapWidget
 
Methods inherited from class com.extjs.gxt.ui.client.widget.BoxComponent
adjustPosition, adjustSize, createComponentEvent, getBounds, getHeight, getHeight, getPosition, getPositionEl, getResizeEl, getShadow, getShadowOffset, getShadowPosition, getSize, getWidth, getWidth, hideShadow, hideShim, hideUnders, isAutoHeight, isAutoWidth, isDeferHeight, isShim, onHide, onPosition, onShow, onUnload, 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
addAttachable, addListener, addPlugin, addStyleName, addStyleOnOver, addWidgetListener, applyState, assertAfterRender, assertPreRender, beforeRender, blur, clearState, createObservable, disableContextMenu, disableEvents, disableTextSelection, el, enableEvents, fireEvent, fireEvent, fireEvent, fly, focus, frame, getAriaSupport, getBaseStyle, getBorders, getContextMenu, getData, getElement, getFocusEl, getFocusSupport, getHideMode, getId, getItemId, getListeners, getModel, getObservable, getPlugins, getState, getStateId, getTabIndex, getTitle, getToolTip, hasListeners, hasListeners, hide, hideToolTip, initState, isDisabledEvents, isDisableTextSelection, isEnabled, isMasked, isRendered, isStateful, isVisible, isVisible, mask, mask, mask, onBrowserEvent, onDetachHelper, onEnsureDebugId, onHideContextMenu, onLoad, onRightClick, onShowContextMenu, onWindowResize, previewEvent, recalculate, removeAllListeners, removeAttachagle, removeFromParent, removeListener, removeStyleName, removeStyleOnOver, removeSwallow, removeToolTip, removeWidgetListener, render, render, repaint, saveState, setAriaRole, setAriaState, setAriaSupport, setBorders, setContextMenu, setData, setEl, setElement, setElement, setEnabled, setFiresEvents, setHideMode, setId, setIntStyleAttribute, setItemId, setModel, setParent, setStateful, setStateId, setStyleAttribute, setStyleName, setTabIndex, setTitle, setToolTip, setToolTip, setVisible, setZIndex, show, sinkEvents, swallowEvent, swallowEvent, toString, unframe, unmask
 
Methods inherited from class com.google.gwt.user.client.ui.Widget
addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, fireEvent, getHandlerCount, getLayoutData, getParent, isAttached, isOrWasAttached, setLayoutData
 
Methods inherited from class com.google.gwt.user.client.ui.UIObject
addStyleDependentName, ensureDebugId, ensureDebugId, ensureDebugId, getAbsoluteLeft, getAbsoluteTop, getOffsetHeight, getOffsetWidth, getStyleElement, getStyleName, getStyleName, getStylePrimaryName, getStylePrimaryName, isVisible, removeStyleDependentName, setElement, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setVisible, sinkBitlessEvent, unsinkEvents
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FormPanel

public FormPanel()
Creates a new form panel.

Method Detail

clear

public void clear()
Clears all values from all fields.


clearDirtyFields

public void clearDirtyFields()
Resets the dirty state for all fields by setting the original value to be equal to the current value.


reset

public void reset()
Resets all field values.


getAction

public java.lang.String getAction()
Returns the form's action.

Returns:
the action url

getEncoding

public FormPanel.Encoding getEncoding()
Returns the encoding.

Returns:
the encoding

getFields

public java.util.List<Field<?>> getFields()
Returns all of the panel's child fields. Fields in nested containers are included in the returned list.

Returns:
the fields

getFieldWidth

public int getFieldWidth()
Returns the field width.

Returns:
the field width

getHideLabels

public boolean getHideLabels()
Returns true if labels are being hidden.

Returns:
the hide label state

getLabelAlign

public FormPanel.LabelAlign getLabelAlign()
Returns the label alignment.

Returns:
the label alignment

getLabelSeparator

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

Returns:
the label separator

getLabelWidth

public int getLabelWidth()
Returns the default width.

Returns:
the label width

getLayoutTarget

public El getLayoutTarget()
Description copied from class: LayoutContainer
Override this method to specify the element to be used by the layout as the container. Allows the container to be decorated.

Overrides:
getLayoutTarget in class ContentPanel
Returns:
the element to be used as the panel's container

getMethod

public FormPanel.Method getMethod()
Returns the form's method. Only applies when using standard HTML form submits.

Returns:
the method the method

getPadding

public int getPadding()
Returns the panel's padding.

Returns:
the padding

getTarget

public java.lang.String getTarget()
Gets the form's "target".

Returns:
the form's target.

isDirty

public boolean isDirty()
Returns true if any of the form's fields are dirty.

Returns:
true for dirty

isValid

public boolean isValid()
Returns true if the form is invalid.

Returns:
true if all fields are valid

isValid

public boolean isValid(boolean preventMark)
Returns the form's valid state by querying all child fields.

Parameters:
preventMark - true for silent validation (no invalid event and field is not marked invalid)
Returns:
true if all fields are valid

onFormSubmit

public boolean onFormSubmit()
Specified by:
onFormSubmit in interface com.google.gwt.user.client.ui.impl.FormPanelImplHost

onFrameLoad

public void onFrameLoad()
Specified by:
onFrameLoad in interface com.google.gwt.user.client.ui.impl.FormPanelImplHost

setAction

public void setAction(java.lang.String url)
Sets the action of the form.

Parameters:
url - the action

setEncoding

public void setEncoding(FormPanel.Encoding encoding)
Sets the encoding used for submitting this form.

Parameters:
encoding - the encoding

setFieldWidth

public void setFieldWidth(int fieldWidth)
Sets the default field width (defaults to 210).

Parameters:
fieldWidth - the field width

setHideLabels

public void setHideLabels(boolean hideLabels)
True to hide field labels by default (defaults to false).

Parameters:
hideLabels - true to hide labels

setLabelAlign

public void setLabelAlign(FormPanel.LabelAlign align)
Sets the label alignment.

Parameters:
align - the alignment

setLabelSeparator

public void setLabelSeparator(java.lang.String labelSeparator)
Sets the label separator (defaults to ':').

Parameters:
labelSeparator - the label separator

setLabelWidth

public void setLabelWidth(int labelWidth)
Sets the default label width.

Parameters:
labelWidth - the label width

setMethod

public void setMethod(FormPanel.Method method)
Specifies if the form will be submitted using an HTTP Post or Get request (defaults to GET).

Parameters:
method - the method

setPadding

public void setPadding(int padding)
Sets the padding to be applied to the FormPanel body (defaults to 10).

Parameters:
padding - the padding

setReadOnly

public void setReadOnly(boolean readOnly)
Sets all of the panel's fields read only state.

Parameters:
readOnly - true for read only

submit

public void submit()
Submits the form.


adjustBodySize

protected Size adjustBodySize()
Overrides:
adjustBodySize in class ContentPanel

onAttach

protected void onAttach()
Overrides:
onAttach in class Container<Component>

onDetach

protected void onDetach()
Overrides:
onDetach in class Component

onRender

protected void onRender(com.google.gwt.user.client.Element target,
                        int index)
Description copied from class: Component
Subclasses must override and ensure setElement is called for lazy rendered components.

Overrides:
onRender in class ContentPanel
Parameters:
target - the target element
index - the insert location