kd.bos.form.control

## 类 FormDesigner

- java.lang.Object
- - kd.bos.form.control.Control
  - - kd.bos.form.control.FormDesigner

- 所有已实现的接口:
    java.lang.Cloneable, ICloseCallBack

      @KSObject
      public class FormDesigner
      extends Control
      implements ICloseCallBack

  单据设计器控件，绑定设计器界面专用的插件类型，并触发相应的方法。 从这个控件的定义来看，把插件接口，拆分为一个个独立的，功能明确的小接口就很有好处。标准的表单界面插件只提供非常少的插件事件，更多的事件，则通过其他接口辅助提供； 插件实现需要捕获的事件所在接口即可；

- - ### 构造器概要

    构造器
    构造器和说明
    `FormDesigner()`

  - ### 方法概要

    所有方法 实例方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `void` | `addCreateUIElemntListener(CreateUIElemntListener listener)` 添加设计器属性编辑器点击事件监听器
    `void` | `addPropertyButtonClickListener(PropertyListener listener)` 添加设计器属性编辑器点击事件监听器
    `void` | `addShortCutKeyListener(ShortCutKeyListener listener)` 添加设计器保存监听
    `void` | `afterSetProperty(java.lang.String itemId, java.lang.String metaType, java.lang.String propertyName, java.lang.Object value)` 设计器属性编辑器点击按钮
    `void` | `click(java.lang.String itemId, java.lang.String metaType, java.lang.String propertyName, java.util.Map<java.lang.String,java.lang.Object> param)` 设计器属性编辑器点击按钮
    `void` | `closedCallBack(ClosedCallBackEvent e)` 属性编辑器返回
    `void` | `createUIElement(java.util.Map<java.lang.String,java.lang.Object> uiElement, java.util.Map<java.lang.String,java.lang.Object> container)` 添加一个UI元素到指定容器
    `void` | `createUIElemntByEntityItem(java.util.Map<java.lang.String,java.lang.Object> item, java.util.Map<java.lang.String,java.lang.Object> container)` 通过实体树上的元素创建UI元素
    `java.util.Map<java.lang.String,java.lang.Object>` | `getContent()`
    `void` | `getPropertyAlias(java.lang.String itemId, java.lang.String metaType, java.lang.String propertyName, java.util.Map<java.lang.String,java.lang.Object> param)` 设计器属性编辑器获取别名
    `void` | `keyUp(java.util.List<java.lang.Integer> keys)` 快捷键
    `void` | `open(java.lang.String modelType, java.util.Map<java.lang.String,java.lang.Object> doc)` 打开
    `void` | `postBack(java.lang.Object value)` 输出数据
    `void` | `removeUIElements(java.lang.String containerId)` 删除指定容器的所有子元素
    `void` | `resetSideBar(java.lang.String[] items)` 重新设置侧边栏工具栏
    `void` | `setProperty(java.util.List<java.util.Map<java.lang.String,java.lang.Object>> params)` 设置设计元素多个属性值
    `void` | `setProperty(java.util.Map<java.lang.String,java.lang.Object> param)` 设置设计元素属性值
    `void` | `showErrors(java.util.List<java.util.Map<java.lang.String,java.lang.Object>> erros)` 显示元数据校验的错误信息

    - ### 从类继承的方法 kd.bos.form.control.Control

      `bindData, clone, createClientConfig, getCustomeStyles, getKey, getModel, getView, release, setCustomeStyles, setDraggable, setDroppable, setKey, setModel, setView`

    - ### 从类继承的方法 java.lang.Object

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

- - ### 构造器详细资料

    - #### FormDesigner

          public FormDesigner()

  - ### 方法详细资料

    - #### addPropertyButtonClickListener

          public void addPropertyButtonClickListener(PropertyListener listener)

      添加设计器属性编辑器点击事件监听器
      参数:
        `listener` -

    - #### addCreateUIElemntListener

          public void addCreateUIElemntListener(CreateUIElemntListener listener)

      添加设计器属性编辑器点击事件监听器
      参数:
        `listener` -

    - #### addShortCutKeyListener

          public void addShortCutKeyListener(ShortCutKeyListener listener)

      添加设计器保存监听
      参数:
        `listener` -

    - #### click

          public void click(java.lang.String itemId,
                            java.lang.String metaType,
                            java.lang.String propertyName,
                            java.util.Map<java.lang.String,java.lang.Object> param)

      设计器属性编辑器点击按钮
      参数:
        `itemId` - 编辑的元素Id
        `propertyName` - 编辑的属性明处
        `param` - param中的参数有"valueResManager.loadKDString(":当前编辑属性值 ,", "602753076364837888", SubSystemType.SL)formResManager.loadKDString(":属性编辑窗口参数 ", "602753078243886080", SubSystemType.SL)context":需要的上下文数据 表单参数和上下文取数规则在属性元数据中定义，由设计器按定义准备好后发出 属性编辑器定义示例{"type":"btnedit","form":{"formId":"ide_operations"},"extenddata":{"type":"entitymeta","properties":["Id","Name","_Type"]}}

    - #### afterSetProperty

          public void afterSetProperty(java.lang.String itemId,
                                       java.lang.String metaType,
                                       java.lang.String propertyName,
                                       java.lang.Object value)

      设计器属性编辑器点击按钮
      参数:
        `itemId` - 编辑的元素Id
        `propertyName` - 编辑的属性明处
        `value` -

    - #### closedCallBack

          public void closedCallBack(ClosedCallBackEvent e)

      属性编辑器返回
      指定者:
        `closedCallBack` 在接口中 `ICloseCallBack`

    - #### getPropertyAlias

          public void getPropertyAlias(java.lang.String itemId,
                                       java.lang.String metaType,
                                       java.lang.String propertyName,
                                       java.util.Map<java.lang.String,java.lang.Object> param)

      设计器属性编辑器获取别名
      参数:
        `itemId` - 编辑的元素Id
        `propertyName` - 编辑的属性明处
        `param` - param中的参数有"valueResManager.loadKDString(":当前编辑属性值 ,", "602753076364837888", SubSystemType.SL)formResManager.loadKDString(":属性编辑窗口参数 ", "602753078243886080", SubSystemType.SL)context":需要的上下文数据 表单参数和上下文取数规则在属性元数据中定义，由设计器按定义准备好后发出 属性编辑器定义示例{"type":"btnedit","form":{"formId":"ide_operations"},"extenddata":{"type":"entitymeta","properties":["Id","Name","_Type"]}}

    - #### createUIElemntByEntityItem

          public void createUIElemntByEntityItem(java.util.Map<java.lang.String,java.lang.Object> item,
                                                 java.util.Map<java.lang.String,java.lang.Object> container)

      通过实体树上的元素创建UI元素
      参数:
        `item` - 元素
        `container` - 父容器

    - #### postBack

          public void postBack(java.lang.Object value)

      从类复制的说明: `Control`
      输出数据
      覆盖:
        `postBack` 在类中 `Control`

    - #### getContent

          public java.util.Map<java.lang.String,java.lang.Object> getContent()

      返回:
        获取设计器设计内容

    - #### resetSideBar

          public void resetSideBar(java.lang.String[] items)

      重新设置侧边栏工具栏
      参数:
        `itemKey` - 默认 ["toolbox","outline","entityTreeResManager.loadKDString("],可以改变顺序和取消某一个，如[", "602753083352548352", SubSystemType.SL)entityTree","outline"],显示实体树和大纲

    - #### setProperty

          public void setProperty(java.util.Map<java.lang.String,java.lang.Object> param)

      设置设计元素属性值
      参数:
        `param` - {"itemIdResManager.loadKDString(":元素Id,", "602753085080600576", SubSystemType.SL)propertyNameResManager.loadKDString(":属性名称,", "602753086817043456", SubSystemType.SL)valueResManager.loadKDString(":值,", "602753088578650112", SubSystemType.SL)alias":别名}

    - #### keyUp

          public void keyUp(java.util.List<java.lang.Integer> keys)

      快捷键

    - #### createUIElement

          public void createUIElement(java.util.Map<java.lang.String,java.lang.Object> uiElement,
                                      java.util.Map<java.lang.String,java.lang.Object> container)

      添加一个UI元素到指定容器
      参数:
        `uiElement` -
        `container` -

    - #### removeUIElements

          public void removeUIElements(java.lang.String containerId)

      删除指定容器的所有子元素
      参数:
        `containerId` -

    - #### setProperty

          public void setProperty(java.util.List<java.util.Map<java.lang.String,java.lang.Object>> params)

      设置设计元素多个属性值
      参数:
        `params` - [{"itemIdResManager.loadKDString(":元素Id,", "602753085080600576", SubSystemType.SL)propertyNameResManager.loadKDString(":属性名称,", "602753086817043456", SubSystemType.SL)valueResManager.loadKDString(":值,", "602753088578650112", SubSystemType.SL)alias":别名},.....]

    - #### showErrors

          public void showErrors(java.util.List<java.util.Map<java.lang.String,java.lang.Object>> erros)

      显示元数据校验的错误信息
      参数:
        `erros` - [{"metaTypeResManager.loadKDString(":元数据类型，", "602753090264761344", SubSystemType.SL)itemIdResManager.loadKDString(":元素Id ,", "602753091833430016", SubSystemType.SL)propertyNameResManager.loadKDString(":属性名称,", "602753086817043456", SubSystemType.SL)errorResManager.loadKDString(":错误信息,", "602753093402100736", SubSystemType.SL)level":错误级别},................]

    - #### open

          public void open(java.lang.String modelType,
                           java.util.Map<java.lang.String,java.lang.Object> doc)

      打开
      参数:
        `modelType` -
        `doc` -