com.smartgwt.client.tools

## Class EditProxy

- java.lang.Object
- - com.smartgwt.client.core.BaseClass
  - - com.smartgwt.client.tools.EditProxy

- All Implemented Interfaces:
    com.google.gwt.event.shared.HasHandlers
  Direct Known Subclasses:
    CanvasEditProxy, DrawItemEditProxy, FormItemEditProxy

      public class EditProxy
      extends BaseClass

  An EditProxy is attached to an editable component when editMode is enabled. This proxy has methods and properties which affect the component during editing.
  See Also:
    `DevTools overview and related methods`

- - ### Field Summary

    - ### Fields inherited from class com.smartgwt.client.core.BaseClass

      `config, configOnly, factoryCreated, factoryProperties, id, scClassName`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `EditProxy()`
    `EditProxy(com.google.gwt.core.client.JavaScriptObject jsObj)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `com.google.gwt.core.client.JavaScriptObject` | `create()`
    `java.lang.Boolean` | `getAllowNestedDrops()` This property acts as a component-specific override for the `EditContext.allowNestedDrops` property.
    `java.lang.Boolean` | `getAutoMaskChildren()` When child nodes are added to an EditContext, should they be masked by setting `useEditMask` `true` if not explicitly set?
    `java.lang.Boolean` | `getBringToFrontOnSelect()` Should component be brought to front when selected? Applies when `useEditMask`:true.
    `java.lang.Boolean` | `getCanSelect()` Can this component be selected? Selection is allowed unless this property is set to `false`.
    `java.lang.Boolean` | `getCanSelectChildren()` Whether to allow selection of the children of this `EditNode`.
    `java.lang.Boolean` | `getChildrenSnapResizeToGrid()` If not null the `Canvas.childrenSnapResizeToGrid` on the component represented by this EditProxy is set to this value only while in edit mode.
    `java.lang.Boolean` | `getChildrenSnapToGrid()` If not null the `Canvas.childrenSnapToGrid` on the component represented by this EditProxy is set to this value only while in edit mode.
    `Canvas` | `getEditMask()` An editMask is created for any component placed into editMode with `useEditMask`:true.
    `Canvas` | `getHoopSelector()` Hoop selector canvas used for selecting multiple components.
    `InlineEditEvent` | `getInlineEditEvent()` Event that triggers inline editing, showing the `inlineEditForm`, which consists of a single text input (single or multi-line according to `inlineEditMultiline`) shown in the `inlineEditForm` AutoChild.
    `DynamicForm` | `getInlineEditForm()` Note : This API is non-functional (always returns null) and exists only to make you aware that this MultiAutoChild exists.
    `Label` | `getInlineEditInstructionLabel()` Label AutoChild used to display `inlineEditInstructions` below the text entry area if provided.
    `java.lang.String` | `getInlineEditInstructions()` Instructions that appear below the text entry area if inline editing is enabled.
    `java.lang.Boolean` | `getInlineEditMultiline()` Whether inline editing should be single or multi-line.
    `java.lang.Boolean` | `getInlineEditOnDrop()` Should the inline editor be shown when new component is first dropped?
    `void` | `getInlineEditText()` Returns the text based on the current component state to be edited inline.
    `com.google.gwt.core.client.JavaScriptObject` | `getJsObj()`
    `com.google.gwt.core.client.JavaScriptObject` | `getOrCreateJsObj()`
    `static EditProxy` | `getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `java.lang.Boolean` | `getPersistCoordinates()` Changes to all child `liveObject`'s position and size can be persisted to their `EditNodes` based on this attribute setting and `EditContext.persistCoordinates`.
    `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.
    `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 `selectedAppearance` is "tintMask".
    `java.lang.Integer` | `getSelectedTintOpacity()` Opacity applied to `editMask` of selected component when `selectedAppearance` is "tintMask".
    `java.lang.Boolean` | `getShowDragHandle()` Should drag handles or thumb be shown when this component is selected? These are shown unless this property is set to `false`.
    `java.lang.Boolean` | `getSupportsInlineEdit()` Whether this EditProxy has an inline edit behavior, which allows an end user to configure a component by editing a simple text representation of its configuration.
    `java.lang.Boolean` | `getUseCopyPasteShortcuts()` Whether to enable keyboard shortcuts to `copy` and `paste` `editNodes`.
    `java.lang.Boolean` | `getUseEditMask()` When `true` an `editMask` will be auto-generated and placed over the component to allow selection, positioning and resizing.
    `boolean` | `isCreated()`
    `EditProxy` | `setAllowNestedDrops(java.lang.Boolean allowNestedDrops)` This property acts as a component-specific override for the `EditContext.allowNestedDrops` property.
    `EditProxy` | `setAutoMaskChildren(java.lang.Boolean autoMaskChildren)` When child nodes are added to an EditContext, should they be masked by setting `useEditMask` `true` if not explicitly set?
    `EditProxy` | `setBringToFrontOnSelect(java.lang.Boolean bringToFrontOnSelect)` Should component be brought to front when selected? Applies when `useEditMask`:true.
    `EditProxy` | `setCanSelect(java.lang.Boolean canSelect)` Can this component be selected? Selection is allowed unless this property is set to `false`.
    `EditProxy` | `setCanSelectChildren(java.lang.Boolean canSelectChildren)` Whether to allow selection of the children of this `EditNode`.
    `EditProxy` | `setChildrenSnapResizeToGrid(java.lang.Boolean childrenSnapResizeToGrid)` If not null the `Canvas.childrenSnapResizeToGrid` on the component represented by this EditProxy is set to this value only while in edit mode.
    `EditProxy` | `setChildrenSnapToGrid(java.lang.Boolean childrenSnapToGrid)` If not null the `Canvas.childrenSnapToGrid` on the component represented by this EditProxy is set to this value only while in edit mode.
    `EditProxy` | `setInlineEditEvent(InlineEditEvent inlineEditEvent)` Event that triggers inline editing, showing the `inlineEditForm`, which consists of a single text input (single or multi-line according to `inlineEditMultiline`) shown in the `inlineEditForm` AutoChild.
    `EditProxy` | `setInlineEditInstructions(java.lang.String inlineEditInstructions)` Instructions that appear below the text entry area if inline editing is enabled.
    `EditProxy` | `setInlineEditMultiline(java.lang.Boolean inlineEditMultiline)` Whether inline editing should be single or multi-line.
    `EditProxy` | `setInlineEditOnDrop(java.lang.Boolean inlineEditOnDrop)` Should the inline editor be shown when new component is first dropped?
    `void` | `setInlineEditText(java.lang.String newValue)` Save the new value into the component's state.
    `void` | `setJavaScriptObject(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `EditProxy` | `setPersistCoordinates(java.lang.Boolean persistCoordinates)` Changes to all child `liveObject`'s position and size can be persisted to their `EditNodes` based on this attribute setting and `EditContext.persistCoordinates`.
    `EditProxy` | `setSelectedAppearance(SelectedAppearance selectedAppearance)` Appearance that is applied to selected component.
    `EditProxy` | `setSelectedBorder(java.lang.String selectedBorder)` Set the CSS border to be applied to the selection outline of the selected components.
    `EditProxy` | `setSelectedLabelBackgroundColor(java.lang.String selectedLabelBackgroundColor)` The background color for the selection outline label.
    `EditProxy` | `setSelectedTintColor(java.lang.String selectedTintColor)` Mask color applied to `editMask` of selected component when `selectedAppearance` is "tintMask".
    `EditProxy` | `setSelectedTintOpacity(java.lang.Integer selectedTintOpacity)` Opacity applied to `editMask` of selected component when `selectedAppearance` is "tintMask".
    `EditProxy` | `setShowDragHandle(java.lang.Boolean showDragHandle)` Should drag handles or thumb be shown when this component is selected? These are shown unless this property is set to `false`.
    `EditProxy` | `setSupportsInlineEdit(java.lang.Boolean supportsInlineEdit)` Whether this EditProxy has an inline edit behavior, which allows an end user to configure a component by editing a simple text representation of its configuration.
    `EditProxy` | `setUseCopyPasteShortcuts(java.lang.Boolean useCopyPasteShortcuts)` Whether to enable keyboard shortcuts to `copy` and `paste` `editNodes`.
    `EditProxy` | `setUseEditMask(java.lang.Boolean useEditMask)` When `true` an `editMask` will be auto-generated and placed over the component to allow selection, positioning and resizing.
    `void` | `showSelectedAppearance(boolean show)` This method applies the `selectedAppearance` to the selected component or resets it to the non-selected appearance.
    `void` | `startInlineEditing()` Manual means of triggering inline editing.
    `void` | `startInlineEditing(java.lang.String appendChar)` Manual means of triggering inline editing.

    - ### Methods inherited from class com.smartgwt.client.core.BaseClass

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

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### EditProxy

          public EditProxy()

    - #### EditProxy

          public EditProxy(com.google.gwt.core.client.JavaScriptObject jsObj)

  - ### Method Detail

    - #### getOrCreateRef

          public static EditProxy getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)

    - #### setJavaScriptObject

          public void setJavaScriptObject(com.google.gwt.core.client.JavaScriptObject jsObj)

      Overrides:
        `setJavaScriptObject` in class `BaseClass`

    - #### create

          public com.google.gwt.core.client.JavaScriptObject create()

      Specified by:
        `create` in class `BaseClass`

    - #### isCreated

          public boolean isCreated()

      Overrides:
        `isCreated` in class `BaseClass`

    - #### getJsObj

          public com.google.gwt.core.client.JavaScriptObject getJsObj()

      Overrides:
        `getJsObj` in class `BaseClass`

    - #### getOrCreateJsObj

          public com.google.gwt.core.client.JavaScriptObject getOrCreateJsObj()

      Overrides:
        `getOrCreateJsObj` in class `BaseClass`

    - #### setAllowNestedDrops

          public EditProxy setAllowNestedDrops(java.lang.Boolean allowNestedDrops)
                                        throws java.lang.IllegalStateException

      This property acts as a component-specific override for the `EditContext.allowNestedDrops` property. Unless explicitly set to false, the `EditContext.allowNestedDrops` controls whether a drop can be made into this component.
      Parameters:
        `allowNestedDrops` - New allowNestedDrops value. Default value is null
      Returns:
        `EditProxy` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getAllowNestedDrops

          public java.lang.Boolean getAllowNestedDrops()

      This property acts as a component-specific override for the `EditContext.allowNestedDrops` property. Unless explicitly set to false, the `EditContext.allowNestedDrops` controls whether a drop can be made into this component.
      Returns:
        Current allowNestedDrops value. Default value is null

    - #### setAutoMaskChildren

          public EditProxy setAutoMaskChildren(java.lang.Boolean autoMaskChildren)
                                        throws java.lang.IllegalStateException

      When child nodes are added to an EditContext, should they be masked by setting `useEditMask` `true` if not explicitly set?
      Parameters:
        `autoMaskChildren` - New autoMaskChildren value. Default value is null
      Returns:
        `EditProxy` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getAutoMaskChildren

          public java.lang.Boolean getAutoMaskChildren()

      When child nodes are added to an EditContext, should they be masked by setting `useEditMask` `true` if not explicitly set?
      Returns:
        Current autoMaskChildren value. Default value is null

    - #### setBringToFrontOnSelect

          public EditProxy setBringToFrontOnSelect(java.lang.Boolean bringToFrontOnSelect)
                                            throws java.lang.IllegalStateException

      Should component be brought to front when selected? Applies when `useEditMask`:true.
      Parameters:
        `bringToFrontOnSelect` - New bringToFrontOnSelect value. Default value is null
      Returns:
        `EditProxy` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getBringToFrontOnSelect

          public java.lang.Boolean getBringToFrontOnSelect()

      Should component be brought to front when selected? Applies when `useEditMask`:true.
      Returns:
        Current bringToFrontOnSelect value. Default value is null

    - #### setCanSelect

          public EditProxy setCanSelect(java.lang.Boolean canSelect)
                                 throws java.lang.IllegalStateException

      Can this component be selected? Selection is allowed unless this property is set to `false`.
      Parameters:
        `canSelect` - New canSelect value. Default value is null
      Returns:
        `EditProxy` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getCanSelect

          public java.lang.Boolean getCanSelect()

      Can this component be selected? Selection is allowed unless this property is set to `false`.
      Returns:
        Current canSelect value. Default value is null

    - #### setCanSelectChildren

          public EditProxy setCanSelectChildren(java.lang.Boolean canSelectChildren)

      Whether to allow selection of the children of this `EditNode`. The appearance and behavior of selected components is controlled by `SelectedAppearance`, or centrally across an `EditContext` via `EditContext.selectedAppearance`.

      Individual children can be marked non-selectable via setting `canSelect` to `false`.

      Use the `EditContext` to access and manipulate the currently selected set of EditNodes, via APIs such as `EditContext.getSelectedEditNode()`, `EditContext.selectSingleEditNode()` and `EditContext.selectedEditNodesUpdated()`.
      If this method is called after the component has been drawn/initialized: Setter for `canSelectChildren`.

      Parameters:
        `canSelectChildren` - the new canSelectChildren. Default value is null
      Returns:
        `EditProxy` instance, for chaining setter calls
      See Also:
        `EditContext.setCanSelectEditNodes(java.lang.Boolean)`

    - #### getCanSelectChildren

          public java.lang.Boolean getCanSelectChildren()

      Whether to allow selection of the children of this `EditNode`. The appearance and behavior of selected components is controlled by `SelectedAppearance`, or centrally across an `EditContext` via `EditContext.selectedAppearance`.

      Individual children can be marked non-selectable via setting `canSelect` to `false`.

      Use the `EditContext` to access and manipulate the currently selected set of EditNodes, via APIs such as `EditContext.getSelectedEditNode()`, `EditContext.selectSingleEditNode()` and `EditContext.selectedEditNodesUpdated()`.

      Returns:
        Current canSelectChildren value. Default value is null
      See Also:
        `EditContext.getCanSelectEditNodes()`

    - #### setChildrenSnapResizeToGrid

          public EditProxy setChildrenSnapResizeToGrid(java.lang.Boolean childrenSnapResizeToGrid)

      If not null the `Canvas.childrenSnapResizeToGrid` on the component represented by this EditProxy is set to this value only while in edit mode. This allows snapResizeToGrid functionality to be enforced during edit mode but not when live.
      Parameters:
        `childrenSnapResizeToGrid` - New childrenSnapResizeToGrid value. Default value is null
      Returns:
        `EditProxy` instance, for chaining setter calls

    - #### getChildrenSnapResizeToGrid

          public java.lang.Boolean getChildrenSnapResizeToGrid()

      If not null the `Canvas.childrenSnapResizeToGrid` on the component represented by this EditProxy is set to this value only while in edit mode. This allows snapResizeToGrid functionality to be enforced during edit mode but not when live.
      Returns:
        Current childrenSnapResizeToGrid value. Default value is null

    - #### setChildrenSnapToGrid

          public EditProxy setChildrenSnapToGrid(java.lang.Boolean childrenSnapToGrid)

      If not null the `Canvas.childrenSnapToGrid` on the component represented by this EditProxy is set to this value only while in edit mode. This allows snapToGrid functionality to be enforced during edit mode but not when live.
      Parameters:
        `childrenSnapToGrid` - New childrenSnapToGrid value. Default value is null
      Returns:
        `EditProxy` instance, for chaining setter calls

    - #### getChildrenSnapToGrid

          public java.lang.Boolean getChildrenSnapToGrid()

      If not null the `Canvas.childrenSnapToGrid` on the component represented by this EditProxy is set to this value only while in edit mode. This allows snapToGrid functionality to be enforced during edit mode but not when live.
      Returns:
        Current childrenSnapToGrid value. Default value is null

    - #### getEditMask

          public Canvas getEditMask()
                             throws java.lang.IllegalStateException

      An editMask is created for any component placed into editMode with `useEditMask`:true.

      Common customization properties can be provided by `EditContext.editMaskProperties`.

      This component is an AutoChild named "editMask". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        Current editMask value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - if the underlying component has not yet been created.

    - #### getHoopSelector

          public Canvas getHoopSelector()
                                 throws java.lang.IllegalStateException

      Hoop selector canvas used for selecting multiple components.

      Common customization properties can be provided by `EditContext.hoopSelectorProperties`.

      This component is an AutoChild named "hoopSelector". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        Current hoopSelector value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - if the underlying component has not yet been created.

    - #### setInlineEditEvent

          public EditProxy setInlineEditEvent(InlineEditEvent inlineEditEvent)
                                       throws java.lang.IllegalStateException

      Event that triggers inline editing, showing the `inlineEditForm`, which consists of a single text input (single or multi-line according to `inlineEditMultiline`) shown in the `inlineEditForm` AutoChild.

      The initial value in the form comes from `getInlineEditText()` and is applied via `setInlineEditText()`.

      Many `EditProxy` subclasses have built-in modes for inline editing.

      Parameters:
        `inlineEditEvent` - New inlineEditEvent value. Default value is null
      Returns:
        `EditProxy` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getInlineEditEvent

          public InlineEditEvent getInlineEditEvent()

      Event that triggers inline editing, showing the `inlineEditForm`, which consists of a single text input (single or multi-line according to `inlineEditMultiline`) shown in the `inlineEditForm` AutoChild.

      The initial value in the form comes from `getInlineEditText()` and is applied via `setInlineEditText()`.

      Many `EditProxy` subclasses have built-in modes for inline editing.

      Returns:
        Current inlineEditEvent value. Default value is null

    - #### getInlineEditForm

          public DynamicForm getInlineEditForm()

      Note : This API is non-functional (always returns null) and exists only to make you aware that this MultiAutoChild exists. See `Using AutoChildren` for details.

      See `inlineEditEvent`.

      Returns:
        null

    - #### getInlineEditInstructionLabel

          public Label getInlineEditInstructionLabel()
                                              throws java.lang.IllegalStateException

      Label AutoChild used to display `inlineEditInstructions` below the text entry area if provided. Defaults to the same styling as the system `Hover`.

      This component is an AutoChild named "inlineEditInstructionLabel". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        Current inlineEditInstructionLabel value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - if the underlying component has not yet been created.

    - #### setInlineEditInstructions

          public EditProxy setInlineEditInstructions(java.lang.String inlineEditInstructions)
                                              throws java.lang.IllegalStateException

      Instructions that appear below the text entry area if inline editing is enabled. See `inlineEditEvent` and `inlineEditInstructionLabel`.
      Parameters:
        `inlineEditInstructions` - New inlineEditInstructions value. Default value is null
      Returns:
        `EditProxy` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created
      See Also:
        `HTMLString`

    - #### getInlineEditInstructions

          public java.lang.String getInlineEditInstructions()

      Instructions that appear below the text entry area if inline editing is enabled. See `inlineEditEvent` and `inlineEditInstructionLabel`.
      Returns:
        Current inlineEditInstructions value. Default value is null
      See Also:
        `HTMLString`

    - #### setInlineEditMultiline

          public EditProxy setInlineEditMultiline(java.lang.Boolean inlineEditMultiline)
                                           throws java.lang.IllegalStateException

      Whether inline editing should be single or multi-line.

      Single-line input appears at the control's top-left corner, multiline covers the control.

      Parameters:
        `inlineEditMultiline` - New inlineEditMultiline value. Default value is false
      Returns:
        `EditProxy` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getInlineEditMultiline

          public java.lang.Boolean getInlineEditMultiline()

      Whether inline editing should be single or multi-line.

      Single-line input appears at the control's top-left corner, multiline covers the control.

      Returns:
        Current inlineEditMultiline value. Default value is false

    - #### setInlineEditOnDrop

          public EditProxy setInlineEditOnDrop(java.lang.Boolean inlineEditOnDrop)
                                        throws java.lang.IllegalStateException

      Should the inline editor be shown when new component is first dropped?
      Parameters:
        `inlineEditOnDrop` - New inlineEditOnDrop value. Default value is null
      Returns:
        `EditProxy` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getInlineEditOnDrop

          public java.lang.Boolean getInlineEditOnDrop()

      Should the inline editor be shown when new component is first dropped?
      Returns:
        Current inlineEditOnDrop value. Default value is null

    - #### setPersistCoordinates

          public EditProxy setPersistCoordinates(java.lang.Boolean persistCoordinates)

      Changes to all child `liveObject`'s position and size can be persisted to their `EditNodes` based on this attribute setting and `EditContext.persistCoordinates`. This applies to both programmatic calls and user interaction (drag reposition or drag resize).

      The default value of `null` allows `EditContext.persistCoordinates` to control all coordinate persistence. An explicit value of `false` overrides the EditContext setting so that no children of the component save coordinates.

      All coordinate persisting can be disabled with `EditContext.persistCoordinates`. Additionally, all control of persistence can be deferred to each EditProxy by setting `EditContext.persistCoordinates` to `null`.

      Parameters:
        `persistCoordinates` - New persistCoordinates value. Default value is null
      Returns:
        `EditProxy` instance, for chaining setter calls

    - #### getPersistCoordinates

          public java.lang.Boolean getPersistCoordinates()

      Changes to all child `liveObject`'s position and size can be persisted to their `EditNodes` based on this attribute setting and `EditContext.persistCoordinates`. This applies to both programmatic calls and user interaction (drag reposition or drag resize).

      The default value of `null` allows `EditContext.persistCoordinates` to control all coordinate persistence. An explicit value of `false` overrides the EditContext setting so that no children of the component save coordinates.

      All coordinate persisting can be disabled with `EditContext.persistCoordinates`. Additionally, all control of persistence can be deferred to each EditProxy by setting `EditContext.persistCoordinates` to `null`.

      Returns:
        Current persistCoordinates value. Default value is null

    - #### setSelectedAppearance

          public EditProxy setSelectedAppearance(SelectedAppearance selectedAppearance)
                                          throws java.lang.IllegalStateException

      Appearance that is applied to selected component. Default value is determined from `EditContext.selectedAppearance`.

      When value is `null` the appearance is determined by:

      - If multiple selection is enabled, "tintMask" is used
      - Otherwise, "outlineMask" is used
      Parameters:
        `selectedAppearance` - New selectedAppearance value. Default value is null
      Returns:
        `EditProxy` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created
      See Also:
        `setSelectedBorder(java.lang.String)`, `setSelectedTintColor(java.lang.String)`, `setSelectedTintOpacity(java.lang.Integer)`

    - #### getSelectedAppearance

          public SelectedAppearance getSelectedAppearance()

      Appearance that is applied to selected component. Default value is determined from `EditContext.selectedAppearance`.

      When value is `null` the appearance is determined by:

      - If multiple selection is enabled, "tintMask" is used
      - Otherwise, "outlineMask" is used
      Returns:
        Current selectedAppearance value. Default value is null
      See Also:
        `getSelectedBorder()`, `getSelectedTintColor()`, `getSelectedTintOpacity()`

    - #### setSelectedBorder

          public EditProxy setSelectedBorder(java.lang.String selectedBorder)
                                      throws java.lang.IllegalStateException

      Set the CSS border to be applied to the selection outline of the selected components. Default value is determined from `EditContext.selectedBorder`. This property is used when `selectedAppearance` is `outlineMask` or `outlineEdges`.
      Parameters:
        `selectedBorder` - New selectedBorder value. Default value is null
      Returns:
        `EditProxy` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getSelectedBorder

          public java.lang.String getSelectedBorder()

      Set the CSS border to be applied to the selection outline of the selected components. Default value is determined from `EditContext.selectedBorder`. This property is used when `selectedAppearance` is `outlineMask` or `outlineEdges`.
      Returns:
        Current selectedBorder value. Default value is null

    - #### setSelectedLabelBackgroundColor

          public EditProxy setSelectedLabelBackgroundColor(java.lang.String selectedLabelBackgroundColor)
                                                    throws java.lang.IllegalStateException

      The background color for the selection outline label. The default is defined on `SelectionOutline` or `EditContext.selectedLabelBackgroundColor`.

      NOTE: A selected component label is only supported when `selectedAppearance` is "outlineEdges".

      Parameters:
        `selectedLabelBackgroundColor` - New selectedLabelBackgroundColor value. Default value is null
      Returns:
        `EditProxy` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getSelectedLabelBackgroundColor

          public java.lang.String getSelectedLabelBackgroundColor()

      The background color for the selection outline label. The default is defined on `SelectionOutline` or `EditContext.selectedLabelBackgroundColor`.

      NOTE: A selected component label is only supported when `selectedAppearance` is "outlineEdges".

      Returns:
        Current selectedLabelBackgroundColor value. Default value is null

    - #### setSelectedTintColor

          public EditProxy setSelectedTintColor(java.lang.String selectedTintColor)
                                         throws java.lang.IllegalStateException

      Mask color applied to `editMask` of selected component when `selectedAppearance` is "tintMask". Default value is determined from `EditContext.selectedTintColor`.
      Parameters:
        `selectedTintColor` - New selectedTintColor value. Default value is null
      Returns:
        `EditProxy` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created
      See Also:
        `setSelectedTintOpacity(java.lang.Integer)`, `CSSColor`

    - #### getSelectedTintColor

          public java.lang.String getSelectedTintColor()

      Mask color applied to `editMask` of selected component when `selectedAppearance` is "tintMask". Default value is determined from `EditContext.selectedTintColor`.
      Returns:
        Current selectedTintColor value. Default value is null
      See Also:
        `getSelectedTintOpacity()`, `CSSColor`

    - #### setSelectedTintOpacity

          public EditProxy setSelectedTintOpacity(java.lang.Integer selectedTintOpacity)
                                           throws java.lang.IllegalStateException

      Opacity applied to `editMask` of selected component when `selectedAppearance` is "tintMask".
      Parameters:
        `selectedTintOpacity` - New selectedTintOpacity value. Default value is null
      Returns:
        `EditProxy` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created
      See Also:
        `setSelectedTintColor(java.lang.String)`

    - #### getSelectedTintOpacity

          public java.lang.Integer getSelectedTintOpacity()

      Opacity applied to `editMask` of selected component when `selectedAppearance` is "tintMask".
      Returns:
        Current selectedTintOpacity value. Default value is null
      See Also:
        `getSelectedTintColor()`

    - #### setShowDragHandle

          public EditProxy setShowDragHandle(java.lang.Boolean showDragHandle)
                                      throws java.lang.IllegalStateException

      Should drag handles or thumb be shown when this component is selected? These are shown unless this property is set to `false`.
      Parameters:
        `showDragHandle` - New showDragHandle value. Default value is null
      Returns:
        `EditProxy` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getShowDragHandle

          public java.lang.Boolean getShowDragHandle()

      Should drag handles or thumb be shown when this component is selected? These are shown unless this property is set to `false`.
      Returns:
        Current showDragHandle value. Default value is null

    - #### setSupportsInlineEdit

          public EditProxy setSupportsInlineEdit(java.lang.Boolean supportsInlineEdit)
                                          throws java.lang.IllegalStateException

      Whether this EditProxy has an inline edit behavior, which allows an end user to configure a component by editing a simple text representation of its configuration.

      For example, when inline edit is enabled, a `SelectItem` allows `editing its valueMap` as a comma-separated string, and a `ListGrid`'s columns and data can be edited as several lines of comma-separated headings and data values.

      See `inlineEditEvent` for more details and configuration options.

      Parameters:
        `supportsInlineEdit` - New supportsInlineEdit value. Default value is true
      Returns:
        `EditProxy` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getSupportsInlineEdit

          public java.lang.Boolean getSupportsInlineEdit()

      Whether this EditProxy has an inline edit behavior, which allows an end user to configure a component by editing a simple text representation of its configuration.

      For example, when inline edit is enabled, a `SelectItem` allows `editing its valueMap` as a comma-separated string, and a `ListGrid`'s columns and data can be edited as several lines of comma-separated headings and data values.

      See `inlineEditEvent` for more details and configuration options.

      Returns:
        Current supportsInlineEdit value. Default value is true

    - #### setUseCopyPasteShortcuts

          public EditProxy setUseCopyPasteShortcuts(java.lang.Boolean useCopyPasteShortcuts)
                                             throws java.lang.IllegalStateException

      Whether to enable keyboard shortcuts to `copy` and `paste` `editNodes`.

      Enabled by default if `selection of children` is also enabled.

      For pasting, if `EditContext.allowNestedDrops` is enabled, only one editNode is selected and it is a valid container for the contents of the clipboard, editNodes will be pasted as new children of the selected container. Otherwise, they will be pasted at the root level of the `editNodeTree`.

      `useCopyPasteShortcuts` may only be set on the root `editNode` within any one `editNodeTree`.

      Parameters:
        `useCopyPasteShortcuts` - New useCopyPasteShortcuts value. Default value is null
      Returns:
        `EditProxy` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getUseCopyPasteShortcuts

          public java.lang.Boolean getUseCopyPasteShortcuts()

      Whether to enable keyboard shortcuts to `copy` and `paste` `editNodes`.

      Enabled by default if `selection of children` is also enabled.

      For pasting, if `EditContext.allowNestedDrops` is enabled, only one editNode is selected and it is a valid container for the contents of the clipboard, editNodes will be pasted as new children of the selected container. Otherwise, they will be pasted at the root level of the `editNodeTree`.

      `useCopyPasteShortcuts` may only be set on the root `editNode` within any one `editNodeTree`.

      Returns:
        Current useCopyPasteShortcuts value. Default value is null

    - #### setUseEditMask

          public EditProxy setUseEditMask(java.lang.Boolean useEditMask)
                                   throws java.lang.IllegalStateException

      When `true` an `editMask` will be auto-generated and placed over the component to allow selection, positioning and resizing.

      If this property is not set it will enabled when added to an EditContext if its parent component has an editProxy and `autoMaskChildren` is `true`.

      Parameters:
        `useEditMask` - New useEditMask value. Default value is null
      Returns:
        `EditProxy` instance, for chaining setter calls
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getUseEditMask

          public java.lang.Boolean getUseEditMask()

      When `true` an `editMask` will be auto-generated and placed over the component to allow selection, positioning and resizing.

      If this property is not set it will enabled when added to an EditContext if its parent component has an editProxy and `autoMaskChildren` is `true`.

      Returns:
        Current useEditMask value. Default value is null

    - #### getInlineEditText

          public void getInlineEditText()

      Returns the text based on the current component state to be edited inline. Called by the `inlineEditForm` to obtain the starting edit value.

      For a canvas with `isGroup` enabled, the `groupTitle` is returned. Otherwise the `contents` is returned.

    - #### setInlineEditText

          public void setInlineEditText(java.lang.String newValue)

      Save the new value into the component's state. Called by the `inlineEditForm` to commit the change.

      For a canvas with `isGroup` enabled, the `groupTitle` is updated. Otherwise the `contents` is updated.

      Parameters:
        `newValue` - the new component state

    - #### showSelectedAppearance

          public void showSelectedAppearance(boolean show)

      This method applies the `selectedAppearance` to the selected component or resets it to the non-selected appearance. Override this method to create a custom appearance.
      Parameters:
        `show` - true to show component as selected, false otherwise

    - #### startInlineEditing

          public void startInlineEditing()

      Manual means of triggering inline editing. See `InlineEditEvent`.

    - #### startInlineEditing

          public void startInlineEditing(java.lang.String appendChar)

      Manual means of triggering inline editing. See `InlineEditEvent`.
      Parameters:
        `appendChar` - optional String to append to current value as editing starts