public class EditContext extends BaseClass implements HasEditMaskClickedHandlers, HasEditNodeUpdatedHandlers, HasNodeAddedHandlers, HasSelectedEditNodesUpdatedHandlers
An EditContext is typically populated by
adding a series of EditNodes
created via a Palette
, either via drag and drop creation, or when loading from a saved version, via addFromPaletteNode()
or addPaletteNodesFromXML()
.
An EditContext then provides interfaces for further editing of the components represented by EditNodes.
Developers may explicitly define an edit
context and initialize it with a rootComponent
- the root
of the user interface being created. The EditContext itself is not visible to the user, but the root component's liveObject
may be.
As child editNodes are added to the
rootComponent node or its descendants, liveObjects in the user will update to reflect these changes. The live objects
for the edit nodes will be nested using the appropriate parent-child relationships, for the types of node in question.
For example Canvases will be added as members
of layouts
and FormItems will be added as fields
of DynamicForms.
To enable drag and drop creation of widgets from a Palette
, a developer can use
Canvas.setEditMode()
to enable editing behaviors on the live
object of the desired drop target (typically the root component).
To enable editNode creation via double-click on a
Palette
, developers can set the Palette.defaultEditContext
.
Developers can also make use of
EditPane
or EditTree
classes which provide a visual
interface for managing an EditContext.
DevTools overview and related methods
config, configOnly, factoryCreated, factoryProperties, id, scClassName
Constructor and Description |
---|
EditContext() |
EditContext(com.google.gwt.core.client.JavaScriptObject jsObj) |
Modifier and Type | Method and Description |
---|---|
com.google.gwt.event.shared.HandlerRegistration |
addEditMaskClickedHandler(EditMaskClickedHandler handler)
Add a editMaskClicked handler.
|
com.google.gwt.event.shared.HandlerRegistration |
addEditNodeUpdatedHandler(EditNodeUpdatedHandler handler)
Add a editNodeUpdated handler.
|
EditNode |
addFromPaletteNode(PaletteNode paletteNode)
Creates a new EditNode from a PaletteNode, using the
defaultPalette . |
EditNode |
addFromPaletteNode(PaletteNode paletteNode,
EditNode parentNode)
Creates a new EditNode from a PaletteNode, using the
defaultPalette . |
EditNode[] |
addFromPaletteNodes(PaletteNode[] paletteNodes)
Add the supplied
PaletteNodes to the parentNode, preserving internal
references from one supplied PaletteNode to another. |
EditNode[] |
addFromPaletteNodes(PaletteNode[] paletteNodes,
EditNode parentNode)
Add the supplied
PaletteNodes to the parentNode, preserving internal
references from one supplied PaletteNode to another. |
EditNode |
addNode(EditNode newNode)
Add a new
EditNode to the EditContext, under the specified parent. |
EditNode |
addNode(EditNode newNode,
EditNode parentNode) |
EditNode |
addNode(EditNode newNode,
EditNode parentNode,
java.lang.Integer index) |
EditNode |
addNode(EditNode newNode,
EditNode parentNode,
java.lang.Integer index,
java.lang.String parentProperty) |
EditNode |
addNode(EditNode newNode,
EditNode parentNode,
java.lang.Integer index,
java.lang.String parentProperty,
java.lang.Boolean skipParentComponentAdd) |
EditNode |
addNode(EditNode newNode,
EditNode parentNode,
java.lang.Integer index,
java.lang.String parentProperty,
java.lang.Boolean skipParentComponentAdd,
java.lang.Boolean forceSingularFieldReplace)
Add a new
EditNode to the EditContext, under the specified parent. |
com.google.gwt.event.shared.HandlerRegistration |
addNodeAddedHandler(NodeAddedHandler handler)
Add a nodeAdded handler.
|
void |
addPaletteNodesFromJS(java.lang.String jsCode)
Add
PaletteNodes from a JavaScript source representation. |
void |
addPaletteNodesFromJS(java.lang.String jsCode,
EditNode parentNode) |
void |
addPaletteNodesFromJS(java.lang.String jsCode,
EditNode parentNode,
java.lang.String[] globals)
Add
PaletteNodes from a JavaScript source representation. |
void |
addPaletteNodesFromJSON(java.lang.String jsonString)
Recreate
EditNodes from a JSON representation of PaletteNodes (possibly created by calling serializeAllEditNodesAsJSON() or serializeEditNodesAsJSON() . |
void |
addPaletteNodesFromJSON(java.lang.String jsonString,
EditNode parentNode) |
void |
addPaletteNodesFromJSON(java.lang.String jsonString,
EditNode parentNode,
java.lang.String[] globals) |
void |
addPaletteNodesFromJSON(java.lang.String jsonString,
EditNode parentNode,
java.lang.String[] globals,
Function callback)
Recreate
EditNodes from a JSON representation of PaletteNodes (possibly created by calling serializeAllEditNodesAsJSON() or serializeEditNodesAsJSON() . |
void |
addPaletteNodesFromXML(java.lang.String xmlString)
Recreate
EditNodes from an XML representation of PaletteNodes (possibly created by calling serializeAllEditNodes() or serializeEditNodes() . |
void |
addPaletteNodesFromXML(java.lang.String xmlString,
EditNode parentNode) |
void |
addPaletteNodesFromXML(java.lang.String xmlString,
EditNode parentNode,
java.lang.String[] globals) |
void |
addPaletteNodesFromXML(java.lang.String xmlString,
EditNode parentNode,
java.lang.String[] globals,
Function callback)
Recreate
EditNodes from an XML representation of PaletteNodes (possibly created by calling serializeAllEditNodes() or serializeEditNodes() . |
com.google.gwt.event.shared.HandlerRegistration |
addSelectedEditNodesUpdatedHandler(SelectedEditNodesUpdatedHandler handler)
Add a selectedEditNodesUpdated handler.
|
void |
convertedNode(EditNode origNode,
EditNode newNode,
EditNode parentNode)
Notification fired when an
EditNode is converted to a different type when moved from
one container to another. |
void |
copyEditNodes(EditNode... editNode)
Copies the passed editNode or editNodes to an internal "clipboard" space, for later application via
pasteEditNodes() . |
void |
copyEditNodes(EditNode editNode)
Copies the passed editNode or editNodes to an internal "clipboard" space, for later application via
pasteEditNodes() . |
com.google.gwt.core.client.JavaScriptObject |
create() |
void |
deselectAllEditNodes()
Deselect all EditNodes.
|
void |
deselectEditNodes(java.util.List editNodes)
Deselect a list of EditNodes.
|
void |
destroyAll()
|
java.lang.Boolean |
editNodeHasDataSource(EditNode editNode)
Does the
editNode have a DataSource assigned? |
java.lang.Boolean |
editNodeHasFields(EditNode editNode)
Does the
editNode have at least one field assigned? |
void |
enableEditing(EditNode editNode)
Enable edit mode for an
EditNode . |
java.lang.Boolean |
getAllowDropThrough()
Dropping a component near the edge of another component allows the component to be dropped through an ancestor
component.
|
java.lang.Boolean |
getAllowNestedDrops()
Controls whether components can be dropped into other components which support child components.
|
java.lang.Boolean |
getAutoEditNewNodes()
New nodes added to the editContext are automatically placed into edit mode if the new node's parent is in edit mode.
|
java.lang.Boolean |
getCanDragGroup()
Should the group selection box shown when
canGroupSelect
is true allow dragging the group as a whole? |
java.lang.Boolean |
getCanGroupSelect()
Should a group selection outline covering the outermost bounding boxes of all selected components be shown in this
container?
|
java.lang.Boolean |
getCanSelectEditNodes()
Should editNodes added to this EditContext be selectable? When
true , each EditProxy.canSelectChildren property is enabled unless
explicitly set to false . |
Palette |
getDefaultPalette()
Palette to use when an EditNode is being created
directly by this EditContext, instead of being created due to a user interaction with a palette (eg dragging from a
TreePalette , or clicking on MenuPalette ). |
EditNode |
getDefaultParent()
The default parent
EditNode to be used when a new EditNode is added to the EditContext
without a specified parent. |
java.util.Map |
getEditMaskProperties()
Properties to apply to all
EditProxy.editMask s created for
components in edit mode. |
EditNode[] |
getEditNodesByType(java.lang.String... types)
Returns
EditNodes as an array that match the specified type or types. |
EditNode[] |
getEditNodesByType(java.lang.String types)
Returns
EditNodes as an array that match the specified type or types. |
EditNode[] |
getEditNodesByType(java.lang.String[] types,
boolean strict)
Returns
EditNodes as an array that match the specified type or types. |
Tree |
getEditNodeTree()
Gets the tree of editNodes being edited by this editContext.
|
java.lang.Boolean |
getEnableInlineEdit()
Whether inline editing should be enabled for any components that are added and are placed into editMode.
|
Palette[] |
getExtraPalettes()
Additional
Palettes to consult for metadata when deserializing Edit Nodes . |
java.lang.Boolean |
getHideGroupBorderOnDrag()
Should the group selection box shown when
canGroupSelect
is true be hidden during drag? |
HoopSelectionStyle |
getHoopSelectionMode()
Defines the mode of inclusion for components encountered during hoop selection which is enabled when
selectionType is multiple . |
java.util.Map |
getHoopSelectorProperties()
Properties to apply to
EditProxy.hoopSelector . |
com.google.gwt.core.client.JavaScriptObject |
getJsObj() |
void |
getNodeProperty(EditNode editNode,
java.lang.String name)
Returns the specified property from the editNode's serializable "defaults".
|
com.google.gwt.core.client.JavaScriptObject |
getOrCreateJsObj() |
static EditContext |
getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj) |
void |
getPaletteNodesFromJS(java.lang.String jsCode,
PaletteNodeCallback callback)
Obtain
PaletteNodes from a JavaScript source representation. |
void |
getPaletteNodesFromJS(java.lang.String jsCode,
PaletteNodeCallback callback,
java.lang.String[] globals)
Obtain
PaletteNodes from a JavaScript source representation. |
void |
getPaletteNodesFromXML(java.lang.String xmlString,
PaletteNodeCallback callback)
Obtain
PaletteNodes from an XML representation, but do not add them to the
EditContext. |
java.lang.Boolean |
getPersistCoordinates()
When enabled, changes to a
liveObject 's position and size will
be persisted to their EditNodes by default. |
PaletteNode |
getRootComponent()
Root of data to edit.
|
EditNode |
getRootEditNode()
Returns the root
EditNode of the EditContext typically created from rootComponent . |
SelectedAppearance |
getSelectedAppearance()
Appearance that is applied to selected component.
|
java.lang.String |
getSelectedBorder()
Set the CSS border to be applied to the selection outline of the selected components.
|
EditNode |
getSelectedEditNode()
Returns selected EditNode or first selected EditNode if multiple nodes are selected.
|
EditNode[] |
getSelectedEditNodes()
Returns all selected EditNodes as an Array.
|
java.lang.String |
getSelectedLabelBackgroundColor()
The background color for the selection outline label.
|
java.lang.String |
getSelectedTintColor()
Mask color applied to
editMask of selected component when EditProxy.selectedAppearance is "tintMask". |
int |
getSelectedTintOpacity()
Opacity applied to
editMask of selected component when EditProxy.selectedAppearance is "tintMask". |
SelectionStyle |
getSelectionType()
Defines selection behavior when in edit mode.
|
java.lang.Boolean |
getShowSelectedLabel()
Should the selection outline show a label for selected components? A component may also be highlighted with the
selection outline and label to indicate the target of a drop.
|
java.lang.Boolean |
getShowSelectedLabelOnSelect()
Should the selection outline show a label when the component is selected? This property is similar to
showSelectedLabel . |
java.lang.Boolean |
getUseCopyPasteShortcuts()
|
void |
inlineEditorShowing(FormItem field,
java.lang.String type)
Notification method fired when an inline title or value editor is shown or closed for a component in the designer pane.
|
boolean |
isCreated() |
boolean |
isEditNodeSelected()
Returns true if the editNode is selected.
|
boolean |
isNodeEditingOn(EditNode editNode)
Returns true if
editNode is in edit mode. |
EditNode |
makeEditNode(PaletteNode paletteNode)
Creates and returns an EditNode using the
defaultPalette . |
PaletteNode |
makePaletteNode(EditNode editNode)
|
Tree |
makePaletteNodeTree(EditNode editNode)
Creates a
Tree of PaletteNodes
from an EditNode in this context's editNodeTree , by using makePaletteNode() on the passed EditNode and its
descendents within the editNodeTree . |
void |
nodeMoved(EditNode oldNode,
EditNode oldParentNode,
EditNode newNode,
EditNode newParentNode,
EditNode rootNode)
Notification fired when an
EditNode has been moved to a new position in the component
tree. |
void |
nodeRemoved(EditNode removedNode,
EditNode parentNode,
EditNode rootNode)
Notification fired when an
EditNode has been removed from the EditContext |
void |
pasteEditNodes()
"Pastes"
editNodes previously captured via copyEditNodes() . |
void |
pasteEditNodes(EditNode targetEditNode)
"Pastes"
editNodes previously captured via copyEditNodes() . |
void |
removeAll()
Removes all
EditNodes from the EditContext, but does not destroy the liveObjects . |
void |
removeNode(EditNode editNode)
Removes
EditNode from the EditContext. |
void |
removeNodeProperties(EditNode editNode,
java.lang.String[] properties)
Removes the specified properties from an editNode's serializable "defaults".
|
void |
selectAllEditNodes()
Select all EditNodes.
|
void |
selectEditNode(EditNode editNode)
Select an EditNode.
|
void |
selectSingleEditNode(EditNode editNode)
Select a single EditNode and deselect everything else.
|
java.lang.String |
serializeAllEditNodes()
Serialize the tree of
EditNodes to an XML representation of PaletteNodes . |
java.lang.String |
serializeAllEditNodes(SerializationSettings settings)
Serialize the tree of
EditNodes to an XML representation of PaletteNodes . |
java.lang.String |
serializeAllEditNodesAsJSON()
Encode the tree of
EditNodes to a JSON representation of PaletteNodes . |
java.lang.String |
serializeAllEditNodesAsJSON(SerializationSettings settings)
Encode the tree of
EditNodes to a JSON representation of PaletteNodes . |
java.lang.String |
serializeEditNodes(EditNode[] nodes)
Serialize the provided
EditNodes to an XML representation of PaletteNodes . |
java.lang.String |
serializeEditNodes(EditNode[] nodes,
SerializationSettings settings)
Serialize the provided
EditNodes to an XML representation of PaletteNodes . |
java.lang.String |
serializeEditNodesAsJSON(EditNode[] nodes)
Serialize the provided
EditNodes to a JSON representation of PaletteNodes . |
java.lang.String |
serializeEditNodesAsJSON(EditNode[] nodes,
SerializationSettings settings)
Serialize the provided
EditNodes to a JSON representation of PaletteNodes . |
EditContext |
setAllowDropThrough(java.lang.Boolean allowDropThrough)
Dropping a component near the edge of another component allows the component to be dropped through an ancestor
component.
|
EditContext |
setAllowNestedDrops(java.lang.Boolean allowNestedDrops)
Controls whether components can be dropped into other components which support child components.
|
EditContext |
setAutoEditNewNodes(java.lang.Boolean autoEditNewNodes)
New nodes added to the editContext are automatically placed into edit mode if the new node's parent is in edit mode.
|
EditContext |
setCanDragGroup(java.lang.Boolean canDragGroup)
Should the group selection box shown when
canGroupSelect
is true allow dragging the group as a whole? |
EditContext |
setCanGroupSelect(java.lang.Boolean canGroupSelect)
Should a group selection outline covering the outermost bounding boxes of all selected components be shown in this
container?
|
EditContext |
setCanSelectEditNodes(java.lang.Boolean canSelectEditNodes)
Should editNodes added to this EditContext be selectable? When
true , each EditProxy.canSelectChildren property is enabled unless
explicitly set to false . |
EditContext |
setDefaultPalette(Palette defaultPalette)
Palette to use when an EditNode is being created
directly by this EditContext, instead of being created due to a user interaction with a palette (eg dragging from a
TreePalette , or clicking on MenuPalette ). |
EditContext |
setDefaultParent(EditNode defaultParent)
The default parent
EditNode to be used when a new EditNode is added to the EditContext
without a specified parent. |
EditContext |
setEditMaskProperties(java.util.Map editMaskProperties)
Properties to apply to all
EditProxy.editMask s created for
components in edit mode. |
void |
setEditProxyProperties(EditNode editNode,
EditProxy properties)
Update an editNode's
EditProxy properties. |
EditContext |
setEnableInlineEdit(java.lang.Boolean enableInlineEdit)
Whether inline editing should be enabled for any components that are added and are placed into editMode.
|
EditContext |
setExtraPalettes(Palette... extraPalettes)
Additional
Palettes to consult for metadata when deserializing Edit Nodes . |
EditContext |
setHideGroupBorderOnDrag(java.lang.Boolean hideGroupBorderOnDrag)
Should the group selection box shown when
canGroupSelect
is true be hidden during drag? |
EditContext |
setHoopSelectionMode(HoopSelectionStyle hoopSelectionMode)
Defines the mode of inclusion for components encountered during hoop selection which is enabled when
selectionType is multiple . |
EditContext |
setHoopSelectorProperties(java.util.Map hoopSelectorProperties)
Properties to apply to
EditProxy.hoopSelector . |
void |
setJavaScriptObject(com.google.gwt.core.client.JavaScriptObject jsObj) |
void |
setNodeProperties(EditNode editNode,
Canvas properties)
Update an editNode's serializable "defaults" with the supplied properties.
|
void |
setNodeProperties(EditNode editNode,
Canvas properties,
java.lang.Boolean skipLiveObjectUpdate)
Update an editNode's serializable "defaults" with the supplied properties.
|
void |
setNodeProperties(EditNode editNode,
DrawItem properties)
Update an editNode's serializable "defaults" with the supplied properties.
|
void |
setNodeProperties(EditNode editNode,
DrawItem properties,
java.lang.Boolean skipLiveObjectUpdate)
Update an editNode's serializable "defaults" with the supplied properties.
|
protected void |
setNodeProperties(EditNode editNode,
com.google.gwt.core.client.JavaScriptObject properties) |
protected void |
setNodeProperties(EditNode editNode,
com.google.gwt.core.client.JavaScriptObject properties,
java.lang.Boolean skipLiveObjectUpdate) |
EditContext |
setPersistCoordinates(java.lang.Boolean persistCoordinates)
When enabled, changes to a
liveObject 's position and size will
be persisted to their EditNodes by default. |
EditContext |
setRootComponent(PaletteNode rootComponent)
Root of data to edit.
|
EditContext |
setSelectedAppearance(SelectedAppearance selectedAppearance)
Appearance that is applied to selected component.
|
EditContext |
setSelectedBorder(java.lang.String selectedBorder)
Set the CSS border to be applied to the selection outline of the selected components.
|
EditContext |
setSelectedLabelBackgroundColor(java.lang.String selectedLabelBackgroundColor)
The background color for the selection outline label.
|
EditContext |
setSelectedTintColor(java.lang.String selectedTintColor)
Mask color applied to
editMask of selected component when EditProxy.selectedAppearance is "tintMask". |
EditContext |
setSelectedTintOpacity(int selectedTintOpacity)
Opacity applied to
editMask of selected component when EditProxy.selectedAppearance is "tintMask". |
EditContext |
setSelectionType(SelectionStyle selectionType)
Defines selection behavior when in edit mode.
|
EditContext |
setShowSelectedLabel(java.lang.Boolean showSelectedLabel)
Should the selection outline show a label for selected components? A component may also be highlighted with the
selection outline and label to indicate the target of a drop.
|
EditContext |
setShowSelectedLabelOnSelect(java.lang.Boolean showSelectedLabelOnSelect)
Should the selection outline show a label when the component is selected? This property is similar to
showSelectedLabel . |
EditContext |
setUseCopyPasteShortcuts(java.lang.Boolean useCopyPasteShortcuts)
|
void |
substitutedNode(PaletteNode origNode,
PaletteNode newNode,
EditNode parentNode)
Notification fired when a different
PaletteNode is substituted for one being dropped
into a container. |
addDynamicProperty, addDynamicProperty, addDynamicProperty, addDynamicProperty, applyFactoryProperties, asSGWTComponent, clearDynamicProperty, createJsObj, destroy, doAddHandler, doInit, error, error, errorIfNotCreated, fireEvent, getAttribute, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsElement, getAttributeAsFloat, getAttributeAsInt, getAttributeAsJavaScriptObject, getAttributeAsMap, getAttributeAsString, getAttributeAsStringArray, getClassName, getConfig, getHandlerCount, getID, getRef, getRuleScope, getScClassName, getTestInstance, hasAutoAssignedID, hasDynamicProperty, internalSetID, internalSetID, isConfigOnly, isFactoryCreated, onBind, onInit, registerID, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setConfig, setConfigOnly, setFactoryCreated, setID, setProperty, setProperty, setProperty, setProperty, setRuleScope, setScClassName
public EditContext()
public EditContext(com.google.gwt.core.client.JavaScriptObject jsObj)
public static EditContext getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)
public void setJavaScriptObject(com.google.gwt.core.client.JavaScriptObject jsObj)
setJavaScriptObject
in class BaseClass
public com.google.gwt.core.client.JavaScriptObject create()
public com.google.gwt.core.client.JavaScriptObject getJsObj()
public com.google.gwt.core.client.JavaScriptObject getOrCreateJsObj()
getOrCreateJsObj
in class BaseClass
public EditContext setAllowDropThrough(java.lang.Boolean allowDropThrough)
allowDropThrough
to false.allowDropThrough
- New allowDropThrough value. Default value is nullEditContext
instance, for chaining setter callspublic java.lang.Boolean getAllowDropThrough()
allowDropThrough
to false.public EditContext setAllowNestedDrops(java.lang.Boolean allowNestedDrops) throws java.lang.IllegalStateException
When enabled,
during a drop interaction in which a PaletteNode
or EditNode
is the drop data, the Component
Schema
of the current candidate drop target is inspected to see whether that parent allows children of the type being
dropped. If it does, the drop will result in a call to addNode()
for a paletteNode or for an existing EditNode
in the same tree.
Specific
components can disable nested drops by explicitly setting EditProxy.allowNestedDrops
to false.
This mode is enabled by default unless explicitly disabled by setting this property to false.
allowNestedDrops
- New allowNestedDrops value. Default value is nullEditContext
instance, for chaining setter callsjava.lang.IllegalStateException
- this property cannot be changed after the underlying component has been createdpublic java.lang.Boolean getAllowNestedDrops()
When enabled,
during a drop interaction in which a PaletteNode
or EditNode
is the drop data, the Component
Schema
of the current candidate drop target is inspected to see whether that parent allows children of the type being
dropped. If it does, the drop will result in a call to addNode()
for a paletteNode or for an existing EditNode
in the same tree.
Specific
components can disable nested drops by explicitly setting EditProxy.allowNestedDrops
to false.
This mode is enabled by default unless explicitly disabled by setting this property to false.
public EditContext setAutoEditNewNodes(java.lang.Boolean autoEditNewNodes)
autoEditNewNodes
to false.autoEditNewNodes
- New autoEditNewNodes value. Default value is nullEditContext
instance, for chaining setter callspublic java.lang.Boolean getAutoEditNewNodes()
autoEditNewNodes
to false.public EditContext setCanDragGroup(java.lang.Boolean canDragGroup) throws java.lang.IllegalStateException
canGroupSelect
is true allow dragging the group as a whole? Treated as true
if not set and canGroupSelect
is true.
canDragGroup
- New canDragGroup value. Default value is nullEditContext
instance, for chaining setter callsjava.lang.IllegalStateException
- this property cannot be changed after the underlying component has been createdpublic java.lang.Boolean getCanDragGroup()
canGroupSelect
is true allow dragging the group as a whole? Treated as true
if not set and canGroupSelect
is true.
public EditContext setCanGroupSelect(java.lang.Boolean canGroupSelect) throws java.lang.IllegalStateException
Treated as true
if not set and hoop selection is enabled (see EditProxy.canSelectChildren
and selectionType
.
canGroupSelect
- New canGroupSelect value. Default value is nullEditContext
instance, for chaining setter callsjava.lang.IllegalStateException
- this property cannot be changed after the underlying component has been createdpublic java.lang.Boolean getCanGroupSelect()
Treated as true
if not set and hoop selection is enabled (see EditProxy.canSelectChildren
and selectionType
.
public EditContext setCanSelectEditNodes(java.lang.Boolean canSelectEditNodes) throws java.lang.IllegalStateException
true
, each EditProxy.canSelectChildren
property is enabled unless
explicitly set to false
. This allows an individual component to override this setting.canSelectEditNodes
- New canSelectEditNodes value. Default value is nullEditContext
instance, for chaining setter callsjava.lang.IllegalStateException
- this property cannot be changed after the underlying component has been createdpublic java.lang.Boolean getCanSelectEditNodes()
true
, each EditProxy.canSelectChildren
property is enabled unless
explicitly set to false
. This allows an individual component to override this setting.public EditContext setDefaultPalette(Palette defaultPalette)
Palette
to use when an EditNode
is being created
directly by this EditContext, instead of being created due to a user interaction with a palette (eg dragging from a
TreePalette
, or clicking on MenuPalette
). If no
defaultPalette is provided, the EditContext uses an automatically created HiddenPalette
.
If this method is called after the component has been drawn/initialized:
Palette
to use when an EditNode
is being created directly by this EditContext, instead of being created due to a user interaction with a palette (eg dragging from a TreePalette
, or clicking on MenuPalette
).
If no defaultPalette is provided, the EditContext uses an automatically created HiddenPalette
.
defaultPalette
- the default Palette. Default value is nullEditContext
instance, for chaining setter callspublic Palette getDefaultPalette()
Palette
to use when an EditNode
is being created
directly by this EditContext, instead of being created due to a user interaction with a palette (eg dragging from a
TreePalette
, or clicking on MenuPalette
). If no
defaultPalette is provided, the EditContext uses an automatically created HiddenPalette
.
Palette
to use when an EditNode
is being created
directly by this EditContext, instead of being created due to a user interaction with a palette (eg dragging from a
TreePalette
, or clicking on MenuPalette
). If no
defaultPalette is provided, the EditContext uses an automatically created HiddenPalette
. Default value is null
public EditContext setDefaultParent(EditNode defaultParent)
EditNode
to be used when a new EditNode is added to the EditContext
without a specified parent. This commonly occurs when a paletteNode is double-clicked in a palette. If not
specified, the root editNode (see getRootEditNode()
) is
used.
Note: this property is automatically cleared if node is removed from the editTree such as on calls to destroyAll()
or removeNode()
.
defaultParent
- New defaultParent value. Default value is nullEditContext
instance, for chaining setter callspublic EditNode getDefaultParent()
EditNode
to be used when a new EditNode is added to the EditContext
without a specified parent. This commonly occurs when a paletteNode is double-clicked in a palette. If not
specified, the root editNode (see getRootEditNode()
) is
used.
Note: this property is automatically cleared if node is removed from the editTree such as on calls to destroyAll()
or removeNode()
.
public EditContext setEditMaskProperties(java.util.Map editMaskProperties) throws java.lang.IllegalStateException
EditProxy.editMask
s created for
components in edit mode. This mask can be modified when the node is selected by selectedBorder
, selectedTintColor
and selectedTintOpacity
depending on the selectedAppearance
setting.editMaskProperties
- New editMaskProperties value. Default value is nullEditContext
instance, for chaining setter callsjava.lang.IllegalStateException
- this property cannot be changed after the underlying component has been createdpublic java.util.Map getEditMaskProperties()
EditProxy.editMask
s created for
components in edit mode. This mask can be modified when the node is selected by selectedBorder
, selectedTintColor
and selectedTintOpacity
depending on the selectedAppearance
setting.public EditContext setEnableInlineEdit(java.lang.Boolean enableInlineEdit) throws java.lang.IllegalStateException
EditProxy.supportsInlineEdit
is true.enableInlineEdit
- New enableInlineEdit value. Default value is nullEditContext
instance, for chaining setter callsjava.lang.IllegalStateException
- this property cannot be changed after the underlying component has been createdpublic java.lang.Boolean getEnableInlineEdit()
EditProxy.supportsInlineEdit
is true.public EditContext setExtraPalettes(Palette... extraPalettes)
Palettes
to consult for metadata when deserializing Edit Nodes
. Note that the defaultPalette
is always consulted and need not be provided
again here.extraPalettes
- New extraPalettes value. Default value is nullEditContext
instance, for chaining setter callspublic Palette[] getExtraPalettes()
Palettes
to consult for metadata when deserializing Edit Nodes
. Note that the defaultPalette
is always consulted and need not be provided
again here.public EditContext setHideGroupBorderOnDrag(java.lang.Boolean hideGroupBorderOnDrag) throws java.lang.IllegalStateException
canGroupSelect
is true be hidden during drag? Treated as true
if not explicitly set to false.
hideGroupBorderOnDrag
- New hideGroupBorderOnDrag value. Default value is nullEditContext
instance, for chaining setter callsjava.lang.IllegalStateException
- this property cannot be changed after the underlying component has been createdpublic java.lang.Boolean getHideGroupBorderOnDrag()
canGroupSelect
is true be hidden during drag? Treated as true
if not explicitly set to false.
public EditContext setHoopSelectionMode(HoopSelectionStyle hoopSelectionMode) throws java.lang.IllegalStateException
selectionType
is multiple
. encloses
mode causes selection of components that are completely enclosed by the hoop. intersects
mode selects
components that come into contact with the hoop.hoopSelectionMode
- New hoopSelectionMode value. Default value is "encloses"EditContext
instance, for chaining setter callsjava.lang.IllegalStateException
- this property cannot be changed after the underlying component has been createdHoopSelectionStyle
public HoopSelectionStyle getHoopSelectionMode()
selectionType
is multiple
. encloses
mode causes selection of components that are completely enclosed by the hoop. intersects
mode selects
components that come into contact with the hoop.HoopSelectionStyle
public EditContext setHoopSelectorProperties(java.util.Map hoopSelectorProperties) throws java.lang.IllegalStateException
EditProxy.hoopSelector
.hoopSelectorProperties
- New hoopSelectorProperties value. Default value is nullEditContext
instance, for chaining setter callsjava.lang.IllegalStateException
- this property cannot be changed after the underlying component has been createdpublic java.util.Map getHoopSelectorProperties()
EditProxy.hoopSelector
.public EditContext setPersistCoordinates(java.lang.Boolean persistCoordinates)
liveObject
's position and size will
be persisted to their EditNodes
by default. This applies to both programmatic
calls and user interaction (drag reposition or drag resize). This feature can be disabled by either setting this
property or EditProxy.persistCoordinates
to
false
. This property affects all nodes within the EditContext whereas the latter property affects children
of a single node.
In some use-cases, like Reify, coordinates should not be persisted except when a component
explicitly enables this feature. By setting this property to null
no component will persist coordinates of
children unless EditProxy.persistCoordinates
is explicitly set to true
.
persistCoordinates
- New persistCoordinates value. Default value is trueEditContext
instance, for chaining setter callspublic java.lang.Boolean getPersistCoordinates()
liveObject
's position and size will
be persisted to their EditNodes
by default. This applies to both programmatic
calls and user interaction (drag reposition or drag resize). This feature can be disabled by either setting this
property or EditProxy.persistCoordinates
to
false
. This property affects all nodes within the EditContext whereas the latter property affects children
of a single node.
In some use-cases, like Reify, coordinates should not be persisted except when a component
explicitly enables this feature. By setting this property to null
no component will persist coordinates of
children unless EditProxy.persistCoordinates
is explicitly set to true
.
public EditContext setRootComponent(PaletteNode rootComponent) throws java.lang.IllegalStateException
schema
or nothing will be able to be dropped on this EditContext. A "liveObject"
property representing the rootComponent is also suggested. Otherwise, a live object will be created from the palette
node. Can be retrieved at any time. Use getRootEditNode()
to retrieve the EditNode
created from the rootComponent.
rootComponent
- New rootComponent value. Default value is nullEditContext
instance, for chaining setter callsjava.lang.IllegalStateException
- this property cannot be changed after the underlying component has been createdDevTools overview and related methods
public PaletteNode getRootComponent()
schema
or nothing will be able to be dropped on this EditContext. A "liveObject"
property representing the rootComponent is also suggested. Otherwise, a live object will be created from the palette
node. Can be retrieved at any time. Use getRootEditNode()
to retrieve the EditNode
created from the rootComponent.
DevTools overview and related methods
public EditContext setSelectedAppearance(SelectedAppearance selectedAppearance) throws java.lang.IllegalStateException
This value is applied as a default to EditProxy.selectedAppearance
.
selectedAppearance
- New selectedAppearance value. Default value is nullEditContext
instance, for chaining setter callsjava.lang.IllegalStateException
- this property cannot be changed after the underlying component has been createdsetSelectedBorder(java.lang.String)
,
setSelectedTintColor(java.lang.String)
,
setSelectedTintOpacity(int)
public SelectedAppearance getSelectedAppearance()
This value is applied as a default to EditProxy.selectedAppearance
.
getSelectedBorder()
,
getSelectedTintColor()
,
getSelectedTintOpacity()
public EditContext setSelectedBorder(java.lang.String selectedBorder) throws java.lang.IllegalStateException
EditProxy.selectedAppearance
is outlineMask
or
outlineEdges
. This value is applied as a default to EditProxy.selectedBorder
.
selectedBorder
- New selectedBorder value. Default value is "1px dashed #44ff44"EditContext
instance, for chaining setter callsjava.lang.IllegalStateException
- this property cannot be changed after the underlying component has been createdpublic java.lang.String getSelectedBorder()
EditProxy.selectedAppearance
is outlineMask
or
outlineEdges
. This value is applied as a default to EditProxy.selectedBorder
.
public EditContext setSelectedLabelBackgroundColor(java.lang.String selectedLabelBackgroundColor) throws java.lang.IllegalStateException
SelectionOutline
. This value is applied as a default to EditProxy.selectedLabelBackgroundColor
.
NOTE: A
selected component label is only supported when EditProxy.selectedAppearance
is "outlineEdges".
selectedLabelBackgroundColor
- New selectedLabelBackgroundColor value. Default value is nullEditContext
instance, for chaining setter callsjava.lang.IllegalStateException
- this property cannot be changed after the underlying component has been createdsetShowSelectedLabel(java.lang.Boolean)
public java.lang.String getSelectedLabelBackgroundColor()
SelectionOutline
. This value is applied as a default to EditProxy.selectedLabelBackgroundColor
.
NOTE: A
selected component label is only supported when EditProxy.selectedAppearance
is "outlineEdges".
getShowSelectedLabel()
public EditContext setSelectedTintColor(java.lang.String selectedTintColor) throws java.lang.IllegalStateException
editMask
of selected component when EditProxy.selectedAppearance
is "tintMask". This value is
applied as a default to EditProxy.selectedTintColor
.
selectedTintColor
- New selectedTintColor value. Default value is "#cccccc"EditContext
instance, for chaining setter callsjava.lang.IllegalStateException
- this property cannot be changed after the underlying component has been createdsetSelectedTintOpacity(int)
,
CSSColor
public java.lang.String getSelectedTintColor()
editMask
of selected component when EditProxy.selectedAppearance
is "tintMask". This value is
applied as a default to EditProxy.selectedTintColor
.
getSelectedTintOpacity()
,
CSSColor
public EditContext setSelectedTintOpacity(int selectedTintOpacity) throws java.lang.IllegalStateException
editMask
of selected component when EditProxy.selectedAppearance
is "tintMask". This value is
applied as a default to EditProxy.selectedTintOpacity
.
selectedTintOpacity
- New selectedTintOpacity value. Default value is 25EditContext
instance, for chaining setter callsjava.lang.IllegalStateException
- this property cannot be changed after the underlying component has been createdsetSelectedTintColor(java.lang.String)
public int getSelectedTintOpacity()
editMask
of selected component when EditProxy.selectedAppearance
is "tintMask". This value is
applied as a default to EditProxy.selectedTintOpacity
.
getSelectedTintColor()
public EditContext setSelectionType(SelectionStyle selectionType)
selectionType
- New selectionType value. Default value is "multiple"EditContext
instance, for chaining setter callsSelectionStyle
public SelectionStyle getSelectionType()
SelectionStyle
public EditContext setShowSelectedLabel(java.lang.Boolean showSelectedLabel) throws java.lang.IllegalStateException
false
. To suppress labels during selection but still show them when targeted for a drop, see showSelectedLabelOnSelect
.
NOTE: A selected
component label is only supported when EditProxy.selectedAppearance
is "outlineEdges".
showSelectedLabel
- New showSelectedLabel value. Default value is nullEditContext
instance, for chaining setter callsjava.lang.IllegalStateException
- this property cannot be changed after the underlying component has been createdpublic java.lang.Boolean getShowSelectedLabel()
false
. To suppress labels during selection but still show them when targeted for a drop, see showSelectedLabelOnSelect
.
NOTE: A selected
component label is only supported when EditProxy.selectedAppearance
is "outlineEdges".
public EditContext setShowSelectedLabelOnSelect(java.lang.Boolean showSelectedLabelOnSelect) throws java.lang.IllegalStateException
showSelectedLabel
. Whereas showSelectedLabel
controls whether a label is shown at any
time, this property allows normal selection to suppress the label but still show a label during the drop process on the
target. Leave showSelectedLabel
unset and set this
property to false
. NOTE: A selected component label is only supported when EditProxy.selectedAppearance
is "outlineEdges".
showSelectedLabelOnSelect
- New showSelectedLabelOnSelect value. Default value is nullEditContext
instance, for chaining setter callsjava.lang.IllegalStateException
- this property cannot be changed after the underlying component has been createdpublic java.lang.Boolean getShowSelectedLabelOnSelect()
showSelectedLabel
. Whereas showSelectedLabel
controls whether a label is shown at any
time, this property allows normal selection to suppress the label but still show a label during the drop process on the
target. Leave showSelectedLabel
unset and set this
property to false
. NOTE: A selected component label is only supported when EditProxy.selectedAppearance
is "outlineEdges".
public EditContext setUseCopyPasteShortcuts(java.lang.Boolean useCopyPasteShortcuts) throws java.lang.IllegalStateException
EditProxy.useCopyPasteShortcuts
on the EditProxy
for the root editNode
. This works whether there is currently a root
editNode or one is added later.useCopyPasteShortcuts
- New useCopyPasteShortcuts value. Default value is nullEditContext
instance, for chaining setter callsjava.lang.IllegalStateException
- this property cannot be changed after the underlying component has been createdpublic java.lang.Boolean getUseCopyPasteShortcuts()
EditProxy.useCopyPasteShortcuts
on the EditProxy
for the root editNode
. This works whether there is currently a root
editNode or one is added later.public EditNode addFromPaletteNode(PaletteNode paletteNode)
defaultPalette
. If you have an array of possibly inter-related PaletteNodes, then you should use addFromPaletteNodes()
on the array instead, in order to
preserve the relationships.paletteNode
- the palette node to use to create the new nodeaddFromPaletteNodes(com.smartgwt.client.tools.PaletteNode[])
public EditNode addFromPaletteNode(PaletteNode paletteNode, EditNode parentNode)
defaultPalette
. If you have an array of possibly inter-related PaletteNodes, then you should use addFromPaletteNodes()
on the array instead, in order to
preserve the relationships.paletteNode
- the palette node to use to create the new nodeparentNode
- optional the parent node if the new node should appear under a specific parentaddFromPaletteNodes(com.smartgwt.client.tools.PaletteNode[])
public EditNode[] addFromPaletteNodes(PaletteNode[] paletteNodes)
PaletteNodes
to the parentNode, preserving internal
references from one supplied PaletteNode to another. This method should be used with an array of possibly inter-related
PaletteNodes (for instance, those produced as a result of serialization via serializeAllEditNodes()
, rather than calling addFromPaletteNode()
on each individual PaletteNode.paletteNodes
- array of PaletteNodesaddFromPaletteNode(com.smartgwt.client.tools.PaletteNode)
public EditNode[] addFromPaletteNodes(PaletteNode[] paletteNodes, EditNode parentNode)
PaletteNodes
to the parentNode, preserving internal
references from one supplied PaletteNode to another. This method should be used with an array of possibly inter-related
PaletteNodes (for instance, those produced as a result of serialization via serializeAllEditNodes()
, rather than calling addFromPaletteNode()
on each individual PaletteNode.paletteNodes
- array of PaletteNodesparentNode
- parent to add to (defaults to the root)addFromPaletteNode(com.smartgwt.client.tools.PaletteNode)
public EditNode addNode(EditNode newNode)
EditNode
to the EditContext, under the specified parent. If the parentNode
is not provided it will be determined from defaultParent
.
The EditContext will interrogate the parent and new nodes to determine what field within the parent allows a child of this type, and to find a method to add the newNode's liveObject to the parentNode's liveObject. The new relationship will then be stored in the tree of EditNodes.
For example, when a Tab is dropped on a TabSet, the field TabSet.tabs is discovered as the correct target field via naming conventions, and the method TabSet.addTab() is likewise discovered as the correct method to add a Tab to a TabSet.
newNode
- new node to be addedpublic EditNode addNode(EditNode newNode, EditNode parentNode, java.lang.Integer index, java.lang.String parentProperty)
public EditNode addNode(EditNode newNode, EditNode parentNode, java.lang.Integer index, java.lang.String parentProperty, java.lang.Boolean skipParentComponentAdd)
public EditNode addNode(EditNode newNode, EditNode parentNode, java.lang.Integer index, java.lang.String parentProperty, java.lang.Boolean skipParentComponentAdd, java.lang.Boolean forceSingularFieldReplace)
EditNode
to the EditContext, under the specified parent. If the parentNode
is not provided it will be determined from defaultParent
.
The EditContext will interrogate the parent and new nodes to determine what field within the parent allows a child of this type, and to find a method to add the newNode's liveObject to the parentNode's liveObject. The new relationship will then be stored in the tree of EditNodes.
For example, when a Tab is dropped on a TabSet, the field TabSet.tabs is discovered as the correct target field via naming conventions, and the method TabSet.addTab() is likewise discovered as the correct method to add a Tab to a TabSet.
newNode
- new node to be addedparentNode
- parent to add the new node under.index
- index within the parent's children arrayparentProperty
- the property of the liveParent to which the new node should be added, if not
auto-discoverable from the schemaskipParentComponentAdd
- whether to skip adding the liveObject to the liveParent (default false)forceSingularFieldReplace
- whether to replace existing single field node if newNode liveObject is the
same (default false)public void addPaletteNodesFromJS(java.lang.String jsCode)
PaletteNodes
from a JavaScript source representation. By default,
components that have global IDs
will not actually be allowed to take
those global IDs - instead, only widgets that have one of the global IDs passed as the globals
parameter
will actually receive their global IDs. To override this behavior, pass the special value ALL_GLOBALS
for the globals
parameter.
jsCode
- JavaScript code to eval.public void addPaletteNodesFromJS(java.lang.String jsCode, EditNode parentNode)
addPaletteNodesFromJS(java.lang.String)
public void addPaletteNodesFromJS(java.lang.String jsCode, EditNode parentNode, java.lang.String[] globals)
PaletteNodes
from a JavaScript source representation. By default,
components that have global IDs
will not actually be allowed to take
those global IDs - instead, only widgets that have one of the global IDs passed as the globals
parameter
will actually receive their global IDs. To override this behavior, pass the special value ALL_GLOBALS
for the globals
parameter.
jsCode
- JavaScript code to eval.parentNode
- parent node (defaults to the root)globals
- widgets to allow to take their global IDspublic void addPaletteNodesFromJSON(java.lang.String jsonString)
EditNodes
from a JSON representation of PaletteNodes
(possibly created by calling serializeAllEditNodesAsJSON()
or serializeEditNodesAsJSON()
. By default, components
that have global IDs
will not actually be allowed to take those global
IDs - instead, only widgets that have one of the global IDs passed as the globals
parameter will actually
receive their global IDs. To override this behavior, pass the special value ALL_GLOBALS
for the globals
parameter.
jsonString
- JSON string representing an array of PaletteNodesaddFromPaletteNodes(com.smartgwt.client.tools.PaletteNode[])
,
serializeAllEditNodesAsJSON()
,
serializeEditNodesAsJSON(com.smartgwt.client.tools.EditNode[])
public void addPaletteNodesFromJSON(java.lang.String jsonString, EditNode parentNode)
public void addPaletteNodesFromJSON(java.lang.String jsonString, EditNode parentNode, java.lang.String[] globals)
public void addPaletteNodesFromJSON(java.lang.String jsonString, EditNode parentNode, java.lang.String[] globals, Function callback)
EditNodes
from a JSON representation of PaletteNodes
(possibly created by calling serializeAllEditNodesAsJSON()
or serializeEditNodesAsJSON()
. By default, components
that have global IDs
will not actually be allowed to take those global
IDs - instead, only widgets that have one of the global IDs passed as the globals
parameter will actually
receive their global IDs. To override this behavior, pass the special value ALL_GLOBALS
for the globals
parameter.
jsonString
- JSON string representing an array of PaletteNodesparentNode
- parent to add to (defaults to the root)globals
- widgets to allow to take their global IDscallback
- Callback to fire after nodes have been addedaddFromPaletteNodes(com.smartgwt.client.tools.PaletteNode[])
,
serializeAllEditNodesAsJSON()
,
serializeEditNodesAsJSON(com.smartgwt.client.tools.EditNode[])
public void addPaletteNodesFromXML(java.lang.String xmlString)
EditNodes
from an XML representation of PaletteNodes
(possibly created by calling serializeAllEditNodes()
or serializeEditNodes()
. By default, components that have
global IDs
will not actually be allowed to take those global IDs -
instead, only widgets that have one of the global IDs passed as the globals
parameter will actually receive
their global IDs. To override this behavior, pass the special value ALL_GLOBALS
for the globals
parameter.
xmlString
- XML stringserializeAllEditNodes()
,
serializeEditNodes(com.smartgwt.client.tools.EditNode[])
public void addPaletteNodesFromXML(java.lang.String xmlString, EditNode parentNode)
addPaletteNodesFromXML(java.lang.String)
public void addPaletteNodesFromXML(java.lang.String xmlString, EditNode parentNode, java.lang.String[] globals)
addPaletteNodesFromXML(java.lang.String)
public void addPaletteNodesFromXML(java.lang.String xmlString, EditNode parentNode, java.lang.String[] globals, Function callback)
EditNodes
from an XML representation of PaletteNodes
(possibly created by calling serializeAllEditNodes()
or serializeEditNodes()
. By default, components that have
global IDs
will not actually be allowed to take those global IDs -
instead, only widgets that have one of the global IDs passed as the globals
parameter will actually receive
their global IDs. To override this behavior, pass the special value ALL_GLOBALS
for the globals
parameter.
xmlString
- XML stringparentNode
- parent node (defaults to the root)globals
- widgets to allow to take their global IDscallback
- Callback to fire after nodes have been addedserializeAllEditNodes()
,
serializeEditNodes(com.smartgwt.client.tools.EditNode[])
public void convertedNode(EditNode origNode, EditNode newNode, EditNode parentNode)
EditNode
is converted to a different type when moved from
one container to another.origNode
- node that was being movednewNode
- node that was placed into new containerparentNode
- parent node of the droppublic void copyEditNodes(EditNode editNode)
pasteEditNodes()
.editNode
- public void copyEditNodes(EditNode... editNode)
pasteEditNodes()
.editNode
- public void deselectAllEditNodes()
public void deselectEditNodes(java.util.List editNodes)
editNodes
- editNodes to deselectpublic void destroyAll()
public com.google.gwt.event.shared.HandlerRegistration addEditMaskClickedHandler(EditMaskClickedHandler handler)
Executed when the left mouse is clicked (pressed and then released) on any selectable component with EditProxy.editMask
enabled. implementation.
addEditMaskClickedHandler
in interface HasEditMaskClickedHandlers
handler
- the editMaskClicked handlerHandlerRegistration
used to remove this handlerpublic java.lang.Boolean editNodeHasDataSource(EditNode editNode)
editNode
have a DataSource assigned?editNode
- editNode to check for a DataSourcepublic java.lang.Boolean editNodeHasFields(EditNode editNode)
editNode
have at least one field assigned? Note that if this
method is called for a component editNode that could have child components rather than fields, it will return
true
if there are any child nodes other than a DataSource.
editNode
- editNode to check for fieldspublic com.google.gwt.event.shared.HandlerRegistration addEditNodeUpdatedHandler(EditNodeUpdatedHandler handler)
Fires whenever editNode.defaults are modified by setNodeProperties() and/or editProxy features
addEditNodeUpdatedHandler
in interface HasEditNodeUpdatedHandlers
handler
- the editNodeUpdated handlerHandlerRegistration
used to remove this handlerpublic void enableEditing(EditNode editNode)
EditNode
. This is a shortcut for calling Canvas.setEditMode()
.editNode
- the EditNode on which to enable editingCanvas.setEditMode(boolean)
,
isNodeEditingOn(com.smartgwt.client.tools.EditNode)
public EditNode[] getEditNodesByType(java.lang.String... types)
EditNodes
as an array that match the specified type or types. By
default the types
are matched against the EditNode.type
or the general type of the component. By setting strict
to true
the match is made against the
editNode type exactly. For example, searching for "Canvas" nodes will return nodes for any component that derives
from Canvas unless strict
is set. In the strict case, the search will only return nodes for explict Canvas
nodes.
types
- type or types of nodes to findpublic EditNode[] getEditNodesByType(java.lang.String types)
EditNodes
as an array that match the specified type or types. By
default the types
are matched against the EditNode.type
or the general type of the component. By setting strict
to true
the match is made against the
editNode type exactly. For example, searching for "Canvas" nodes will return nodes for any component that derives
from Canvas unless strict
is set. In the strict case, the search will only return nodes for explict Canvas
nodes.
types
- type or types of nodes to findpublic EditNode[] getEditNodesByType(java.lang.String[] types, boolean strict)
EditNodes
as an array that match the specified type or types. By
default the types
are matched against the EditNode.type
or the general type of the component. By setting strict
to true
the match is made against the
editNode type exactly. For example, searching for "Canvas" nodes will return nodes for any component that derives
from Canvas unless strict
is set. In the strict case, the search will only return nodes for explict Canvas
nodes.
types
- type or types of nodes to findstrict
- true to match the EditNode.type
exactlypublic Tree getEditNodeTree()
Note: the returned tree is read-only and must only be modified by calling
methods on EditContext like addNode()
or setNodeProperties()
.
public void getNodeProperty(EditNode editNode, java.lang.String name)
editNode
- the editNode to queryname
- the property name to querysetNodeProperties(com.smartgwt.client.tools.EditNode, com.smartgwt.client.widgets.Canvas)
public void getPaletteNodesFromJS(java.lang.String jsCode, PaletteNodeCallback callback)
PaletteNodes
from a JavaScript source representation. By
default, components that have global IDs
will not actually be allowed
to take those global IDs - instead, only widgets that have one of the global IDs passed as the globals
parameter will actually receive their global IDs. To override this behavior, pass the special value ALL_GLOBALS
for the globals
parameter.
jsCode
- JavaScript code to eval.callback
- Callback used to return the PaletteNodespublic void getPaletteNodesFromJS(java.lang.String jsCode, PaletteNodeCallback callback, java.lang.String[] globals)
PaletteNodes
from a JavaScript source representation. By
default, components that have global IDs
will not actually be allowed
to take those global IDs - instead, only widgets that have one of the global IDs passed as the globals
parameter will actually receive their global IDs. To override this behavior, pass the special value ALL_GLOBALS
for the globals
parameter.
jsCode
- JavaScript code to eval.callback
- Callback used to return the PaletteNodesglobals
- widgets to allow to take their global IDspublic void getPaletteNodesFromXML(java.lang.String xmlString, PaletteNodeCallback callback)
PaletteNodes
from an XML representation, but do not add them to the
EditContext.xmlString
- XML stringcallback
- Callback used to return the PaletteNodesserializeAllEditNodes()
,
serializeEditNodes(com.smartgwt.client.tools.EditNode[])
public EditNode getRootEditNode()
EditNode
of the EditContext typically created from rootComponent
.public EditNode getSelectedEditNode()
public EditNode[] getSelectedEditNodes()
public void inlineEditorShowing(FormItem field, java.lang.String type)
field
- the field within the inline editor when showing. null if the editor is closed.type
- the type of editor showing: "title" or "value"public boolean isEditNodeSelected()
public boolean isNodeEditingOn(EditNode editNode)
editNode
is in edit mode.editNode
- the EditNodepublic EditNode makeEditNode(PaletteNode paletteNode)
defaultPalette
. Does not add the newly created EditNode to an EditContext.paletteNode
- the palette node to use to create the new nodepublic PaletteNode makePaletteNode(EditNode editNode)
PaletteNode
from an EditNode
in this
context's editNodeTree
. This essentially creates a new
PaletteNode
with the EditNode.defaults
from the passed editNode
. The returned paletteNode
could then be used with
addFromPaletteNode()
to effectively create a copy of
the original editNode - specifically a new editNode with a new EditNode.liveObject
created from the same defaults.
However note that makePaletteNode()
does not copy
descendant nodes - use makePaletteNodeTree()
for that.
May return null if the passed editNode cannot validly by transformed into a paletteNode, for example if EditNode.canDuplicate
was set false.
editNode
- the editNode to use to make a paletteNodepublic Tree makePaletteNodeTree(EditNode editNode)
Tree
of PaletteNodes
from an EditNode
in this context's editNodeTree
, by using makePaletteNode()
on the passed EditNode
and its
descendents within the editNodeTree
. The root node of
the returned Tree
will be a PaletteNode derived from the passed
EditNode
.
editNode
- root editNode to make Tree of PaletteNodes frompublic com.google.gwt.event.shared.HandlerRegistration addNodeAddedHandler(NodeAddedHandler handler)
Notification fired when an EditNode
has been added to the EditContext
addNodeAddedHandler
in interface HasNodeAddedHandlers
handler
- the nodeAdded handlerHandlerRegistration
used to remove this handlerpublic void nodeMoved(EditNode oldNode, EditNode oldParentNode, EditNode newNode, EditNode newParentNode, EditNode rootNode)
EditNode
has been moved to a new position in the component
tree.oldNode
- node that was removedoldParentNode
- parent node of the node that was removednewNode
- node that was addednewParentNode
- parent node of the node that was addedrootNode
- root node of the edit contextpublic void nodeRemoved(EditNode removedNode, EditNode parentNode, EditNode rootNode)
EditNode
has been removed from the EditContextremovedNode
- node that was removedparentNode
- parent node of the node that was removedrootNode
- root node of the edit contextpublic void pasteEditNodes()
editNodes
previously captured via copyEditNodes()
. New editNodes will be added as root-level nodes of the editNodeTree
unless a targetEditNode
is passed.
public void pasteEditNodes(EditNode targetEditNode)
editNodes
previously captured via copyEditNodes()
. New editNodes will be added as root-level nodes of the editNodeTree
unless a targetEditNode
is passed.
targetEditNode
- public void removeAll()
EditNodes
from the EditContext, but does not destroy the liveObjects
.public void removeNode(EditNode editNode)
EditNode
from the EditContext. The editNode liveObject is not
destroyed.editNode
- node to be removedpublic void removeNodeProperties(EditNode editNode, java.lang.String[] properties)
liveObject
is not updated by this method. To set a property to
null (rather than removing it), use setNodeProperties()
instead.editNode
- the editNode to updateproperties
- an array of property names to removesetNodeProperties(com.smartgwt.client.tools.EditNode, com.smartgwt.client.widgets.Canvas)
public void selectAllEditNodes()
public com.google.gwt.event.shared.HandlerRegistration addSelectedEditNodesUpdatedHandler(SelectedEditNodesUpdatedHandler handler)
Called when editMode selection changes. Note this method fires exactly once for any given change.
This event is fired once after selection/deselection has completed. The result is one event per mouse-down event. For a drag selection there will be one event fired when the range is completed.
addSelectedEditNodesUpdatedHandler
in interface HasSelectedEditNodesUpdatedHandlers
handler
- the selectedEditNodesUpdated handlerHandlerRegistration
used to remove this handlerpublic void selectEditNode(EditNode editNode)
editNode
- editNode to selectpublic void selectSingleEditNode(EditNode editNode)
editNode
- editNode to selectpublic java.lang.String serializeAllEditNodes()
EditNodes
to an XML representation of PaletteNodes
. The result can be supplied to addPaletteNodesFromXML()
to recreate the EditNodes.addPaletteNodesFromXML(java.lang.String)
public java.lang.String serializeAllEditNodes(SerializationSettings settings)
EditNodes
to an XML representation of PaletteNodes
. The result can be supplied to addPaletteNodesFromXML()
to recreate the EditNodes.settings
- Additional serialization settingsaddPaletteNodesFromXML(java.lang.String)
public java.lang.String serializeAllEditNodesAsJSON()
EditNodes
to a JSON representation of PaletteNodes
. The result can be supplied to addPaletteNodesFromJSON()
to recreate the EditNodes.addPaletteNodesFromJSON(java.lang.String)
public java.lang.String serializeAllEditNodesAsJSON(SerializationSettings settings)
EditNodes
to a JSON representation of PaletteNodes
. The result can be supplied to addPaletteNodesFromJSON()
to recreate the EditNodes.settings
- Additional serialization settingsaddPaletteNodesFromJSON(java.lang.String)
public java.lang.String serializeEditNodes(EditNode[] nodes)
EditNodes
to an XML representation of PaletteNodes
. Note that the EditNodes must have been added to this EditContext.
The result can be supplied to addPaletteNodesFromXML()
to recreate the EditNodes.nodes
- EditNodes to be serializedpublic java.lang.String serializeEditNodes(EditNode[] nodes, SerializationSettings settings)
EditNodes
to an XML representation of PaletteNodes
. Note that the EditNodes must have been added to this EditContext.
The result can be supplied to addPaletteNodesFromXML()
to recreate the EditNodes.nodes
- EditNodes to be serializedsettings
- Additional serialization settingspublic java.lang.String serializeEditNodesAsJSON(EditNode[] nodes)
EditNodes
to a JSON representation of PaletteNodes
. Note that the EditNodes must have been added to this EditContext.
The result can be supplied to addPaletteNodesFromJSON()
to recreate the EditNodes.nodes
- EditNodes to be serializedpublic java.lang.String serializeEditNodesAsJSON(EditNode[] nodes, SerializationSettings settings)
EditNodes
to a JSON representation of PaletteNodes
. Note that the EditNodes must have been added to this EditContext.
The result can be supplied to addPaletteNodesFromJSON()
to recreate the EditNodes.nodes
- EditNodes to be serializedsettings
- Additional serialization settingspublic void setEditProxyProperties(EditNode editNode, EditProxy properties)
EditProxy
properties. If editProxy has not yet been created,
editProxyProperties
is updated or created instead.editNode
- the editNode to updateproperties
- the properties to applypublic void setNodeProperties(EditNode editNode, Canvas properties)
removeNodeProperties()
instead.editNode
- the editNode to updateproperties
- the properties to applyremoveNodeProperties(com.smartgwt.client.tools.EditNode, java.lang.String[])
,
getNodeProperty(com.smartgwt.client.tools.EditNode, java.lang.String)
public void setNodeProperties(EditNode editNode, Canvas properties, java.lang.Boolean skipLiveObjectUpdate)
removeNodeProperties()
instead.editNode
- the editNode to updateproperties
- the properties to applyskipLiveObjectUpdate
- whether to skip updating the liveObject
, e.g. if you have
already updated the liveObjectremoveNodeProperties(com.smartgwt.client.tools.EditNode, java.lang.String[])
,
getNodeProperty(com.smartgwt.client.tools.EditNode, java.lang.String)
public void substitutedNode(PaletteNode origNode, PaletteNode newNode, EditNode parentNode)
PaletteNode
is substituted for one being dropped
into a container.origNode
- node that was originally droppednewNode
- node that was substitutedparentNode
- parent node of the droppublic void setNodeProperties(EditNode editNode, DrawItem properties) throws java.lang.IllegalStateException
removeNodeProperties()
instead.editNode
- the editNode to updateproperties
- the properties to applyjava.lang.IllegalStateException
removeNodeProperties(com.smartgwt.client.tools.EditNode, java.lang.String[])
public void setNodeProperties(EditNode editNode, DrawItem properties, java.lang.Boolean skipLiveObjectUpdate) throws java.lang.IllegalStateException
removeNodeProperties()
instead.editNode
- the editNode to updateproperties
- the properties to applyskipLiveObjectUpdate
- whether to skip updating the
liveObject
,
e.g. if you have already updated the liveObjectjava.lang.IllegalStateException
removeNodeProperties(com.smartgwt.client.tools.EditNode, java.lang.String[])
protected void setNodeProperties(EditNode editNode, com.google.gwt.core.client.JavaScriptObject properties)
protected void setNodeProperties(EditNode editNode, com.google.gwt.core.client.JavaScriptObject properties, java.lang.Boolean skipLiveObjectUpdate)