Form Builder NG Model 6.0.0-SNAPSHOT

org.jbpm.form.builder.ng.model.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.form.builder.ng.model.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, 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(FormBuilderDTO dto)
           
protected  Boolean extractBoolean(Object obj)
           
protected  Double extractDouble(Object obj)
           
protected  Integer extractInt(Object obj)
           
protected  String extractString(Object obj)
           
 void fireSelectionEvent(FormItemSelectionEvent event)
           
 EditionContext getContext()
           
 int getDesiredX()
           
 int getDesiredY()
           
 Map<String,FBScript> getEventActions()
           
 Map<String,Object> 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()
           
 Map<String,Object> getInput()
           
protected  Object getInputValue(Map<String,Object> data)
           
 Map<String,Object> getOutput()
           
 FormBuilderDTO getRepresentation()
           
 List<FBValidationItem> getValidations()
           
 String getWidth()
           
 boolean hasEffectOfType(Class<? extends FBFormEffect> effectClass)
           
 boolean isAlreadyEditing()
           
 void onBrowserEvent(com.google.gwt.user.client.Event event)
           
 void populate(FormBuilderDTO dto)
          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()
           
 void save(EditionContext context)
           
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(Map<String,Object> external)
           
 void setHeight(String height)
           
 void setInput(Map<String,Object> input)
           
 void setItemSelectionHandler(FormItemSelectionHandler itemSelectionHandler)
           
 void setOutput(Map<String,Object> 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(Map<String,Object> input)

setOutput

public void setOutput(Map<String,Object> output)

setExternal

public void setExternal(Map<String,Object> external)

getOutput

public Map<String,Object> getOutput()

getInput

public Map<String,Object> getInput()

getExternal

public Map<String,Object> getExternal()

setWidgetHeight

protected void setWidgetHeight(String widgetHeight)

setWidgetWidth

protected void setWidgetWidth(String widgetWidth)

setEffects

protected void setEffects(List<FBFormEffect> effects)

setItemSelectionHandler

public void setItemSelectionHandler(FormItemSelectionHandler itemSelectionHandler)

cloneItem

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

getRepresentation

public FormBuilderDTO getRepresentation()

createItem

public static FBFormItem createItem(FormBuilderDTO dto)
                             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

getContext

public EditionContext getContext()

save

public void save(EditionContext context)

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

populate

public void populate(FormBuilderDTO dto)
              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)

Form Builder NG Model 6.0.0-SNAPSHOT

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