com.smartgwt.client.tools

## Class DetailViewerEditProxy

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

- All Implemented Interfaces:
    com.google.gwt.event.shared.HasHandlers

      public class DetailViewerEditProxy
      extends CanvasEditProxy

  `EditProxy` that handles `DetailViewer` components when editMode is enabled.
  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
    `DetailViewerEditProxy()`
    `DetailViewerEditProxy(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.String` | `getDataDisplaySeparatorChar()` If `inline editing` for this viewer edits the `DetailViewer.data`, character that should be used as a separator for entering `com.smartgwt.client.types.ValueMap`-style entries that map from a field name to a value.
    `java.lang.String` | `getDataEscapeChar()` If `inline editing` for this viewer edits the `DetailViewer.data`, character that can be used to enter literal separator chars (such as the `dataSeparatorChar`) or literal leading or trailing whitespace.
    `java.lang.String` | `getDataSeparatorChar()` If `inline editing` for this viewer edits the `DetailViewer.data`, character that should be used as a separator between values, or between pairs of field name vs values if the user is entering such a `com.smartgwt.client.types.ValueMap` using the `dataDisplaySeparatorChar`.
    `void` | `getInlineEditText()` Returns the text based on the current component state to be edited inline.
    `static DetailViewerEditProxy` | `getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `void` | `setDataDisplaySeparatorChar(java.lang.String dataDisplaySeparatorChar)` If `inline editing` for this viewer edits the `DetailViewer.data`, character that should be used as a separator for entering `com.smartgwt.client.types.ValueMap`-style entries that map from a field name to a value.
    `void` | `setDataEscapeChar(java.lang.String dataEscapeChar)` If `inline editing` for this viewer edits the `DetailViewer.data`, character that can be used to enter literal separator chars (such as the `dataSeparatorChar`) or literal leading or trailing whitespace.
    `void` | `setDataSeparatorChar(java.lang.String dataSeparatorChar)` If `inline editing` for this viewer edits the `DetailViewer.data`, character that should be used as a separator between values, or between pairs of field name vs values if the user is entering such a `com.smartgwt.client.types.ValueMap` using the `dataDisplaySeparatorChar`.
    `void` | `setInlineEditText(java.lang.String newValue)` Save the new value into the component's state.

    - ### Methods inherited from class com.smartgwt.client.tools.EditProxy

      `getAllowNestedDrops, getAutoMaskChildren, getBringToFrontOnSelect, getCanSelect, getCanSelectChildren, getChildrenSnapResizeToGrid, getChildrenSnapToGrid, getEditMask, getHoopSelector, getInlineEditEvent, getInlineEditForm, getInlineEditInstructionLabel, getInlineEditInstructions, getInlineEditMultiline, getInlineEditOnDrop, getJsObj, getOrCreateJsObj, getPersistCoordinates, getSelectedAppearance, getSelectedBorder, getSelectedLabelBackgroundColor, getSelectedTintColor, getSelectedTintOpacity, getSupportsInlineEdit, isCreated, setAllowNestedDrops, setAutoMaskChildren, setBringToFrontOnSelect, setCanSelect, setCanSelectChildren, setChildrenSnapResizeToGrid, setChildrenSnapToGrid, setInlineEditEvent, setInlineEditInstructions, setInlineEditMultiline, setInlineEditOnDrop, setJavaScriptObject, setPersistCoordinates, setSelectedAppearance, setSelectedBorder, setSelectedLabelBackgroundColor, setSelectedTintColor, setSelectedTintOpacity, setSupportsInlineEdit, showSelectedAppearance, startInlineEditing, startInlineEditing`

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

      `applyFactoryProperties, asSGWTComponent, createJsObj, destroy, doAddHandler, doInit, error, error, errorIfNotCreated, fireEvent, getAttribute, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsElement, getAttributeAsFloat, getAttributeAsInt, getAttributeAsJavaScriptObject, getAttributeAsMap, getAttributeAsString, getAttributeAsStringArray, getClassName, getConfig, getHandlerCount, getID, getRef, getScClassName, getTestInstance, hasAutoAssignedID, 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, setScClassName`

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

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

- - ### Constructor Detail

    - #### DetailViewerEditProxy

          public DetailViewerEditProxy()

    - #### DetailViewerEditProxy

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

  - ### Method Detail

    - #### getOrCreateRef

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

    - #### create

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

      Overrides:
        `create` in class `CanvasEditProxy`

    - #### setDataDisplaySeparatorChar

          public void setDataDisplaySeparatorChar(java.lang.String dataDisplaySeparatorChar)
                                           throws java.lang.IllegalStateException

      If `inline editing` for this viewer edits the `DetailViewer.data`, character that should be used as a separator for entering `com.smartgwt.client.types.ValueMap`-style entries that map from a field name to a value.

      With the default of ":", the following input:

                 1:Fixed, 2:Won't Fix, 3:Resolved

      Would be assumed to be a mapping like this (expressed in JSON):

              {
                 "1" : "Fixed",
                 "2" : "Won't Fix",
                 "3" : "Resolved"
              }

      Any entry without a separator char has an implied value of `null`. For example, for this input:

                  Fixed:Reported Fixed, WontFix:Won't Fix, Resolved

      The resulting `data` would be:

              {
                 "Fixed" : "Reported Fixed",
                 "WontFix" : "Won't Fix",
                 "Resolved" : null
              }

      The `dataEscapeChar` can be used to enter literal colon characters.

      Set `dataDisplaySeparatorChar` to null to prevent entry of values - user input will always be treated as just a list of legal field names.

      Parameters:
        `dataDisplaySeparatorChar` - Default value is ":"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getDataDisplaySeparatorChar

          public java.lang.String getDataDisplaySeparatorChar()

      If `inline editing` for this viewer edits the `DetailViewer.data`, character that should be used as a separator for entering `com.smartgwt.client.types.ValueMap`-style entries that map from a field name to a value.

      With the default of ":", the following input:

                 1:Fixed, 2:Won't Fix, 3:Resolved

      Would be assumed to be a mapping like this (expressed in JSON):

              {
                 "1" : "Fixed",
                 "2" : "Won't Fix",
                 "3" : "Resolved"
              }

      Any entry without a separator char has an implied value of `null`. For example, for this input:

                  Fixed:Reported Fixed, WontFix:Won't Fix, Resolved

      The resulting `data` would be:

              {
                 "Fixed" : "Reported Fixed",
                 "WontFix" : "Won't Fix",
                 "Resolved" : null
              }

      The `dataEscapeChar` can be used to enter literal colon characters.

      Set `dataDisplaySeparatorChar` to null to prevent entry of values - user input will always be treated as just a list of legal field names.

      Returns:
        String

    - #### setDataEscapeChar

          public void setDataEscapeChar(java.lang.String dataEscapeChar)
                                 throws java.lang.IllegalStateException

      If `inline editing` for this viewer edits the `DetailViewer.data`, character that can be used to enter literal separator chars (such as the `dataSeparatorChar`) or literal leading or trailing whitespace.

      Repeat this character twice to enter it literally. For example, with the default of "\", inputting "\\" would result in a literal backslash in the value.

      Parameters:
        `dataEscapeChar` - Default value is "\"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getDataEscapeChar

          public java.lang.String getDataEscapeChar()

      If `inline editing` for this viewer edits the `DetailViewer.data`, character that can be used to enter literal separator chars (such as the `dataSeparatorChar`) or literal leading or trailing whitespace.

      Repeat this character twice to enter it literally. For example, with the default of "\", inputting "\\" would result in a literal backslash in the value.

      Returns:
        String

    - #### setDataSeparatorChar

          public void setDataSeparatorChar(java.lang.String dataSeparatorChar)
                                    throws java.lang.IllegalStateException

      If `inline editing` for this viewer edits the `DetailViewer.data`, character that should be used as a separator between values, or between pairs of field name vs values if the user is entering such a `com.smartgwt.client.types.ValueMap` using the `dataDisplaySeparatorChar`.

      If `EditProxy.inlineEditMultiline` is enabled, newlines will be used as value separators and the `dataSeparatorChar`

      The `dataEscapeChar` can be used to enter the separator char as part of a field name or value.

      Parameters:
        `dataSeparatorChar` - Default value is ","
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getDataSeparatorChar

          public java.lang.String getDataSeparatorChar()

      If `inline editing` for this viewer edits the `DetailViewer.data`, character that should be used as a separator between values, or between pairs of field name vs values if the user is entering such a `com.smartgwt.client.types.ValueMap` using the `dataDisplaySeparatorChar`.

      If `EditProxy.inlineEditMultiline` is enabled, newlines will be used as value separators and the `dataSeparatorChar`

      The `dataEscapeChar` can be used to enter the separator char as part of a field name or value.

      Returns:
        String

    - #### getInlineEditText

          public void getInlineEditText()

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

      Returns the component's data one-field-per-line as specified in `dataDisplaySeparatorChar`.

      Overrides:
        `getInlineEditText` in class `EditProxy`

    - #### setInlineEditText

          public void setInlineEditText(java.lang.String newValue)

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

      Updates the component's `data` and `fields`.

      Overrides:
        `setInlineEditText` in class `EditProxy`
      Parameters:
        `newValue` - the new component data