org.jbpm.model.formapi.client.form
Class FBFormItem

java.lang.Object
  extended by com.google.gwt.user.client.ui.UIObject
      extended by com.google.gwt.user.client.ui.Widget
          extended by com.google.gwt.user.client.ui.Panel
              extended by com.google.gwt.user.client.ui.SimplePanel
                  extended by com.google.gwt.user.client.ui.FocusPanel
                      extended by org.jbpm.model.formapi.client.form.FBFormItem
All Implemented Interfaces:
com.google.gwt.event.dom.client.HasAllDragAndDropHandlers, com.google.gwt.event.dom.client.HasAllFocusHandlers, com.google.gwt.event.dom.client.HasAllGestureHandlers, com.google.gwt.event.dom.client.HasAllKeyHandlers, com.google.gwt.event.dom.client.HasAllMouseHandlers, com.google.gwt.event.dom.client.HasAllTouchHandlers, com.google.gwt.event.dom.client.HasBlurHandlers, com.google.gwt.event.dom.client.HasClickHandlers, com.google.gwt.event.dom.client.HasDoubleClickHandlers, com.google.gwt.event.dom.client.HasDragEndHandlers, com.google.gwt.event.dom.client.HasDragEnterHandlers, com.google.gwt.event.dom.client.HasDragHandlers, com.google.gwt.event.dom.client.HasDragLeaveHandlers, com.google.gwt.event.dom.client.HasDragOverHandlers, com.google.gwt.event.dom.client.HasDragStartHandlers, com.google.gwt.event.dom.client.HasDropHandlers, com.google.gwt.event.dom.client.HasFocusHandlers, com.google.gwt.event.dom.client.HasGestureChangeHandlers, com.google.gwt.event.dom.client.HasGestureEndHandlers, com.google.gwt.event.dom.client.HasGestureStartHandlers, com.google.gwt.event.dom.client.HasKeyDownHandlers, com.google.gwt.event.dom.client.HasKeyPressHandlers, com.google.gwt.event.dom.client.HasKeyUpHandlers, com.google.gwt.event.dom.client.HasMouseDownHandlers, com.google.gwt.event.dom.client.HasMouseMoveHandlers, com.google.gwt.event.dom.client.HasMouseOutHandlers, com.google.gwt.event.dom.client.HasMouseOverHandlers, com.google.gwt.event.dom.client.HasMouseUpHandlers, com.google.gwt.event.dom.client.HasMouseWheelHandlers, com.google.gwt.event.dom.client.HasTouchCancelHandlers, com.google.gwt.event.dom.client.HasTouchEndHandlers, com.google.gwt.event.dom.client.HasTouchMoveHandlers, com.google.gwt.event.dom.client.HasTouchStartHandlers, 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.AcceptsOneWidget, com.google.gwt.user.client.ui.Focusable, com.google.gwt.user.client.ui.HasFocus, com.google.gwt.user.client.ui.HasOneWidget, com.google.gwt.user.client.ui.HasVisibility, com.google.gwt.user.client.ui.HasWidgets, com.google.gwt.user.client.ui.HasWidgets.ForIsWidget, com.google.gwt.user.client.ui.IsWidget, com.google.gwt.user.client.ui.SourcesClickEvents, com.google.gwt.user.client.ui.SourcesFocusEvents, com.google.gwt.user.client.ui.SourcesKeyboardEvents, com.google.gwt.user.client.ui.SourcesMouseEvents, com.google.gwt.user.client.ui.SourcesMouseWheelEvents, Iterable<com.google.gwt.user.client.ui.Widget>
Direct Known Subclasses:
AudioFormItem, ButtonFormItem, CalendarFormItem, CanvasFormItem, CheckBoxFormItem, ClientScriptFormItem, CompleteButtonFormItem, FileInputFormItem, HeaderFormItem, HiddenFormItem, HTMLFormItem, ImageFormItem, LabelFormItem, LayoutFormItem, LineGraphFormItem, NumberFieldFormItem, OptionsFormItem, PasswordFieldFormItem, RadioButtonFormItem, RangeFieldFormItem, RichTextEditorFormItem, ServerTransformationFormItem, TextAreaFormItem, TextFieldFormItem, UploadWithProgressBarFormItem, VideoFormItem

public abstract class FBFormItem
extends com.google.gwt.user.client.ui.FocusPanel

Base class for UI components. Contains most of the edition definitions: right click functionality, inplace editor invocation, desired positioning, width, height, validations, input association and output association.


Nested Class Summary
 
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
 
Nested classes/interfaces inherited from interface com.google.gwt.user.client.ui.HasWidgets
com.google.gwt.user.client.ui.HasWidgets.ForIsWidget
 
Field Summary
 
Fields inherited from class com.google.gwt.user.client.ui.UIObject
DEBUG_ID_PREFIX
 
Constructor Summary
FBFormItem(List<FBFormEffect> formEffects)
           
 
Method Summary
 void addEffect(FBFormEffect effect)
           
abstract  com.google.gwt.user.client.ui.Widget cloneDisplay(Map<String,Object> formData)
          Similar to cloneItem(), but only clones the underlying UI GWT component.
abstract  FBFormItem cloneItem()
          This methods is similar to Object.clone(), but returns a proper type and forces implementation
protected
<T extends FBFormItem>
T
cloneItem(T clone)
           
 FBInplaceEditor createInplaceEditor()
          If you wish that on clicking your UI component, it becomes replaced by a custom editor, this is where you must create it
static FBFormItem createItem(FormItemRepresentation rep)
           
protected  Boolean extractBoolean(Object obj)
           
protected  Double extractDouble(Object obj)
           
protected  Integer extractInt(Object obj)
           
protected  String extractString(Object obj)
           
 void fireSelectionEvent(FormItemSelectionEvent event)
           
 int getDesiredX()
           
 int getDesiredY()
           
 Map<String,FBScript> getEventActions()
           
 ExternalData getExternal()
           
 List<FBFormEffect> getFormEffects()
           
abstract  Map<String,Object> getFormItemPropertiesMap()
          This method must be defined to tell outside default editors what properties this UI component has.
 String getHeight()
           
 InputData getInput()
           
protected  Object getInputValue(Map<String,Object> data)
           
 OutputData getOutput()
           
abstract  FormItemRepresentation getRepresentation()
          This method is used to create a POJO representation of the UI component that any java service can understand.
protected
<T extends FormItemRepresentation>
T
getRepresentation(T rep)
           
 List<FBValidationItem> getValidations()
           
 String getWidth()
           
 boolean hasEffectOfType(Class<? extends FBFormEffect> effectClass)
           
 boolean isAlreadyEditing()
           
 void onBrowserEvent(com.google.gwt.user.client.Event event)
           
 void populate(FormItemRepresentation rep)
          This method must be overriden by each FBFormItem subclass to repopulate its properties from an outside POJO representation.
protected  void populateActions(com.google.gwt.user.client.Element element)
           
 void removeEffect(FBFormEffect effect)
           
 boolean removeEffectOfType(Class<? extends FBFormEffect> effectClass)
           
 void reset()
           
abstract  void saveValues(Map<String,Object> asPropertiesMap)
          This method must be defined so that outside default editor can tell this UI component the new value of its properties.
 void setAlreadyEditing(boolean alreadyEditing)
           
 void setDesiredPosition(int desiredX, int desiredY)
           
 void setDesiredX(int desiredX)
           
 void setDesiredY(int desiredY)
           
protected  void setEffects(List<FBFormEffect> effects)
           
 void setEventActions(Map<String,FBScript> eventActions)
           
 void setExternal(ExternalData external)
           
 void setHeight(String height)
           
 void setInput(InputData input)
           
 void setOutput(OutputData output)
           
 void setValidations(List<FBValidationItem> validations)
           
protected  void setWidgetHeight(String widgetHeight)
           
protected  void setWidgetWidth(String widgetWidth)
           
 void setWidth(String width)
           
 
Methods inherited from class com.google.gwt.user.client.ui.FocusPanel
addBlurHandler, addClickHandler, addClickListener, addDoubleClickHandler, addDragEndHandler, addDragEnterHandler, addDragHandler, addDragLeaveHandler, addDragOverHandler, addDragStartHandler, addDropHandler, addFocusHandler, addFocusListener, addGestureChangeHandler, addGestureEndHandler, addGestureStartHandler, addKeyboardListener, addKeyDownHandler, addKeyPressHandler, addKeyUpHandler, addMouseDownHandler, addMouseListener, addMouseMoveHandler, addMouseOutHandler, addMouseOverHandler, addMouseUpHandler, addMouseWheelHandler, addMouseWheelListener, addTouchCancelHandler, addTouchEndHandler, addTouchMoveHandler, addTouchStartHandler, getTabIndex, removeClickListener, removeFocusListener, removeKeyboardListener, removeMouseListener, removeMouseWheelListener, setAccessKey, setFocus, setTabIndex
 
Methods inherited from class com.google.gwt.user.client.ui.SimplePanel
add, getContainerElement, getWidget, iterator, remove, setWidget, setWidget
 
Methods inherited from class com.google.gwt.user.client.ui.Panel
add, adopt, adopt, clear, disown, doAttachChildren, doDetachChildren, orphan, remove
 
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, onAttach, onDetach, onLoad, onUnload, removeFromParent, setLayoutData, sinkEvents
 
Methods inherited from class com.google.gwt.user.client.ui.UIObject
addStyleDependentName, addStyleName, ensureDebugId, ensureDebugId, ensureDebugId, getAbsoluteLeft, getAbsoluteTop, getElement, getOffsetHeight, getOffsetWidth, getStyleElement, getStyleName, getStyleName, getStylePrimaryName, getStylePrimaryName, getTitle, isVisible, isVisible, onEnsureDebugId, removeStyleDependentName, removeStyleName, resolvePotentialElement, setElement, setElement, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setTitle, setVisible, setVisible, sinkBitlessEvent, toString, unsinkEvents
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.google.gwt.event.shared.HasHandlers
fireEvent
 

Constructor Detail

FBFormItem

public FBFormItem(List<FBFormEffect> formEffects)
Method Detail

isAlreadyEditing

public boolean isAlreadyEditing()

setAlreadyEditing

public void setAlreadyEditing(boolean alreadyEditing)

reset

public void reset()

fireSelectionEvent

public final void fireSelectionEvent(FormItemSelectionEvent event)

onBrowserEvent

public void onBrowserEvent(com.google.gwt.user.client.Event event)
Specified by:
onBrowserEvent in interface com.google.gwt.user.client.EventListener
Overrides:
onBrowserEvent in class com.google.gwt.user.client.ui.Widget

addEffect

public void addEffect(FBFormEffect effect)

removeEffect

public void removeEffect(FBFormEffect effect)

extractInt

protected Integer extractInt(Object obj)

extractBoolean

protected Boolean extractBoolean(Object obj)

extractString

protected String extractString(Object obj)

extractDouble

protected Double extractDouble(Object obj)

getFormEffects

public List<FBFormEffect> getFormEffects()

getDesiredX

public int getDesiredX()

setDesiredX

public void setDesiredX(int desiredX)

getDesiredY

public int getDesiredY()

setDesiredY

public void setDesiredY(int desiredY)

setDesiredPosition

public void setDesiredPosition(int desiredX,
                               int desiredY)

getHeight

public String getHeight()

getWidth

public String getWidth()

setWidth

public void setWidth(String width)
Overrides:
setWidth in class com.google.gwt.user.client.ui.UIObject

setHeight

public void setHeight(String height)
Overrides:
setHeight in class com.google.gwt.user.client.ui.UIObject

setInput

public void setInput(InputData input)

setOutput

public void setOutput(OutputData output)

setExternal

public void setExternal(ExternalData external)

getOutput

public OutputData getOutput()

getInput

public InputData getInput()

getExternal

public ExternalData getExternal()

setWidgetHeight

protected void setWidgetHeight(String widgetHeight)

setWidgetWidth

protected void setWidgetWidth(String widgetWidth)

setEffects

protected void setEffects(List<FBFormEffect> effects)

cloneItem

protected <T extends FBFormItem> T cloneItem(T clone)

getRepresentation

protected <T extends FormItemRepresentation> T getRepresentation(T rep)

createItem

public static FBFormItem createItem(FormItemRepresentation rep)
                             throws FormBuilderException
Throws:
FormBuilderException

setValidations

public void setValidations(List<FBValidationItem> validations)

getValidations

public List<FBValidationItem> getValidations()

setEventActions

public void setEventActions(Map<String,FBScript> eventActions)

getEventActions

public Map<String,FBScript> getEventActions()

createInplaceEditor

public FBInplaceEditor createInplaceEditor()
If you wish that on clicking your UI component, it becomes replaced by a custom editor, this is where you must create it

Returns:
A custom subclass of FBInplaceEditor to replace component and be rechanged after lost of focus. Default returns null

getFormItemPropertiesMap

public abstract Map<String,Object> getFormItemPropertiesMap()
This method must be defined to tell outside default editors what properties this UI component has. Outside editors will then provide functionality to edit these properties and invoke saveValues(Map)

Returns:
a map of the properties of this UI component

saveValues

public abstract void saveValues(Map<String,Object> asPropertiesMap)
This method must be defined so that outside default editor can tell this UI component the new value of its properties. It's the entire responsibility of this UI component to repopulate itself from these properties

Parameters:
asPropertiesMap - a map of the proeprties to set on this UI component

getRepresentation

public abstract FormItemRepresentation getRepresentation()
This method is used to create a POJO representation of the UI component that any java service can understand.

Returns:
a POJO representation of this UI component

populate

public void populate(FormItemRepresentation rep)
              throws FormBuilderException
This method must be overriden by each FBFormItem subclass to repopulate its properties from an outside POJO representation.

Parameters:
rep - the POJO representation of this UI component. It's the responsibility of each FBFormItem instance to validate the POJO representation for itself, call the superclass method, and define what and how properties of its UI component should be updated.
Throws:
FormBuilderException - in case of error or invalid content

cloneItem

public abstract FBFormItem cloneItem()
This methods is similar to Object.clone(), but returns a proper type and forces implementation

Returns:
a clone of this very object

cloneDisplay

public abstract com.google.gwt.user.client.ui.Widget cloneDisplay(Map<String,Object> formData)
Similar to cloneItem(), but only clones the underlying UI GWT component.

Returns:

populateActions

protected void populateActions(com.google.gwt.user.client.Element element)

getInputValue

protected Object getInputValue(Map<String,Object> data)

removeEffectOfType

public boolean removeEffectOfType(Class<? extends FBFormEffect> effectClass)

hasEffectOfType

public boolean hasEffectOfType(Class<? extends FBFormEffect> effectClass)


Copyright © 2001-2012 JBoss by Red Hat. All Rights Reserved.