com.smartgwt.client.tools

## Interface EditContext

- All Known Implementing Classes:
    EditPane, EditTree

      public interface EditContext

  An EditContext provides an editing environment for a set of components.

  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.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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)` Add a new `EditNode` to the EditContext, under the specified parent.
    `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 `EditContext.serializeAllEditNodesAsJSON()` or `EditContext.serializeEditNodesAsJSON()`.
    `void` | `addPaletteNodesFromJSON(java.lang.String jsonString, EditNode parentNode)`
    `void` | `addPaletteNodesFromJSON(java.lang.String jsonString, EditNode parentNode, java.lang.String[] globals)` Recreate `EditNodes` from a JSON representation of `PaletteNodes` (possibly created by calling `EditContext.serializeAllEditNodesAsJSON()` or `EditContext.serializeEditNodesAsJSON()`.
    `void` | `addPaletteNodesFromXML(java.lang.String xmlString)` Recreate `EditNodes` from an XML representation of `PaletteNodes` (possibly created by calling `EditContext.serializeAllEditNodes()` or `EditContext.serializeEditNodes()`.
    `void` | `addPaletteNodesFromXML(java.lang.String xmlString, EditNode parentNode)`
    `void` | `addPaletteNodesFromXML(java.lang.String xmlString, EditNode parentNode, java.lang.String[] globals)` Recreate `EditNodes` from an XML representation of `PaletteNodes` (possibly created by calling `EditContext.serializeAllEditNodes()` or `EditContext.serializeEditNodes()`.
    `void` | `destroyAll()` Removes all `EditNodes` from the EditContext, and calls `destroy()` on the `liveObjects`.
    `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`).
    `Palette[]` | `getExtraPalettes()` Additional `Palettes` to consult for metadata when deserializing `Edit Nodes`.
    `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.
    `boolean` | `getPersistCoordinates()` If enabled, changes to a `liveObject`'s position and size will be persisted to their `EditNodes`.
    `EditNode` | `makeEditNode(PaletteNode paletteNode)` Creates and returns an EditNode using the `defaultPalette`.
    `void` | `removeAll()` Removes all `EditNodes` from the EditContext, but does not destroy the `liveObjects`.
    `void` | `removeNodeProperties(EditNode editNode, java.lang.String[] properties)` Removes the specified properties from an editNode's serializable "defaults".
    `java.lang.String` | `serializeAllEditNodes()` Serialize the tree of `EditNodes` to an XML representation of `PaletteNodes`.
    `java.lang.String` | `serializeAllEditNodes(java.lang.Boolean serverless)` 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(java.lang.Boolean serverless)` 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, java.lang.Boolean serverless)` 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, java.lang.Boolean serverless)` Serialize the provided `EditNodes` to a JSON representation of `PaletteNodes`.
    `void` | `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`).
    `void` | `setExtraPalettes(Palette... extraPalettes)` Additional `Palettes` to consult for metadata when deserializing `Edit Nodes`.
    `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` | `setPersistCoordinates(boolean persistCoordinates)` If enabled, changes to a `liveObject`'s position and size will be persisted to their `EditNodes`.

- - ### Method Detail

    - #### setDefaultPalette

          void 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`.

      Parameters:
        `defaultPalette` - the default Palette. Default value is null

    - #### getDefaultPalette

          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`.

      Returns:
        `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`.

    - #### setExtraPalettes

          void setExtraPalettes(Palette... extraPalettes)

      Additional `Palettes` to consult for metadata when deserializing `Edit Nodes`. Note that the `defaultPalette` is always consulted and need not be provided again here.
      Parameters:
        `extraPalettes` - Default value is null

    - #### getExtraPalettes

          Palette[] getExtraPalettes()

      Additional `Palettes` to consult for metadata when deserializing `Edit Nodes`. Note that the `defaultPalette` is always consulted and need not be provided again here.
      Returns:
        Palette...

    - #### setPersistCoordinates

          void setPersistCoordinates(boolean persistCoordinates)

      If enabled, changes to a `liveObject`'s position and size will be persisted to their `EditNodes`. This applies to both programmatic calls and user interaction (drag reposition or drag resize).
      Parameters:
        `persistCoordinates` - Default value is true

    - #### getPersistCoordinates

          boolean getPersistCoordinates()

      If enabled, changes to a `liveObject`'s position and size will be persisted to their `EditNodes`. This applies to both programmatic calls and user interaction (drag reposition or drag resize).
      Returns:
        boolean

    - #### addFromPaletteNode

          EditNode addFromPaletteNode(PaletteNode paletteNode)

      Creates a new EditNode from a PaletteNode, using the `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.
      Parameters:
        `paletteNode` - the palette node to use to create the new node
      Returns:
        the EditNode created from the paletteNode
      See Also:
        `addFromPaletteNodes(com.smartgwt.client.tools.PaletteNode[])`

    - #### addFromPaletteNode

          EditNode addFromPaletteNode(PaletteNode paletteNode,
                                    EditNode parentNode)

      Creates a new EditNode from a PaletteNode, using the `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.
      Parameters:
        `paletteNode` - the palette node to use to create the new node
        `parentNode` - optional the parent node if the new node should appear under a specific parent
      Returns:
        the EditNode created from the paletteNode
      See Also:
        `addFromPaletteNodes(com.smartgwt.client.tools.PaletteNode[])`

    - #### addFromPaletteNodes

          EditNode[] addFromPaletteNodes(PaletteNode[] paletteNodes)

      Add the supplied `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.
      Parameters:
        `paletteNodes` - array of PaletteNodes
      Returns:
        an array of the EditNodes added to the parentNode
      See Also:
        `addFromPaletteNode(com.smartgwt.client.tools.PaletteNode)`

    - #### addFromPaletteNodes

          EditNode[] addFromPaletteNodes(PaletteNode[] paletteNodes,
                                       EditNode parentNode)

      Add the supplied `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.
      Parameters:
        `paletteNodes` - array of PaletteNodes
        `parentNode` - parent to add to (defaults to the root)
      Returns:
        an array of the EditNodes added to the parentNode
      See Also:
        `addFromPaletteNode(com.smartgwt.client.tools.PaletteNode)`

    - #### addNode

          EditNode addNode(EditNode newNode)

      Add a new `EditNode` to the EditContext, under the specified parent.

      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.

      Parameters:
        `newNode` - new node to be added
      Returns:
        newNodenode added

    - #### addNode

          EditNode addNode(EditNode newNode,
                         EditNode parentNode)

      See Also:
        `EditContext#addNode()}`

    - #### addNode

          EditNode addNode(EditNode newNode,
                         EditNode parentNode,
                         java.lang.Integer index)

      See Also:
        `EditContext#addNode()}`

    - #### addNode

          EditNode addNode(EditNode newNode,
                         EditNode parentNode,
                         java.lang.Integer index,
                         java.lang.String parentProperty)

      See Also:
        `EditContext#addNode()}`

    - #### addNode

          EditNode addNode(EditNode newNode,
                         EditNode parentNode,
                         java.lang.Integer index,
                         java.lang.String parentProperty,
                         java.lang.Boolean skipParentComponentAdd)

      Add a new `EditNode` to the EditContext, under the specified parent.

      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.

      Parameters:
        `newNode` - new node to be added
        `parentNode` - parent to add the new node under.
        `index` - index within the parent's children array
        `parentProperty` - the property of the liveParent to which the new node should be added, if not auto-discoverable from the schema
        `skipParentComponentAdd` - whether to skip adding the liveObject to the liveParent (default false)
      Returns:
        newNodenode added

    - #### addPaletteNodesFromJS

          void addPaletteNodesFromJS(java.lang.String jsCode)

      Add `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.

      Parameters:
        `jsCode` - JavaScript code to eval.

    - #### addPaletteNodesFromJS

          void addPaletteNodesFromJS(java.lang.String jsCode,
                                   EditNode parentNode)

      See Also:
        `EditContext#addPaletteNodesFromJS()}`

    - #### addPaletteNodesFromJS

          void addPaletteNodesFromJS(java.lang.String jsCode,
                                   EditNode parentNode,
                                   java.lang.String[] globals)

      Add `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.

      Parameters:
        `jsCode` - JavaScript code to eval.
        `parentNode` - parent node (defaults to the root)
        `globals` - widgets to allow to take their global IDs

    - #### addPaletteNodesFromJSON

          void addPaletteNodesFromJSON(java.lang.String jsonString)

      Recreate `EditNodes` from a JSON representation of `PaletteNodes` (possibly created by calling `EditContext.serializeAllEditNodesAsJSON()` or `EditContext.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.

      Parameters:
        `jsonString` - JSON string
      See Also:
        `serializeAllEditNodesAsJSON()`, `serializeEditNodesAsJSON(com.smartgwt.client.tools.EditNode[])`

    - #### addPaletteNodesFromJSON

          void addPaletteNodesFromJSON(java.lang.String jsonString,
                                     EditNode parentNode)

      See Also:
        `EditContext#addPaletteNodesFromJSON()}`

    - #### addPaletteNodesFromJSON

          void addPaletteNodesFromJSON(java.lang.String jsonString,
                                     EditNode parentNode,
                                     java.lang.String[] globals)

      Recreate `EditNodes` from a JSON representation of `PaletteNodes` (possibly created by calling `EditContext.serializeAllEditNodesAsJSON()` or `EditContext.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.

      Parameters:
        `jsonString` - JSON string
        `parentNode` - parent node (defaults to the root)
        `globals` - widgets to allow to take their global IDs
      See Also:
        `serializeAllEditNodesAsJSON()`, `serializeEditNodesAsJSON(com.smartgwt.client.tools.EditNode[])`

    - #### addPaletteNodesFromXML

          void addPaletteNodesFromXML(java.lang.String xmlString)

      Recreate `EditNodes` from an XML representation of `PaletteNodes` (possibly created by calling `EditContext.serializeAllEditNodes()` or `EditContext.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.

      Parameters:
        `xmlString` - XML string
      See Also:
        `serializeAllEditNodes()`, `serializeEditNodes(com.smartgwt.client.tools.EditNode[])`

    - #### addPaletteNodesFromXML

          void addPaletteNodesFromXML(java.lang.String xmlString,
                                    EditNode parentNode)

      See Also:
        `EditContext#addPaletteNodesFromXML()}`

    - #### addPaletteNodesFromXML

          void addPaletteNodesFromXML(java.lang.String xmlString,
                                    EditNode parentNode,
                                    java.lang.String[] globals)

      Recreate `EditNodes` from an XML representation of `PaletteNodes` (possibly created by calling `EditContext.serializeAllEditNodes()` or `EditContext.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.

      Parameters:
        `xmlString` - XML string
        `parentNode` - parent node (defaults to the root)
        `globals` - widgets to allow to take their global IDs
      See Also:
        `serializeAllEditNodes()`, `serializeEditNodes(com.smartgwt.client.tools.EditNode[])`

    - #### destroyAll

          void destroyAll()

      Removes all `EditNodes` from the EditContext, and calls `destroy()` on the `liveObjects`.

    - #### getPaletteNodesFromJS

          void getPaletteNodesFromJS(java.lang.String jsCode,
                                   PaletteNodeCallback callback)

      Obtain `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.

      Parameters:
        `jsCode` - JavaScript code to eval.
        `callback` - Callback used to return the PaletteNodes

    - #### getPaletteNodesFromJS

          void getPaletteNodesFromJS(java.lang.String jsCode,
                                   PaletteNodeCallback callback,
                                   java.lang.String[] globals)

      Obtain `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.

      Parameters:
        `jsCode` - JavaScript code to eval.
        `callback` - Callback used to return the PaletteNodes
        `globals` - widgets to allow to take their global IDs

    - #### getPaletteNodesFromXML

          void getPaletteNodesFromXML(java.lang.String xmlString,
                                    PaletteNodeCallback callback)

      Obtain `PaletteNodes` from an XML representation, but do not add them to the EditContext.
      Parameters:
        `xmlString` - XML string
        `callback` - Callback used to return the PaletteNodes
      See Also:
        `serializeAllEditNodes()`, `serializeEditNodes(com.smartgwt.client.tools.EditNode[])`

    - #### makeEditNode

          EditNode makeEditNode(PaletteNode paletteNode)

      Creates and returns an EditNode using the `defaultPalette`. Does not add the newly created EditNode to the EditContext.
      Parameters:
        `paletteNode` - the palette node to use to create the new node
      Returns:
        the EditNode created from the paletteNode

    - #### removeAll

          void removeAll()

      Removes all `EditNodes` from the EditContext, but does not destroy the `liveObjects`.

    - #### removeNodeProperties

          void removeNodeProperties(EditNode editNode,
                                  java.lang.String[] properties)

      Removes the specified properties from an editNode's serializable "defaults". Note that the `liveObject` is not updated by this method. To set a property to null (rather than removing it), use `setNodeProperties()` instead.
      Parameters:
        `editNode` - the editNode to update
        `properties` - an array of property names to remove
      See Also:
        `setNodeProperties(com.smartgwt.client.tools.EditNode, com.smartgwt.client.widgets.Canvas)`

    - #### serializeAllEditNodes

          java.lang.String serializeAllEditNodes()

      Serialize the tree of `EditNodes` to an XML representation of `PaletteNodes`. The result can be supplied to `addPaletteNodesFromXML()` to recreate the EditNodes.
      Returns:
        an XML representation of PaletteNodes which can be used to recreate the tree of EditNodes.
      See Also:
        `addPaletteNodesFromXML(java.lang.String)`

    - #### serializeAllEditNodes

          java.lang.String serializeAllEditNodes(java.lang.Boolean serverless)

      Serialize the tree of `EditNodes` to an XML representation of `PaletteNodes`. The result can be supplied to `addPaletteNodesFromXML()` to recreate the EditNodes.
      Parameters:
        `serverless` - If true, specify DataSources in full rather than assuming they can be downloaded from the server. Defaults to false.
      Returns:
        an XML representation of PaletteNodes which can be used to recreate the tree of EditNodes.
      See Also:
        `addPaletteNodesFromXML(java.lang.String)`

    - #### serializeAllEditNodesAsJSON

          java.lang.String serializeAllEditNodesAsJSON()

      Encode the tree of `EditNodes` to a JSON representation of `PaletteNodes`. The result can be supplied to `addPaletteNodesFromJSON()` to recreate the EditNodes.
      Returns:
        a JSON representation of PaletteNodes which can be used to recreate the tree of EditNodes.
      See Also:
        `addPaletteNodesFromJSON(java.lang.String)`

    - #### serializeAllEditNodesAsJSON

          java.lang.String serializeAllEditNodesAsJSON(java.lang.Boolean serverless)

      Encode the tree of `EditNodes` to a JSON representation of `PaletteNodes`. The result can be supplied to `addPaletteNodesFromJSON()` to recreate the EditNodes.
      Parameters:
        `serverless` - If true, specify DataSources in full rather than assuming they can be downloaded from the server. Defaults to false.
      Returns:
        a JSON representation of PaletteNodes which can be used to recreate the tree of EditNodes.
      See Also:
        `addPaletteNodesFromJSON(java.lang.String)`

    - #### serializeEditNodes

          java.lang.String serializeEditNodes(EditNode[] nodes)

      Serialize the provided `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.
      Parameters:
        `nodes` - EditNodes to be serialized
      Returns:
        an XML representtion of the provided EditNodes

    - #### serializeEditNodes

          java.lang.String serializeEditNodes(EditNode[] nodes,
                                            java.lang.Boolean serverless)

      Serialize the provided `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.
      Parameters:
        `nodes` - EditNodes to be serialized
        `serverless` - If true, specify DataSources in full rather than assuming they can be downloaded from the server. Defaults to false.
      Returns:
        an XML representtion of the provided EditNodes

    - #### serializeEditNodesAsJSON

          java.lang.String serializeEditNodesAsJSON(EditNode[] nodes)

      Serialize the provided `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.
      Parameters:
        `nodes` - EditNodes to be serialized
      Returns:
        a JSON representtion of the provided EditNodes

    - #### serializeEditNodesAsJSON

          java.lang.String serializeEditNodesAsJSON(EditNode[] nodes,
                                                  java.lang.Boolean serverless)

      Serialize the provided `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.
      Parameters:
        `nodes` - EditNodes to be serialized
        `serverless` - If true, specify DataSources in full rather than assuming they can be downloaded from the server. Defaults to false.
      Returns:
        a JSON representtion of the provided EditNodes

    - #### setNodeProperties

          void setNodeProperties(EditNode editNode,
                               Canvas properties)

      Update an editNode's serializable "defaults" with the supplied properties. If you wish to remove a property from the defaults (rather than setting it to null), then use `removeNodeProperties()` instead.
      Parameters:
        `editNode` - the editNode to update
        `properties` - the properties to apply
      See Also:
        `removeNodeProperties(com.smartgwt.client.tools.EditNode, java.lang.String[])`

    - #### setNodeProperties

          void setNodeProperties(EditNode editNode,
                               Canvas properties,
                               java.lang.Boolean skipLiveObjectUpdate)

      Update an editNode's serializable "defaults" with the supplied properties. If you wish to remove a property from the defaults (rather than setting it to null), then use `removeNodeProperties()` instead.
      Parameters:
        `editNode` - the editNode to update
        `properties` - the properties to apply
        `skipLiveObjectUpdate` - whether to skip updating the `liveObject`, e.g. if you have already updated the liveObject
      See Also:
        `removeNodeProperties(com.smartgwt.client.tools.EditNode, java.lang.String[])`