public class CanvasItem extends FormItem implements HasCanEditChangedHandlers, HasReadOnlyDisplayChangedHandlers, HasShowValueHandlers
CanvasItem is shouldSaveValue:false by default, meaning that no
value from the CanvasItem will be present in DynamicForm.getValues() and no value will be saved when DynamicForm.saveData() is called. This is appropriate if the Canvas does not participate in editing a value of the
form and is embedded in the form for layout or UI purposes only (e.g. ButtonItem, SectionItem). Note
that some built-in CanvasItem types override the shouldSaveValue default to true (e.g. MultiComboBoxItem, RichTextItem).
If you set shouldSaveValue:true, a showValue event will be raised to provide a
value that your item should display. Handle this event by calling methods on the Canvas you've created to cause the
value to be displayed.
The showValue
event will be triggered in various situations where the form receives data, including a call to DynamicForm.setValues(), DynamicForm.editRecord(), or if DynamicForm.fetchData() is called and a Record is returned.
Bear in mind that the showValue event can be called when the form and your item have not yet been drawn; in
this case, store the value for later display.
To provide a value to the form, call storeValue() whenever the user changes the value in your
Canvas. Generally, if storeValue() is called then shouldSaveValue should be overridden to true.
Note that the form will not call getValue() in order to discover your item's value, so there is no purpose in
overriding this method; instead, call storeValue() to proactively inform the form about changes to the value. This
approach is necessary in order to enable change events.
If you cannot easily detect changes to values in your
Canvas, a workaround is to call storeValue right before the form saves.
FormItem.CustomStateGetter, FormItem.StateCustomizerconfigOnly, scClassName, warnOnEditorTypeConversion, warnOnEditorTypeConversionDefaultidfactoryCreated, factoryProperties| Constructor and Description |
|---|
CanvasItem() |
CanvasItem(com.google.gwt.core.client.JavaScriptObject jsObj) |
CanvasItem(java.lang.String name) |
CanvasItem(java.lang.String name,
java.lang.String title) |
| Modifier and Type | Method and Description |
|---|---|
com.google.gwt.event.shared.HandlerRegistration |
addCanEditChangedHandler(CanEditChangedHandler handler)
Add a canEditChanged handler.
|
com.google.gwt.event.shared.HandlerRegistration |
addReadOnlyDisplayChangedHandler(ReadOnlyDisplayChangedHandler handler)
Add a readOnlyDisplayChanged handler.
|
com.google.gwt.event.shared.HandlerRegistration |
addShowValueHandler(ShowValueHandler handler)
Add a showValue handler.
|
static void |
changeAutoChildDefaults(java.lang.String autoChildName,
Canvas defaults)
Changes the defaults for Canvas AutoChildren named
autoChildName. |
static void |
changeAutoChildDefaults(java.lang.String autoChildName,
FormItem defaults)
Changes the defaults for FormItem AutoChildren named
autoChildName. |
static void |
changePickerIconDefaults(FormItemIcon defaults) |
protected Canvas |
createCanvas()
This method is called to dynamically create a canvas for this CanvasItem.
|
java.lang.Boolean |
getApplyPromptToCanvas()
If
FormItem.prompt is specified for this item, should
the prompt be applied to the canvas for this item? |
java.lang.Boolean |
getAutoDestroy()
Should this item's
canvas be automatically
destroyed when the item is destroyed? Form items are destroyed automatically when a call to DynamicForm.setItems() removes them from their parent form, or if
their parent form is destroyed. |
Canvas |
getCanvas()
The canvas that will be displayed inside this item.
|
java.lang.Boolean |
getEditCriteriaInInnerForm()
Flag to disable the criteria editing overrides described in
setCriterionGetter() whereby if this item
contains a DynamicForm as its canvas, it will be used to edit nested AdvancedCriteria automatically. |
int |
getHeight()
Height of the Canvas.
|
java.lang.String |
getHeightAsString()
Height of the Canvas.
|
java.lang.Integer |
getMaxHeight()
Maximum valid height for this CanvasItem in pixels.
|
java.lang.Integer |
getMinHeight()
Minimum valid height for this CanvasItem in pixels.
|
java.lang.Boolean |
getMultiple()
Whether this CanvasItem is intended to hold multiple values.
|
static CanvasItem |
getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj) |
Overflow |
getOverflow()
CanvasItems support specifying overflow for the Canvas directly on the item.
|
java.lang.String |
getPrompt()
This text is shown as a tooltip prompt when the cursor hovers over this item.
|
java.lang.Boolean |
getShouldSaveValue()
Should this item's value be saved in the form's values and hence returned from
DynamicForm.getValues()? |
java.lang.Boolean |
hasAdvancedCriteria()
Overridden to return true if
canvas is a
dynamicForm. |
java.lang.Boolean |
isFocused()
Does this CanvasItem have keyboard focus.
|
CanvasItem |
setApplyPromptToCanvas(java.lang.Boolean applyPromptToCanvas)
If
FormItem.prompt is specified for this item, should
the prompt be applied to the canvas for this item? |
CanvasItem |
setAutoDestroy(java.lang.Boolean autoDestroy)
Should this item's
canvas be automatically
destroyed when the item is destroyed? Form items are destroyed automatically when a call to DynamicForm.setItems() removes them from their parent form, or if
their parent form is destroyed. |
void |
setCanEditCriterionPredicate(FormItemCanEditCriterionPredicate predicate)
AdvancedCriteria objects may be edited via nested dynamicForms as described in
CanvasItem.setCriterionGetter. |
CanvasItem |
setCanvas(Canvas canvas)
The canvas that will be displayed inside this item.
|
void |
setCriterionGetter(FormItemCriterionGetter getter)
The standard formItem criteria editing APIs have been overridden in the canvasItem class
to simplify the editing of complex
AdvancedCriteria objects using nested
DynamicForms. |
void |
setCriterionSetter(FormItemCriterionSetter setter)
Provide a
setCriterion() implementation to display a Criterion object in this item for editing. |
static void |
setDefaultProperties(CanvasItem canvasItemProperties)
Class level method to set the default properties of this class.
|
CanvasItem |
setEditCriteriaInInnerForm(java.lang.Boolean editCriteriaInInnerForm)
Flag to disable the criteria editing overrides described in
setCriterionGetter() whereby if this item
contains a DynamicForm as its canvas, it will be used to edit nested AdvancedCriteria automatically. |
CanvasItem |
setHeight(int height)
Height of the Canvas.
|
CanvasItem |
setHeight(java.lang.String height)
Height of the Canvas.
|
CanvasItem |
setMaxHeight(java.lang.Integer maxHeight)
Maximum valid height for this CanvasItem in pixels.
|
CanvasItem |
setMinHeight(java.lang.Integer minHeight)
Minimum valid height for this CanvasItem in pixels.
|
CanvasItem |
setMultiple(java.lang.Boolean multiple)
Whether this CanvasItem is intended to hold multiple values.
|
CanvasItem |
setOverflow(Overflow overflow)
CanvasItems support specifying overflow for the Canvas directly on the item.
|
CanvasItem |
setPrompt(java.lang.String prompt)
This text is shown as a tooltip prompt when the cursor hovers over this item.
|
void |
setShouldDisableCanvasCustomizer(ShouldDisableCanvasCustomizer customizer)
Sets the
ShouldDisableCanvasCustomizer that is called to determine whether
the canvas should be
disabled when this
CanvasItem is disabled or its
editability changes. |
CanvasItem |
setShouldSaveValue(java.lang.Boolean shouldSaveValue)
Should this item's value be saved in the form's values and hence returned from
DynamicForm.getValues()? |
protected void |
setupCanvasConstructor() |
void |
storeValue(java.lang.Object value)
Store a value for this form item.
|
void |
storeValue(Record value)
Store a value for this form item.
|
void |
storeValue(RecordList value)
Store a value for this form item.
|
void |
updateCanvasTabPosition()
This method will place an entry for the
canvas
under this item in the TabIndexManager. |
_getValue, addBlurHandler, addChangedHandler, addChangeHandler, addClickHandler, addDoubleClickHandler, addEditorEnterHandler, addEditorExitHandler, addFocusHandler, addIcon, addIcon, addIconClickHandler, addIconKeyPressHandler, addItemHoverHandler, addKeyDownHandler, addKeyPressHandler, addKeyUpHandler, addPendingStatusChangedHandler, addPickerIconClickHandler, addShowContextMenuHandler, addTitleClickHandler, addTitleDoubleClickHandler, addTitleHoverHandler, addValueHoverHandler, addValueIconClickHandler, applyFormula, asSGWTComponent, blurItem, canEditCriterion, clearErrors, clearValue, disable, disableIcon, enable, enableIcon, error, error, errorIfNotCreated, focusAfterItem, focusInItem, getAccessKey, getAlign, getAllowExpressions, getAlwaysFetchMissingValues, getAlwaysShowControlBox, getApplyAlignToText, getApplyHeightToTextBox, getAriaRole, getAttribute, getAttributeAsBoolean, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsFloat, getAttributeAsInt, getAttributeAsJavaScriptObject, getAttributeAsObject, getAttributeAsString, getAutoComplete, getAutoCompleteKeywords, getBrowserInputType, getBrowserSpellCheck, getCanEdit, getCanEditOpaqueValues, getCanFocus, getCanSelectText, getCanTabToIcons, getCanvasAutoChild, getCellHeight, getCellStyle, getChangeOnKeypress, getClassName, getClipStaticValue, getClipTitle, getConfig, getContainerWidget, getControlStyle, getCriteriaField, getCriterion, getCriterion, getCursorPosition, getCustomState, getDataPath, getDateFormatter, getDecimalPad, getDecimalPrecision, getDefaultIconSrc, getDefaultOperator, getDestroyed, getDisabled, getDisabledHover, getDisableIconsOnReadOnly, getDisplayField, getDisplayFieldName, getDisplayValue, getDisplayValue, getEditorTypeConfig, getEditPendingCSSText, getEditProxyConstructor, getEmptyDisplayValue, getEmptyValueIcon, getEndRow, getErrorIconHeight, getErrorIconSrc, getErrorIconWidth, getErrorMessageWidth, getErrors, getEscapeHTML, getExportFormat, getFetchMissingValues, getFieldName, getFilterLocally, getForeignDisplayField, getForm, getFormat, getFormItemAutoChild, getFormula, getFullDataPath, getGlobalTabIndex, getGridColNum, getGridRowNum, getHidden, getHint, getHintStyle, getHoverAlign, getHoverDelay, getHoverFocusKey, getHoverHeight, getHoverHeightAsString, getHoverOpacity, getHoverPersist, getHoverStyle, getHoverVAlign, getHoverWidth, getHoverWidthAsString, getIcon, getIconHeight, getIconHSpace, getIconPageRect, getIconPrompt, getIconRect, getIcons, getIconTabPosition, getIconVAlign, getIconWidth, getID, getImageURLPrefix, getImageURLSuffix, getImplicitSave, getImplicitSaveOnBlur, getInputFormat, getLeft, getLinearColSpan, getLinearColSpanAsString, getLinearEndRow, getLinearEndRowAsString, getLinearStartRow, getLinearStartRowAsString, getLinearWidth, getLinearWidthAsString, getListGrid, getLoadingDisplayValue, getLocateItemBy, getMinHintWidth, getMultipleValueSeparator, getName, getNullOriginalValueText, getOperator, getOptionCriteria, getOptionDataSource, getOptionDataSourceAsString, getOptionFilterContext, getOptionOperationId, getOptionTextMatchStyle, getOriginalValueMessage, getPageLeft, getPageRect, getPageTop, getPaletteDefaults, getPicker, getPickerIcon, getPickerIcon, getPickerIconHeight, getPickerIconName, getPickerIconPrompt, getPickerIconProperties, getPickerIconSrc, getPickerIconStyle, getPickerIconTabPosition, getPickerIconWidth, getPixelHeight, getPixelWidth, getPrintReadOnlyTextBoxStyle, getPrintTextBoxStyle, getPrintTitleStyle, getReadOnlyCanSelectText, getReadOnlyControlStyle, getReadOnlyDisplay, getReadOnlyHover, getReadOnlyTextBoxStyle, getReadOnlyWhen, getRect, getRedrawOnChange, getRejectInvalidValueOnChange, getRequired, getRequiredMessage, getRequiredWhen, getRowSpan, getSaveOnEnter, getScClassName, getSelectedRecord, getSelectOnClick, getSelectOnFocus, getShowClippedTitleOnHover, getShowClippedValueOnHover, getShowDeletions, getShowDisabled, getShowDisabledIconsOnFocus, getShowDisabledPickerIconOnFocus, getShowErrorIcon, getShowErrorStyle, getShowErrorText, getShowFocused, getShowFocusedErrorState, getShowFocusedIcons, getShowFocusedPickerIcon, getShowHint, getShowIcons, getShowIconsOnFocus, getShowImageAsURL, getShowOldValueInHover, getShowOver, getShowOverIcons, getShowPending, getShowPickerIcon, getShowPickerIconOnFocus, getShowRTL, getShowTitle, getShowValueIconOnly, getStartRow, getStaticHeight, getStopOnError, getStoreDisplayValues, getSupportsCutPasteEvents, getSuppressValueIcon, getSynchronousValidation, getTabIndex, getTextAlign, getTextBoxStyle, getTextFormula, getTimeFormatter, getTitle, getTitleAlign, getTitleColSpan, getTitleOrientation, getTitleStyle, getTitleVAlign, getTooltip, getTop, getType, getUpdateControlOnOver, getUpdatePickerIconOnOver, getUpdateTextBoxOnOver, getUseAdvancedCriteria, getUseDisabledHintStyleForReadOnly, getUseLocalDisplayFieldValue, getValidateOnChange, getValidateOnExit, getValidOperators, getVAlign, getValue, getValueAsFloat, getValueAsInteger, getValueAsLong, getValueAsRecordList, getValueDeselectedCSSText, getValueField, getValueFieldName, getValueIconHeight, getValueIconLeftPadding, getValueIconRightPadding, getValueIconSize, getValueIconWidth, getValueMap, getValueMapAsArray, getVisible, getVisibleHeight, getVisibleTitleWidth, getVisibleWhen, getVisibleWidth, getWarnOnEditorTypeConversion, getWarnOnEditorTypeConversionDefault, getWidth, getWidthAsString, getWrapHintText, getWrapStaticValue, getWrapTitle, handleWarnOnEditorTypeConversion, hasErrors, hide, hideIcon, invalidateDisplayValueCache, isConfigOnly, isCreated, isCutEvent, isDisabled, isDrawn, isInGrid, isPasteEvent, isVisible, linkToInstanceUponCreate, mapDisplayToValue, mapValueToDisplay, mapValueToDisplay, mapValueToDisplay, redraw, redraw, removeIcon, selectedRecordChanged, setAccessKey, setAlign, setAllowExpressions, setAlwaysFetchMissingValues, setAlwaysShowControlBox, setApplyAlignToText, setApplyHeightToTextBox, setAriaRole, setAriaState, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAutoChildConstructor, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildVisibility, setAutoComplete, setAutoCompleteKeywords, setBrowserInputType, setBrowserSpellCheck, setCanEdit, setCanEditOpaqueValues, setCanFocus, setCanSelectText, setCanTabToIcons, setCellHeight, setCellStyle, setChangeOnKeypress, setClipStaticValue, setClipTitle, setColSpan, setColSpan, setConfigOnly, setControlStyle, setCriteriaField, setCriterion, setCustomStateGetter, setDataPath, setDateFormatter, setDecimalPad, setDecimalPrecision, setDefaultIconSrc, setDefaultOperator, setDefaultProperties, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDisabled, setDisabledHover, setDisableIconsOnReadOnly, setDisplayField, setDisplayFormat, setDisplayFormat, setEditorProperties, setEditorType, setEditorType, setEditorType, setEditorValueFormatter, setEditorValueParser, setEditPendingCSSText, setEditProxyConstructor, setEmptyDisplayValue, setEmptyValueIcon, setEndRow, setErrorFormatter, setErrorIconHeight, setErrorIconSrc, setErrorIconWidth, setErrorMessageWidth, setErrorOrientation, setErrors, setErrors, setEscapeHTML, setExportFormat, setFetchMissingValues, setFilterLocally, setForeignDisplayField, setFormat, setFormula, setGlobalTabIndex, setHidden, setHint, setHintStyle, setHoverAlign, setHoverDelay, setHoverFocusKey, setHoverHeight, setHoverHeight, setHoverOpacity, setHoverPersist, setHoverStyle, setHoverVAlign, setHoverWidth, setHoverWidth, setIconDisabled, setIconHeight, setIconHSpace, setIconPrompt, setIcons, setIconShowOnFocus, setIconVAlign, setIconWidth, setID, setImageURLPrefix, setImageURLSuffix, setImplicitSave, setImplicitSaveOnBlur, setInitHandler, setInputFormat, setInputTransformer, setItemHoverFormatter, setItemTitleHoverFormatter, setItemValueHoverFormatter, setJavaScriptObject, setLeft, setLinearColSpan, setLinearColSpan, setLinearEndRow, setLinearEndRow, setLinearStartRow, setLinearStartRow, setLinearWidth, setLinearWidth, setLoadingDisplayValue, setLocateItemBy, setMinHintWidth, setMultipleValueSeparator, setName, setNullOriginalValueText, setNullProperty, setOperator, setOptionCriteria, setOptionDataSource, setOptionDataSource, setOptionFilterContext, setOptionOperationId, setOptionTextMatchStyle, setOriginalValueMessage, setPickerIconHeight, setPickerIconName, setPickerIconPrompt, setPickerIconProperties, setPickerIconSrc, setPickerIconStyle, setPickerIconWidth, setPrintReadOnlyTextBoxStyle, setPrintTextBoxStyle, setPrintTitleStyle, setProperty, setProperty, setProperty, setProperty, setProperty, setReadOnlyCanSelectText, setReadOnlyControlStyle, setReadOnlyDisplay, setReadOnlyHover, setReadOnlyTextBoxStyle, setReadOnlyWhen, setRedrawOnChange, setRejectInvalidValueOnChange, setRequired, setRequiredMessage, setRequiredWhen, setRowSpan, setSaveOnEnter, setScClassName, setSelectOnClick, setSelectOnFocus, setShowClippedTitleOnHover, setShowClippedValueOnHover, setShowDeletions, setShowDisabled, setShowDisabledIconsOnFocus, setShowDisabledPickerIconOnFocus, setShowErrorIcon, setShowErrorStyle, setShowErrorText, setShowFocused, setShowFocusedErrorState, setShowFocusedIcons, setShowFocusedPickerIcon, setShowHint, setShowIcons, setShowIconsOnFocus, setShowIfCondition, setShowImageAsURL, setShowOldValueInHover, setShowOver, setShowOverIcons, setShowPending, setShowPickerIcon, setShowPickerIconOnFocus, setShowRTL, setShowTitle, setShowValueIconOnly, setStartRow, setStateCustomizer, setStaticHeight, setStopOnError, setStoreDisplayValues, setSupportsCutPasteEvents, setSuppressValueIcon, setSynchronousValidation, setTabIndex, setTextAlign, setTextBoxStyle, setTextFormula, setTimeFormatter, setTitle, setTitleAlign, setTitleColSpan, setTitleHoverFormatter, setTitleOrientation, setTitleStyle, setTitleVAlign, setTooltip, setTop, setType, setUpdateControlOnOver, setUpdatePickerIconOnOver, setUpdateTextBoxOnOver, setUseAdvancedCriteria, setUseDisabledHintStyleForReadOnly, setUseLocalDisplayFieldValue, setValidateOnChange, setValidateOnExit, setValidators, setValidOperators, setVAlign, setValue, setValue, setValue, setValue, setValue, setValue, setValueDeselectedCSSText, setValueField, setValueFormatter, setValueHoverFormatter, setValueIconHeight, setValueIconLeftPadding, setValueIconMapper, setValueIconRightPadding, setValueIcons, setValueIconSize, setValueIconWidth, setValueMap, setValueMap, setVisible, setVisibleWhen, setWarnOnEditorTypeConversion, setWarnOnEditorTypeConversionDefault, setWidth, setWidth, setWrapHintText, setWrapStaticValue, setWrapTitle, shouldApplyHeightToTextBox, shouldFetchMissingValue, shouldSaveOnEnter, shouldStopKeyPressBubbling, show, showIcon, showPicker, stopHover, storeValue, updateState, validate, valueClippedgetRef, getRef, internalSetIDapplyFactoryProperties, doAddHandler, fireEvent, getAttributeAsDoubleArray, getAttributeAsElement, getAttributeAsIntArray, getAttributeAsLong, getAttributeAsMap, getAttributeAsObject, getAttributeAsRecord, getAttributeAsStringArray, getAttributes, getHandlerCount, isFactoryCreated, setAttribute, setAttribute, setAttribute, setAttributeAsJavaObject, setFactoryCreatedpublic CanvasItem()
public CanvasItem(com.google.gwt.core.client.JavaScriptObject jsObj)
public CanvasItem(java.lang.String name)
public CanvasItem(java.lang.String name,
java.lang.String title)
public static CanvasItem getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)
public static void changeAutoChildDefaults(java.lang.String autoChildName,
Canvas defaults)
autoChildName.autoChildName - name of an AutoChild to customize the defaults for.defaults - Canvas defaults to apply. These defaults override any existing properties
without destroying or wiping out non-overridden properties. For usage tips on this
param, see SGWTProperties.AutoChildUsagepublic static void changeAutoChildDefaults(java.lang.String autoChildName,
FormItem defaults)
autoChildName.autoChildName - name of an AutoChild to customize the defaults for.defaults - FormItem defaults to apply. These defaults override any existing properties
without destroying or wiping out non-overridden properties. For usage tips on this
param, see SGWTProperties.AutoChildUsagepublic static void changePickerIconDefaults(FormItemIcon defaults)
public CanvasItem setApplyPromptToCanvas(java.lang.Boolean applyPromptToCanvas)
FormItem.prompt is specified for this item, should
the prompt be applied to the canvas for this item?applyPromptToCanvas - New applyPromptToCanvas value. Default value is trueCanvasItem instance, for chaining setter callspublic java.lang.Boolean getApplyPromptToCanvas()
FormItem.prompt is specified for this item, should
the prompt be applied to the canvas for this item?public CanvasItem setAutoDestroy(java.lang.Boolean autoDestroy)
canvas be automatically
destroyed when the item is destroyed? Form items are destroyed automatically when a call to DynamicForm.setItems() removes them from their parent form, or if
their parent form is destroyed. This property governs whether, when this occurs, the item's canvas should also be
destroyed. This property has no effect for canvases automatically
created via the "autoChild" pattern, using canvasProperties, canvasDefaults etc. CanvasItems which create their
canvas in this way will always destroy the canvas when the item is destroyed or on an explicit setCanvas() call, regardless of this property's value.
Setting this property to true is typically appropriate for cases where a custom CanvasItem automatically creates its
canvas as part of its initialization flow, and the canvas will not be re-used outside the item.
Note that once a
canvas has been destroyed it can not be re-used elsewhere within an application.
Note : This is an advanced setting
autoDestroy - New autoDestroy value. Default value is falseCanvasItem instance, for chaining setter callspublic java.lang.Boolean getAutoDestroy()
canvas be automatically
destroyed when the item is destroyed? Form items are destroyed automatically when a call to DynamicForm.setItems() removes them from their parent form, or if
their parent form is destroyed. This property governs whether, when this occurs, the item's canvas should also be
destroyed. This property has no effect for canvases automatically
created via the "autoChild" pattern, using canvasProperties, canvasDefaults etc. CanvasItems which create their
canvas in this way will always destroy the canvas when the item is destroyed or on an explicit setCanvas() call, regardless of this property's value.
Setting this property to true is typically appropriate for cases where a custom CanvasItem automatically creates its
canvas as part of its initialization flow, and the canvas will not be re-used outside the item.
Note that once a
canvas has been destroyed it can not be re-used elsewhere within an application.
public CanvasItem setCanvas(Canvas canvas)
If a canvas hasn't been specified via setCanvas(), the canvas for this item will be auto-created
as configured by the methods setAutoChildProperties() and setAutoChildConstructor().
Note that subclasses of CanvasItem may use a different AutoChild name than
just "canvas". For example, SliderItem uses "slider", and in that case,
you need to use the specific APIs provided by the subclass.
Note that Canvas.canvasItem will be set on the canvas to point back to this
item.
If this method is called after the component has been drawn/initialized:
Setter to update the canvas at runtime
canvas - New canvas to display. Default value is nullCanvasItem instance, for chaining setter callspublic Canvas getCanvas()
If a canvas hasn't been specified via setCanvas(), the canvas for this item will be auto-created
as configured by the methods setAutoChildProperties() and setAutoChildConstructor().
Note that subclasses of CanvasItem may use a different AutoChild name than
just "canvas". For example, SliderItem uses "slider", and in that case,
you need to use the specific APIs provided by the subclass.
Note that Canvas.canvasItem will be set on the canvas to point back to this
item.
This component is an AutoChild named "canvas". For an overview of how to use and
configure AutoChildren, see Using AutoChildren.
public CanvasItem setEditCriteriaInInnerForm(java.lang.Boolean editCriteriaInInnerForm)
setCriterionGetter() whereby if this item
contains a DynamicForm as its canvas, it will be used to edit nested AdvancedCriteria automatically. This flag is required for cases where a canvasItem contains a DynamicForm, but the form is not set up to show inner field values of nested objects, and therefore should not attempt to apply nested advanced criteria directly to the form.
Note : This is an advanced setting
editCriteriaInInnerForm - New editCriteriaInInnerForm value. Default value is trueCanvasItem instance, for chaining setter callspublic java.lang.Boolean getEditCriteriaInInnerForm()
setCriterionGetter() whereby if this item
contains a DynamicForm as its canvas, it will be used to edit nested AdvancedCriteria automatically. This flag is required for cases where a canvasItem contains a DynamicForm, but the form is not set up to show inner field values of nested objects, and therefore should not attempt to apply nested advanced criteria directly to the form.
public CanvasItem setHeight(int height)
FormLayout overview for details. Height may also be explicitly specified on the canvas. In this any canvasItem.height will be
ignored in favor of the value applied to the canvas directly. In either case, percentage values will be resolved using
standard formItem sizing rules as described in FormLayout
setHeight in class FormItemheight - New height value. Default value is nullCanvasItem instance, for chaining setter callsFormItem.setWidth(int),
DynamicForm.setItemLayout(com.smartgwt.client.types.FormLayoutType),
FormLayout overview and related methods,
Filling Examplepublic int getHeight()
FormLayout overview for details. Height may also be explicitly specified on the canvas. In this any canvasItem.height will be
ignored in favor of the value applied to the canvas directly. In either case, percentage values will be resolved using
standard formItem sizing rules as described in FormLayout
Note : This method will return -1 if the underlying SmartClient JavaScript
attribute value cannot be expressed as a(n) int. In that case, other
getters, similarly-named but ending in AsString, AsCanvas,
etc., may be provided.
getHeight in class FormItemFormItem.getWidth(),
DynamicForm.getItemLayout(),
FormLayout overview and related methods,
Filling Examplepublic CanvasItem setHeight(java.lang.String height)
FormLayout overview for details. Height may also be explicitly specified on the canvas. In this any canvasItem.height will be
ignored in favor of the value applied to the canvas directly. In either case, percentage values will be resolved using
standard formItem sizing rules as described in FormLayout
setHeight in class FormItemheight - New height value. Default value is nullCanvasItem instance, for chaining setter callsFormItem.setWidth(int),
DynamicForm.setItemLayout(com.smartgwt.client.types.FormLayoutType),
FormLayout overview and related methods,
Filling Examplepublic java.lang.String getHeightAsString()
FormLayout overview for details. Height may also be explicitly specified on the canvas. In this any canvasItem.height will be
ignored in favor of the value applied to the canvas directly. In either case, percentage values will be resolved using
standard formItem sizing rules as described in FormLayout
getHeightAsString in class FormItemFormItem.getWidth(),
DynamicForm.getItemLayout(),
FormLayout overview and related methods,
Filling Examplepublic CanvasItem setMaxHeight(java.lang.Integer maxHeight)
DynamicForm if the item has a flexible height.maxHeight - New maxHeight value. Default value is nullCanvasItem instance, for chaining setter callspublic java.lang.Integer getMaxHeight()
DynamicForm if the item has a flexible height.public CanvasItem setMinHeight(java.lang.Integer minHeight)
DynamicForm if the item has a flexible height.minHeight - New minHeight value. Default value is nullCanvasItem instance, for chaining setter callspublic java.lang.Integer getMinHeight()
DynamicForm if the item has a flexible height.public CanvasItem setMultiple(java.lang.Boolean multiple)
This attribute can affect the return type of
getValue(). If this CanvasItem is storing multiple values, then the return type of getValue() is
JavaScriptObject (a JavaScript array object) if multiple is null or false. However, if multiple is true,
then the return type is either List or RecordList.
setMultiple in class FormItemmultiple - New multiple value. Default value is falseCanvasItem instance, for chaining setter callsAppearance overview and related methodspublic java.lang.Boolean getMultiple()
This attribute can affect the return type of
getValue(). If this CanvasItem is storing multiple values, then the return type of getValue() is
JavaScriptObject (a JavaScript array object) if multiple is null or false. However, if multiple is true,
then the return type is either List or RecordList.
getMultiple in class FormItemAppearance overview and related methodspublic CanvasItem setOverflow(Overflow overflow)
overflow - New overflow value. Default value is nullCanvasItem instance, for chaining setter callspublic Overflow getOverflow()
public CanvasItem setPrompt(java.lang.String prompt)
When item is read-only a different hover can be shown with FormItem.readOnlyHover. Or, when item is disabled or read-only with readOnlyDisplay:disabled a different hover can be
shown with FormItem.disabledHover.
Note
that when the form is disabled this prompt will not be shown.
If this method is called after the component has been drawn/initialized:
Set the FormItem.prompt for this item. Default implementation will also apply the prompt to canvas if applyPromptToCanvas is true.
setPrompt in class FormItemprompt - new prompt for the item. Default value is nullCanvasItem instance, for chaining setter callsHTMLString,
Basics overview and related methodspublic java.lang.String getPrompt()
When item is read-only a different hover can be shown with FormItem.readOnlyHover. Or, when item is disabled or read-only with readOnlyDisplay:disabled a different hover can be
shown with FormItem.disabledHover.
Note
that when the form is disabled this prompt will not be shown.
getPrompt in class FormItemHTMLString,
Basics overview and related methodspublic CanvasItem setShouldSaveValue(java.lang.Boolean shouldSaveValue)
DynamicForm.getValues()? Note that by default,
shouldSaveValue is false for CanvasItems, meaning that no value from the CanvasItem will be present in
DynamicForm.getValues() and no value for the CanvasItem
will be saved when DynamicForm.saveData() is called. See
the CanvasItem class overview for a discussion of values handling in
CanvasItems.
setShouldSaveValue in class FormItemshouldSaveValue - New shouldSaveValue value. Default value is falseCanvasItem instance, for chaining setter callspublic java.lang.Boolean getShouldSaveValue()
DynamicForm.getValues()? Note that by default,
shouldSaveValue is false for CanvasItems, meaning that no value from the CanvasItem will be present in
DynamicForm.getValues() and no value for the CanvasItem
will be saved when DynamicForm.saveData() is called. See
the CanvasItem class overview for a discussion of values handling in
CanvasItems.
getShouldSaveValue in class FormItempublic com.google.gwt.event.shared.HandlerRegistration addCanEditChangedHandler(CanEditChangedHandler handler)
Notification method called when the canEdit setting
is modified. Developers may make use of this to toggle between an editable and a read-only appearance of the canvas.
The default behavior is:
canvas is a DynamicForm, the form's DynamicForm.canEdit setting is set to canEdit.
CanvasItem.shouldDisableCanvas() is
called to determine if the canvas should be disabled. Standard CanvasItem-based form
items may customize the default behavior. For example, a MultiComboBoxItem will hide its comboForm if the readOnlyDisplay is ReadOnlyDisplayAppearance.READONLY or ReadOnlyDisplayAppearance.STATIC and also disable the buttons when made read-only.
addCanEditChangedHandler in interface HasCanEditChangedHandlershandler - the canEditChanged handlerHandlerRegistration used to remove this handlerpublic java.lang.Boolean hasAdvancedCriteria()
canvas is a
dynamicForm. See setCriterionGetter() for details of editing advanced criteria using nested dynamicForms.hasAdvancedCriteria in class FormItemCriteriaEditing overview and related methodspublic java.lang.Boolean isFocused()
This method will return true if this item's canvas, or any of its descendents, has keyboard focus
public com.google.gwt.event.shared.HandlerRegistration addReadOnlyDisplayChangedHandler(ReadOnlyDisplayChangedHandler handler)
Notification method called when the readOnlyDisplay setting is modified. Developers may make use of this to toggle between an editable and a read-only
appearance of the canvas.
The default behavior
is: when the canvas is a DynamicForm, the form's DynamicForm.readOnlyDisplay setting is set to
appearance.
Standard CanvasItem-based form items may customize the default behavior.
addReadOnlyDisplayChangedHandler in interface HasReadOnlyDisplayChangedHandlershandler - the readOnlyDisplayChanged handlerHandlerRegistration used to remove this handlerpublic com.google.gwt.event.shared.HandlerRegistration addShowValueHandler(ShowValueHandler handler)
This method will be called whenever this FormItem's value is being set via a programmatic call to e.g: DynamicForm.setValues() or FormItem.setValue() and may be overridden by CanvasItems
intended to support displaying data values to update the embedded Canvas to reflect the value passed in. Note that the
first parameter will be a formatted value - while the second parameter will contain the underlying data value for the
item.
addShowValueHandler in interface HasShowValueHandlershandler - the showValue handlerHandlerRegistration used to remove this handlerpublic void updateCanvasTabPosition()
canvas
under this item in the TabIndexManager. This ensures the user can tab into the
canvas (and its descendants) in the expected position within this item's DynamicForm. See also DynamicForm.updateChildTabPositions().
public static void setDefaultProperties(CanvasItem canvasItemProperties)
Note: This method is intended for setting default attributes only and will affect all instances of the underlying class (including those automatically generated in JavaScript). This method should not be used to apply standard EventHandlers or override methods for a class - use a custom subclass instead. Calling this method after instances have been created can result in undefined behavior, since it bypasses any setters and a class instance may have already examined a particular property and not be expecting any changes through this route.
canvasItemProperties - properties that should be used as new defaults when instances of this class are createdSGWTPropertiesprotected void setupCanvasConstructor()
protected Canvas createCanvas()
#setCanvas() directly.public void setShouldDisableCanvasCustomizer(ShouldDisableCanvasCustomizer customizer)
ShouldDisableCanvasCustomizer that is called to determine whether
the canvas should be
disabled when this
CanvasItem is disabled or its
editability changes.
Setting a ShouldDisableCanvasCustomizer is the Smart GWT equivalent
of overriding the CanvasItem.shouldDisableCanvas() method in SmartClient.
customizer - the ShouldDisableCanvasCustomizer to use.public void storeValue(java.lang.Object value)
This method will fire standard FormItem.change
and FormItem.changed handlers, and
store the value passed in such that subsequent calls to FormItem.getValue or DynamicForm.getValue will return the
new value for this item.
For canvasItems that manipulate values and display them in some arbitrary canvas representation developers should call this method when the user interacts with the embedded canvas in a way that modifies the value for the item.
If you cannot easily detect changes to values in your Canvas, a workaround is to
call storeValue right before the form saves.
storeValue in class FormItemvalue - value to save for this itempublic void storeValue(Record value)
FormItem.change and FormItem.changed handlers, and store out the method
passed in such that subsequent calls to FormItem.getValue or DynamicForm.getValue will return the
new value for this item. For canvasItems that manipulate values and display them in some arbitrary canvas representation developers should call this method when the user interacts with the embedded canvas in a way that modifies the value for the item.
If you cannot easily detect changes to values in your Canvas, a workaround is to
call storeValue right before the form saves.
value - value to save for this itempublic void storeValue(RecordList value)
FormItem.change and FormItem.changed handlers, and store out the method
passed in such that subsequent calls to FormItem.getValue or DynamicForm.getValue will return the
new value for this item. For canvasItems that manipulate values and display them in some arbitrary canvas representation developers should call this method when the user interacts with the embedded canvas in a way that modifies the value for the item.
If you cannot easily detect changes to values in your Canvas, a workaround is to
call storeValue right before the form saves.
value - value to save for this itempublic void setCanEditCriterionPredicate(FormItemCanEditCriterionPredicate predicate)
CanvasItem.setCriterionGetter.
The default canEditCriterion() predicate is overridden to return true if this item's canvas is a DynamicForm, where the operator matches the operator of the criterion passed in and
dynamicForm contains items where the registered FormItemCanEditCriterionPredicate's canEditCriterion method returns true for each sub-criterion in the object passed in.
setCanEditCriterionPredicate in class FormItempredicate - the predicate to determine the form items that can edit the criterion in questionFormItem.setCanEditCriterionPredicate,
CriteriaEditing overview and related methodspublic void setCriterionGetter(FormItemCriterionGetter getter)
AdvancedCriteria objects using nested
DynamicForms.
The following pattern is supported without need for further modification:
A complex Advanced criteria object may have nested sub criteria using the "and"
or "or" operators. For example:
AdvancedCriteria criteria = new AdvancedCriteria(OperatorId.AND, new Criterion[] {
new Criterion("field1", OperatorId.ICONTAINS, "value1"),
new AdvancedCriteria(OperatorId.OR, new Criterion[] {
new Criterion("innerField1", OperatorId.EQUALS, "value1"),
new Criterion("innerField2", OperatorId.ICONTAINS, "value2")
})
});
To create a form capable of editing the above criteria without providing a custom
FormItemCriterionGetter et al, you would create a
form with 2 items.
The 'field1' criterion could be edited by a simple form item such as a TextItem.
The nested criteria ('innerField1' and 'innerField2') could be edited by a canvasItem
whose canvas property was set to a DynamicForm showing items capable of editing the 2
inner criteria, and whose operator was specified as "or".
DynamicForm form = new DynamicForm();
DynamicForm innerForm = new DynamicForm();
innerForm.setOperator(OperatorId.OR);
TextItem innerField1 = new TextItem();
innerField1.setOperator(OperatorId.EQUALS);
TextItem innerField2 = new TextItem();
innerForm.setFields(innerField1, innerField2);
TextItem field1 = new TextItem();
CanvasItem nestedItem = new CanvasItem();
nestedItem.setShouldSaveValue(true);
nestedItem.setCanvas(innerForm);
form.setFields(field1, nestedItem);
This form would be able to edit the above advanced criteria object via
DynamicForm.setValuesAsCriteria. Edited values
would be retrieved via
DynamicForm.getValuesAsCriteria.
Note that the canvas item has shouldSaveValue set to true - this is required
to ensure the nested form is actually passed the values to edit.
The default implementation of this method checks for this.canvas being specified as a
dynamicForm, and in that case simply returns the result of
DynamicForm.getValuesAsAdvancedCriteria
on the inner form.
Note that this functionality may be entirely bypassed by
setting editCriteriaInInnerForm to
false. This flag is useful when defining a
dynamicForm based canvasItem which is not intended for editing nested data -- for example
if a standard atomic field value is being displayed in some custom way using a
DynamicForm embedded in the item.
setCriterionGetter in class FormItemgetter - provides a method to get a criterion object based on this field's current edited value(s).FormItem.setCriterionGetter(com.smartgwt.client.widgets.form.FormItemCriterionGetter),
CriteriaEditing overview and related methodspublic void setCriterionSetter(FormItemCriterionSetter setter)
setCriterion() implementation to display a Criterion object in this item for editing.
The default implementation is overridden from FormItem.setCriterionSetter
in order to support editing nested criteria using nested dynamicForms as described in CanvasItem.setCriterionGetter.
Implementation checks for this.canvas being specified as a DynamicForm, and applies criterion directly to the embedded form via setValuesAsCriteria().
setCriterionSetter in class FormItemsetter - provides a method to update this field with the edited criterion