^1782093002605
@
lth_createTime
1742624713214
sname
shell
stext
模型注册管理器
sNO_TRIM
false
sCLOSE
true
sTITLE
true
sMIN
true
sMAX
true
sBORDER
false
sRESIZE
false
sON_TOP
false
sTOOL
false
sNO_FOCUS
false
swidth
800
sheight
600
scenterScreen
true
spack
false
smaximized
false
sfullScreen
false
sdesign
true
sisIde
false
sdesignDefaultOpen
false
sexitOnDispose
false
sH_SCROLL
false
sV_SCROLL
false
sNO_BACKGROUND
false
sNO_MERGE_PAINTS
false
sNO_REDRAW_RESIZE
false
sNO_RADIO_GROUP
false
sEMBEDDED
false
sDOUBLE_BUFFERED
false
slabel
ThingRegistSelector
scapture
false
senabled
true
sredraw
true
svisible
true
sdescriptors
xworker.swt.widgets.Shell
sth_createIndex
false
sth_mark
false
  @/@shellFillLayout
  sname
  shellFillLayout
  stype
  SWT.HORIZONTAL
  sdescriptors
  xworker.swt.Layouts/@FillLayout
  sth_createIndex
  false
  sth_mark
  false
  sid
  shellFillLayout
  @/@resources
  sname
  resources
  sdescriptors
  xworker.swt.Widgets/@Resource
  sinheritDescription
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_registDisabled
  false
  sth_mark
  false
  sid
  resources
    @/@resources/@I18nResource
    sname
    I18nResource
    sdescriptors
    xworker.swt.util.Resource/@I18nResource
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    I18nResource
      @/@resources/@I18nResource/@thingTreePopMenu
      sname
      thingTreePopMenu
      sdescriptors
      xworker.core.util.I18nResource/@resource
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_mark
      false
      sid
      thingTreePopMenu
        @/@resources/@I18nResource/@thingTreePopMenu/@modifyGroupItem
        sname
        modifyGroupItem
        slabel
        修改分组
        sen_label
        Modify Group
        sdescriptors
        xworker.core.util.I18nResource/@resource/@resource
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        modifyGroupItem
        @/@resources/@I18nResource/@thingTreePopMenu/@modifyThingInfoItem
        sname
        modifyThingInfoItem
        slabel
        快速编辑
        sen_label
        Quick edit
        sdescriptors
        xworker.core.util.I18nResource/@resource/@resource
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        modifyThingInfoItem
        @/@resources/@I18nResource/@thingTreePopMenu/@openMenuItem
        sname
        openMenuItem
        slabel
        打开模型
        sen_label
        Open Model
        sdescriptors
        xworker.core.util.I18nResource/@resource/@resource
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        openMenuItem
        @/@resources/@I18nResource/@thingTreePopMenu/@createNewThing
        sname
        createNewThing
        slabel
        新建模型
        sen_label
        Ceate new Model
        sdescriptors
        xworker.core.util.I18nResource/@resource/@resource
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        createNewThing
        @/@resources/@I18nResource/@thingTreePopMenu/@copyPathMenu
        sname
        copyPathMenu
        slabel
        拷贝路径
        sen_label
        Copy Path
        sdescriptors
        xworker.core.util.I18nResource/@resource/@resource
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        copyPathMenu
        @/@resources/@I18nResource/@thingTreePopMenu/@copyParentpathItem
        sname
        copyParentpathItem
        slabel
        拷贝父路径
        sen_label
        Copy Parent Path
        sdescriptors
        xworker.core.util.I18nResource/@resource/@resource
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        copyParentpathItem
        @/@resources/@I18nResource/@thingTreePopMenu/@showGroupMenuItem
        sname
        showGroupMenuItem
        slabel
        显示栏目
        sen_label
        Show Groups
        sdescriptors
        xworker.core.util.I18nResource/@resource/@resource
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        showGroupMenuItem
        @/@resources/@I18nResource/@thingTreePopMenu/@showHomeMenuItem
        sname
        showHomeMenuItem
        slabel
        显示索引文档
        sen_label
        Index Document
        sdescriptors
        xworker.core.util.I18nResource/@resource/@resource
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        showHomeMenuItem
        @/@resources/@I18nResource/@thingTreePopMenu/@executePopItem
        sname
        executePopItem
        slabel
        在IDE中打开
        sen_label
        Open in IDE
        sdescriptors
        xworker.core.util.I18nResource/@resource/@resource
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        executePopItem
        @/@resources/@I18nResource/@thingTreePopMenu/@showRegistTypeMenuItem
        sname
        showRegistTypeMenuItem
        slabel
        注册方式
        sen_label
        Regist Type
        sdescriptors
        xworker.core.util.I18nResource/@resource/@resource
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        showRegistTypeMenuItem
        @/@resources/@I18nResource/@thingTreePopMenu/@registTypeLabel
        sname
        registTypeLabel
        slabel
        注册类型：
        sen_label
        Regist Type:
        sdescriptors
        xworker.core.util.I18nResource/@resource/@resource
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        registTypeLabel
        @/@resources/@I18nResource/@thingTreePopMenu/@chageRegistTypeButton
        sname
        chageRegistTypeButton
        slabel
        切换注册类型
        sen_label
        Change Resgist Type
        sdescriptors
        xworker.core.util.I18nResource/@resource/@resource
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        chageRegistTypeButton
  @/@mainTabFolder
  sname
  mainTabFolder
  sstyle
  TOP
  sBORDER
  false
  sFLAT
  false
  sCLOSE
  false
  sSINGLE
  false
  sMRUVisible
  false
  ssimple
  false
  sH_SCROLL
  false
  sV_SCROLL
  false
  sNO_BACKGROUND
  false
  sNO_FOCUS
  false
  sNO_MERGE_PAINTS
  false
  sNO_REDRAW_RESIZE
  false
  sNO_RADIO_GROUP
  false
  sEMBEDDED
  false
  sDOUBLE_BUFFERED
  false
  scapture
  false
  senabled
  true
  sredraw
  true
  svisible
  true
  sdescriptors
  xworker.swt.Widgets/@CTabFolder
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  mainTabFolder
    @/@mainTabFolder/@allItem
    sname
    searchCategoryDescItem
    stext
    所有显示
    sCLOSE
    false
    sdescriptors
    xworker.swt.custom.CTabFolder/@CTabItem
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    allItem
      @/@mainTabFolder/@allItem/@topSashForm
      sname
      topSashForm
      sstyle
      VERTICAL
      sSMOOTH
      false
      sweights
      70,30
      sBORDER
      false
      sH_SCROLL
      false
      sV_SCROLL
      false
      sNO_BACKGROUND
      false
      sNO_FOCUS
      false
      sNO_MERGE_PAINTS
      false
      sNO_REDRAW_RESIZE
      false
      sNO_RADIO_GROUP
      false
      sEMBEDDED
      false
      sDOUBLE_BUFFERED
      false
      scapture
      false
      senabled
      true
      sredraw
      true
      svisible
      true
      sdescriptors
      xworker.swt.Widgets/@SashForm
      sth_createIndex
      false
      sth_mark
      false
      sid
      topSashForm
        @/@mainTabFolder/@allItem/@topSashForm/@resources
        sname
        resources
        sdescriptors
        xworker.swt.Widgets/@Resource
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        resources
          @/@mainTabFolder/@allItem/@topSashForm/@resources/@findImage
          sname
          findImage
          stype
          Image
          simageFile
          icons/find.png
          sdescriptors
          xworker.swt.util.Resource/@Image
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          findImage
          @/@mainTabFolder/@allItem/@topSashForm/@resources/@refreshImage
          sname
          refreshImage
          stype
          Image
          simageFile
          icons/arrow_refresh.png
          sdescriptors
          xworker.swt.util.Resource/@Image
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          refreshImage
        @/@mainTabFolder/@allItem/@topSashForm/@mainSashForm
        sname
        mainSashForm
        sstyle
        HORIZONTAL
        sSMOOTH
        false
        sweights
        50,50
        sBORDER
        false
        sH_SCROLL
        false
        sV_SCROLL
        false
        sNO_BACKGROUND
        false
        sNO_FOCUS
        false
        sNO_MERGE_PAINTS
        false
        sNO_REDRAW_RESIZE
        false
        sNO_RADIO_GROUP
        false
        sEMBEDDED
        false
        sDOUBLE_BUFFERED
        false
        scapture
        false
        senabled
        true
        sredraw
        true
        svisible
        true
        sdescriptors
        xworker.swt.Widgets/@SashForm
        sth_createIndex
        false
        sth_mark
        false
        sid
        mainSashForm
          @/@mainTabFolder/@allItem/@topSashForm/@mainSashForm/@mainSashFormGridData
          sname
          mainSashFormGridData
          sstyle
          FILL_BOTH
          shorizontalIndent
          0
          swidth
          -1
          sheight
          -1
          shorizontalAlignment
          BEGINNING
          sverticalAlignment
          CENTER
          shorizontalSpan
          1
          sverticalSpan
          1
          sgrabExcessHorizontalSpace
          false
          sgrabExcessVerticalSpace
          false
          sdescriptors
          xworker.swt.layout.LayoutDatas/@GridData
          sth_createIndex
          false
          sth_mark
          false
          sid
          mainSashFormGridData
          @/@mainTabFolder/@allItem/@topSashForm/@mainSashForm/@treeComposite
          sname
          conditoinComposite
          sBORDER
          false
          sH_SCROLL
          false
          sV_SCROLL
          false
          sNO_BACKGROUND
          false
          sNO_FOCUS
          false
          sNO_MERGE_PAINTS
          false
          sNO_REDRAW_RESIZE
          false
          sNO_RADIO_GROUP
          false
          sEMBEDDED
          false
          sDOUBLE_BUFFERED
          false
          scapture
          false
          senabled
          true
          sredraw
          true
          svisible
          true
          sdescriptors
          xworker.swt.Widgets/@Composite
          sth_createIndex
          false
          sth_mark
          false
          sid
          treeComposite
            @/@mainTabFolder/@allItem/@topSashForm/@mainSashForm/@treeComposite/@treeCompositeGridLayout
            sname
            treeCompositeGridLayout
            snumColumns
            2
            smakeColumnsEqualWidth
            false
            smarginWidth
            0
            smarginHeight
            0
            smarginLeft
            0
            smarginTop
            0
            smarginRight
            0
            smarginBottom
            0
            shorizontalSpacing
            0
            sverticalSpacing
            0
            sdescriptors
            xworker.swt.Layouts/@GridLayout
            sth_createIndex
            false
            sth_mark
            false
            sid
            treeCompositeGridLayout
            @/@mainTabFolder/@allItem/@topSashForm/@mainSashForm/@treeComposite/@searchText
            sname
            searchText
            sstyle
            SINGLE
            sH_SCROLL
            false
            sV_SCROLL
            false
            sWRAP
            false
            sREAD_ONLY
            false
            sPASSWORD
            false
            sSEARCH
            false
            sCANCEL
            false
            sBORDER
            true
            salign
            LEFT
            scapture
            false
            senabled
            true
            sredraw
            true
            svisible
            true
            sdescriptors
            xworker.swt.Widgets/@Text
            sth_createIndex
            false
            sth_mark
            false
            sid
            searchText
              @/@mainTabFolder/@allItem/@topSashForm/@mainSashForm/@treeComposite/@searchText/@searchTextGridData
              sname
              searchTextGridData
              sstyle
              FILL_HORIZONTAL
              shorizontalIndent
              0
              swidth
              -1
              sheight
              -1
              shorizontalAlignment
              BEGINNING
              sverticalAlignment
              CENTER
              shorizontalSpan
              1
              sverticalSpan
              1
              sgrabExcessHorizontalSpace
              false
              sgrabExcessVerticalSpace
              false
              sdescriptors
              xworker.swt.layout.LayoutDatas/@GridData
              sth_createIndex
              false
              sth_mark
              false
              sid
              searchTextGridData
              @/@mainTabFolder/@allItem/@topSashForm/@mainSashForm/@treeComposite/@searchText/@Listeners
              sname
              Listeners
              sdescriptors
              xworker.swt.widgets.Widget/@Listeners
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_mark
              false
              sid
              Listeners
                @/@mainTabFolder/@allItem/@topSashForm/@mainSashForm/@treeComposite/@searchText/@Listeners/@textKeyDown
                sname
                textKeyDown
                stype
                KeyDown
                sref
                xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@searchTextKeyDown
                sdescriptors
                xworker.swt.events.Listeners/@listeners/@Listener
                sinheritDescription
                false
                sth_createIndex
                false
                sth_registMyChilds
                false
                sth_registDisabled
                false
                sth_mark
                false
                sid
                textKeyDown
                @/@mainTabFolder/@allItem/@topSashForm/@mainSashForm/@treeComposite/@searchText/@Listeners/@Listener
                sname
                ModiyListener
                stype
                Modify
                sref
                xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@searchDelay
                sdescriptors
                xworker.swt.events.Listeners/@listeners/@Listener
                sinheritDescription
                false
                sth_createIndex
                false
                sth_registMyChilds
                false
                sth_mark
                false
                sid
                Listener
            @/@mainTabFolder/@allItem/@topSashForm/@mainSashForm/@treeComposite/@searchButton
            sname
            searchButton
            stext
            查找
            stype
            SWT.PUSH
            sflat
            false
            sborder
            false
            simage
            findImage
            sselected
            false
            scapture
            false
            senabled
            true
            sredraw
            true
            svisible
            true
            sdescriptors
            xworker.swt.Widgets/@Button
            sth_createIndex
            false
            sth_mark
            false
            sid
            searchButton
              @/@mainTabFolder/@allItem/@topSashForm/@mainSashForm/@treeComposite/@searchButton/@searchButtonGridData
              sname
              searchButtonGridData
              shorizontalIndent
              0
              swidth
              100
              sheight
              -1
              shorizontalAlignment
              BEGINNING
              sverticalAlignment
              CENTER
              shorizontalSpan
              1
              sverticalSpan
              1
              sgrabExcessHorizontalSpace
              false
              sgrabExcessVerticalSpace
              false
              sdescriptors
              xworker.swt.layout.LayoutDatas/@GridData
              sth_createIndex
              false
              sth_mark
              false
              sid
              searchButtonGridData
              @/@mainTabFolder/@allItem/@topSashForm/@mainSashForm/@treeComposite/@searchButton/@Listeners
              sname
              Listeners
              sdescriptors
              xworker.swt.widgets.Widget/@Listeners
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_mark
              false
              sid
              Listeners
                @/@mainTabFolder/@allItem/@topSashForm/@mainSashForm/@treeComposite/@searchButton/@Listeners/@searchButtonSelection
                sname
                searchButtonSelection
                stype
                Selection
                sref
                xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@search
                sdescriptors
                xworker.swt.events.Listeners/@listeners/@Listener
                sth_createIndex
                false
                sth_registMyChilds
                false
                sth_mark
                false
                sid
                searchButtonSelection
            @/@mainTabFolder/@allItem/@topSashForm/@mainSashForm/@treeComposite/@treeTitleLabel
            sname
            treeTitleLabel
            sBORDER
            false
            stype
            HORIZONTAL
            sshadow
            SHADOW_OUT
            salignment
            LEFT
            stext
            分类：
            scapture
            false
            senabled
            true
            sredraw
            true
            svisible
            true
            sdescriptors
            xworker.swt.Widgets/@Label
            sth_createIndex
            false
            sth_mark
            false
            sid
            treeTitleLabel
              @/@mainTabFolder/@allItem/@topSashForm/@mainSashForm/@treeComposite/@treeTitleLabel/@treeTitleGridData
              sname
              treeTitleGridData
              sstyle
              FILL_HORIZONTAL
              shorizontalIndent
              0
              swidth
              -1
              sheight
              -1
              shorizontalAlignment
              BEGINNING
              sverticalAlignment
              CENTER
              shorizontalSpan
              2
              sverticalSpan
              1
              sgrabExcessHorizontalSpace
              false
              sgrabExcessVerticalSpace
              false
              sdescriptors
              xworker.swt.layout.LayoutDatas/@GridData
              sth_createIndex
              false
              sth_mark
              false
              sid
              treeTitleGridData
            @/@mainTabFolder/@allItem/@topSashForm/@mainSashForm/@treeComposite/@tree
            sname
            categoryTree
            sselectStyle
            SINGLE
            sV_SCROLL
            true
            sH_SCROLL
            true
            sCHECK
            false
            sFULL_SELECTION
            false
            sHIDE_SELECTION
            false
            sBORDER
            false
            slineVisible
            false
            smultipleColumns
            false
            sheaderVisible
            false
            ssortIndicator
            false
            smoveableColumns
            false
            sheadImages
            false
            ssubImages
            false
            scheckSelection
            false
            scapture
            false
            senabled
            true
            sredraw
            true
            svisible
            true
            sdescriptors
            xworker.swt.Widgets/@Tree
            sth_createIndex
            false
            sth_mark
            false
            sid
            tree
              @/@mainTabFolder/@allItem/@topSashForm/@mainSashForm/@treeComposite/@tree/@treeGridData
              sname
              treeGridData
              sstyle
              FILL_BOTH
              shorizontalIndent
              0
              swidth
              -1
              sheight
              -1
              shorizontalAlignment
              BEGINNING
              sverticalAlignment
              CENTER
              shorizontalSpan
              2
              sverticalSpan
              1
              sgrabExcessHorizontalSpace
              false
              sgrabExcessVerticalSpace
              false
              sdescriptors
              xworker.swt.layout.LayoutDatas/@GridData
              sth_createIndex
              false
              sth_mark
              false
              sid
              treeGridData
              @/@mainTabFolder/@allItem/@topSashForm/@mainSashForm/@treeComposite/@tree/@Listeners
              sname
              Listeners
              sdescriptors
              xworker.swt.widgets.Widget/@Listeners
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_mark
              false
              sid
              Listeners
                @/@mainTabFolder/@allItem/@topSashForm/@mainSashForm/@treeComposite/@tree/@Listeners/@categoryTreeSelection
                sname
                categoryTreeSelection
                stype
                Selection
                sref
                xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@search
                sdescriptors
                xworker.swt.events.Listeners/@listeners/@Listener
                sth_createIndex
                false
                sth_registMyChilds
                false
                sth_mark
                false
                sid
                categoryTreeSelection
          @/@mainTabFolder/@allItem/@topSashForm/@mainSashForm/@thingComposite
          sname
          thingComposite
          sBORDER
          false
          sH_SCROLL
          false
          sV_SCROLL
          false
          sNO_BACKGROUND
          false
          sNO_FOCUS
          false
          sNO_MERGE_PAINTS
          false
          sNO_REDRAW_RESIZE
          false
          sNO_RADIO_GROUP
          false
          sEMBEDDED
          false
          sDOUBLE_BUFFERED
          false
          scapture
          false
          senabled
          true
          sredraw
          true
          svisible
          true
          sdescriptors
          xworker.swt.Widgets/@Composite
          sth_createIndex
          false
          sth_mark
          false
          sid
          thingComposite
            @/@mainTabFolder/@allItem/@topSashForm/@mainSashForm/@thingComposite/@thingComposieGridLayout
            sname
            thingComposieGridLayout
            smakeColumnsEqualWidth
            false
            smarginWidth
            0
            smarginHeight
            0
            smarginLeft
            0
            smarginTop
            0
            smarginRight
            0
            smarginBottom
            0
            shorizontalSpacing
            0
            sverticalSpacing
            0
            sdescriptors
            xworker.swt.Layouts/@GridLayout
            sth_createIndex
            false
            sth_mark
            false
            sid
            thingComposieGridLayout
            @/@mainTabFolder/@allItem/@topSashForm/@mainSashForm/@thingComposite/@tingLabel
            sname
            tingLabel
            sBORDER
            false
            stype
            HORIZONTAL
            sshadow
            SHADOW_OUT
            salignment
            LEFT
            stext
            事物：
            scapture
            false
            senabled
            true
            sredraw
            true
            svisible
            true
            sdescriptors
            xworker.swt.Widgets/@Label
            sth_createIndex
            false
            sth_mark
            false
            sid
            tingLabel
              @/@mainTabFolder/@allItem/@topSashForm/@mainSashForm/@thingComposite/@tingLabel/@thingLabelGridData
              sname
              thingLabelGridData
              sstyle
              FILL_HORIZONTAL
              shorizontalIndent
              0
              swidth
              -1
              sheight
              -1
              shorizontalAlignment
              BEGINNING
              sverticalAlignment
              CENTER
              shorizontalSpan
              1
              sverticalSpan
              1
              sgrabExcessHorizontalSpace
              false
              sgrabExcessVerticalSpace
              false
              sdescriptors
              xworker.swt.layout.LayoutDatas/@GridData
              sth_createIndex
              false
              sth_mark
              false
              sid
              thingLabelGridData
            @/@mainTabFolder/@allItem/@topSashForm/@mainSashForm/@thingComposite/@thingTree
            sname
            thingTree
            sselectStyle
            SINGLE
            sV_SCROLL
            true
            sH_SCROLL
            true
            sCHECK
            false
            sFULL_SELECTION
            false
            sHIDE_SELECTION
            false
            sBORDER
            false
            slineVisible
            false
            smultipleColumns
            false
            sheaderVisible
            false
            ssortIndicator
            false
            smoveableColumns
            false
            sheadImages
            false
            ssubImages
            false
            scheckSelection
            false
            scapture
            false
            senabled
            true
            sredraw
            true
            svisible
            true
            sdescriptors
            xworker.swt.Widgets/@Tree
            sth_createIndex
            false
            sth_mark
            false
            sid
            thingTree
              @/@mainTabFolder/@allItem/@topSashForm/@mainSashForm/@thingComposite/@thingTree/@thingTreeGridData
              sname
              thingTreeGridData
              sstyle
              FILL_BOTH
              shorizontalIndent
              0
              swidth
              -1
              sheight
              -1
              shorizontalAlignment
              BEGINNING
              sverticalAlignment
              CENTER
              shorizontalSpan
              1
              sverticalSpan
              1
              sgrabExcessHorizontalSpace
              false
              sgrabExcessVerticalSpace
              false
              sdescriptors
              xworker.swt.layout.LayoutDatas/@GridData
              sth_createIndex
              false
              sth_mark
              false
              sid
              thingTreeGridData
              @/@mainTabFolder/@allItem/@topSashForm/@mainSashForm/@thingComposite/@thingTree/@Listeners
              sname
              Listeners
              sdescriptors
              xworker.swt.widgets.Widget/@Listeners
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_mark
              false
              sid
              Listeners
                @/@mainTabFolder/@allItem/@topSashForm/@mainSashForm/@thingComposite/@thingTree/@Listeners/@thingTreeSelection
                sname
                thingTreeSelection
                stype
                Selection
                sref
                xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@thingTreeSelection
                sdescriptors
                xworker.swt.events.Listeners/@listeners/@Listener
                sth_createIndex
                false
                sth_registMyChilds
                false
                sth_mark
                false
                sid
                thingTreeSelection
                @/@mainTabFolder/@allItem/@topSashForm/@mainSashForm/@thingComposite/@thingTree/@Listeners/@thingTreeDefaultSelection
                sname
                thingTreeDefaultSelection
                stype
                DefaultSelection
                sref
                xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@thingTreeDefaultSelection
                sdescriptors
                xworker.swt.events.Listeners/@listeners/@Listener
                sth_createIndex
                false
                sth_registMyChilds
                false
                sth_mark
                false
                sid
                thingTreeDefaultSelection
                @/@mainTabFolder/@allItem/@topSashForm/@mainSashForm/@thingComposite/@thingTree/@Listeners/@menuDetect
                sname
                menuDetect
                stype
                MenuDetect
                sref
                xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@menuDetect
                sdescriptors
                xworker.swt.events.Listeners/@listeners/@Listener
                sinheritDescription
                false
                sth_createIndex
                false
                sth_registMyChilds
                false
                sth_registDisabled
                false
                sth_mark
                false
                sid
                menuDetect
              @/@mainTabFolder/@allItem/@topSashForm/@mainSashForm/@thingComposite/@thingTree/@expandCache
              sname
              expandCache
              sdescriptors
              xworker.swt.widgets.Tree/@ExpandCache
              sinheritDescription
              false
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_registDisabled
              false
              sth_mark
              false
              sid
              expandCache
        @/@mainTabFolder/@allItem/@topSashForm/@contentComposie
        sname
        contentComposie
        sextendWidgetPath
        xworker.swt.xworker.prototype.ThingRegistSelector/@mainTabFolder/@searchDesc1/@mainSashForm/@contentComposie
        snewActionContext
        false
        sdescriptors
        xworker.swt.Widgets/@ExtendWidget
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        contentComposie
    @/@mainTabFolder/@searchCategoryNoDescItem
    sname
    searchCategoryItem
    stext
    查找分类
    sCLOSE
    false
    sdescriptors
    xworker.swt.custom.CTabFolder/@CTabItem
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    searchCategoryNoDescItem
      @/@mainTabFolder/@searchCategoryNoDescItem/@mainSashForm
      sname
      mainSashForm
      sstyle
      HORIZONTAL
      sSMOOTH
      false
      sweights
      50,50
      sBORDER
      false
      sH_SCROLL
      false
      sV_SCROLL
      false
      sNO_BACKGROUND
      false
      sNO_FOCUS
      false
      sNO_MERGE_PAINTS
      false
      sNO_REDRAW_RESIZE
      false
      sNO_RADIO_GROUP
      false
      sEMBEDDED
      false
      sDOUBLE_BUFFERED
      false
      scapture
      false
      senabled
      true
      sredraw
      true
      svisible
      true
      sdescriptors
      xworker.swt.Widgets/@SashForm
      sth_createIndex
      false
      sth_mark
      false
      sid
      mainSashForm
        @/@mainTabFolder/@searchCategoryNoDescItem/@mainSashForm/@resources
        sname
        resources
        sdescriptors
        xworker.swt.Widgets/@Resource
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        resources
          @/@mainTabFolder/@searchCategoryNoDescItem/@mainSashForm/@resources/@findImage
          sname
          findImage
          stype
          Image
          simageFile
          icons/find.png
          sdescriptors
          xworker.swt.util.Resource/@Image
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          findImage
        @/@mainTabFolder/@searchCategoryNoDescItem/@mainSashForm/@treeComposite
        sname
        conditoinComposite
        sBORDER
        false
        sH_SCROLL
        false
        sV_SCROLL
        false
        sNO_BACKGROUND
        false
        sNO_FOCUS
        false
        sNO_MERGE_PAINTS
        false
        sNO_REDRAW_RESIZE
        false
        sNO_RADIO_GROUP
        false
        sEMBEDDED
        false
        sDOUBLE_BUFFERED
        false
        scapture
        false
        senabled
        true
        sredraw
        true
        svisible
        true
        sdescriptors
        xworker.swt.Widgets/@Composite
        sth_createIndex
        false
        sth_mark
        false
        sid
        treeComposite
          @/@mainTabFolder/@searchCategoryNoDescItem/@mainSashForm/@treeComposite/@treeCompositeGridLayout
          sname
          treeCompositeGridLayout
          snumColumns
          2
          smakeColumnsEqualWidth
          false
          smarginWidth
          0
          smarginHeight
          0
          smarginLeft
          0
          smarginTop
          0
          smarginRight
          0
          smarginBottom
          0
          shorizontalSpacing
          0
          sverticalSpacing
          0
          sdescriptors
          xworker.swt.Layouts/@GridLayout
          sth_createIndex
          false
          sth_mark
          false
          sid
          treeCompositeGridLayout
          @/@mainTabFolder/@searchCategoryNoDescItem/@mainSashForm/@treeComposite/@searchText
          sname
          searchText
          sstyle
          SINGLE
          sH_SCROLL
          false
          sV_SCROLL
          false
          sWRAP
          false
          sREAD_ONLY
          false
          sPASSWORD
          false
          sSEARCH
          false
          sCANCEL
          false
          sBORDER
          true
          salign
          LEFT
          scapture
          false
          senabled
          true
          sredraw
          true
          svisible
          true
          sdescriptors
          xworker.swt.Widgets/@Text
          sth_createIndex
          false
          sth_mark
          false
          sid
          searchText
            @/@mainTabFolder/@searchCategoryNoDescItem/@mainSashForm/@treeComposite/@searchText/@searchTextGridData
            sname
            searchTextGridData
            sstyle
            FILL_HORIZONTAL
            shorizontalIndent
            0
            swidth
            -1
            sheight
            -1
            shorizontalAlignment
            BEGINNING
            sverticalAlignment
            CENTER
            shorizontalSpan
            1
            sverticalSpan
            1
            sgrabExcessHorizontalSpace
            false
            sgrabExcessVerticalSpace
            false
            sdescriptors
            xworker.swt.layout.LayoutDatas/@GridData
            sth_createIndex
            false
            sth_mark
            false
            sid
            searchTextGridData
            @/@mainTabFolder/@searchCategoryNoDescItem/@mainSashForm/@treeComposite/@searchText/@Listeners
            sname
            Listeners
            sdescriptors
            xworker.swt.widgets.Widget/@Listeners
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_mark
            false
            sid
            Listeners
              @/@mainTabFolder/@searchCategoryNoDescItem/@mainSashForm/@treeComposite/@searchText/@Listeners/@textKeyDown
              sname
              textKeyDown
              stype
              KeyDown
              sref
              xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@searchTextKeyDown
              sdescriptors
              xworker.swt.events.Listeners/@listeners/@Listener
              sinheritDescription
              false
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_registDisabled
              false
              sth_mark
              false
              sid
              textKeyDown
              @/@mainTabFolder/@searchCategoryNoDescItem/@mainSashForm/@treeComposite/@searchText/@Listeners/@Listener
              sname
              ModiyListener
              stype
              Modify
              sref
              xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@searchDelay
              sdescriptors
              xworker.swt.events.Listeners/@listeners/@Listener
              sinheritDescription
              false
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_mark
              false
              sid
              Listener
          @/@mainTabFolder/@searchCategoryNoDescItem/@mainSashForm/@treeComposite/@searchButton
          sname
          searchButton
          stext
          查找
          stype
          SWT.PUSH
          sflat
          false
          sborder
          false
          simage
          findImage
          sselected
          false
          scapture
          false
          senabled
          true
          sredraw
          true
          svisible
          true
          sdescriptors
          xworker.swt.Widgets/@Button
          sth_createIndex
          false
          sth_mark
          false
          sid
          searchButton
            @/@mainTabFolder/@searchCategoryNoDescItem/@mainSashForm/@treeComposite/@searchButton/@searchButtonGridData
            sname
            searchButtonGridData
            shorizontalIndent
            0
            swidth
            100
            sheight
            -1
            shorizontalAlignment
            BEGINNING
            sverticalAlignment
            CENTER
            shorizontalSpan
            1
            sverticalSpan
            1
            sgrabExcessHorizontalSpace
            false
            sgrabExcessVerticalSpace
            false
            sdescriptors
            xworker.swt.layout.LayoutDatas/@GridData
            sth_createIndex
            false
            sth_mark
            false
            sid
            searchButtonGridData
            @/@mainTabFolder/@searchCategoryNoDescItem/@mainSashForm/@treeComposite/@searchButton/@Listeners
            sname
            Listeners
            sdescriptors
            xworker.swt.widgets.Widget/@Listeners
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_mark
            false
            sid
            Listeners
              @/@mainTabFolder/@searchCategoryNoDescItem/@mainSashForm/@treeComposite/@searchButton/@Listeners/@searchButtonSelection
              sname
              searchButtonSelection
              stype
              Selection
              sref
              xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@search
              sdescriptors
              xworker.swt.events.Listeners/@listeners/@Listener
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_mark
              false
              sid
              searchButtonSelection
          @/@mainTabFolder/@searchCategoryNoDescItem/@mainSashForm/@treeComposite/@treeTitleLabel
          sname
          treeTitleLabel
          sBORDER
          false
          stype
          HORIZONTAL
          sshadow
          SHADOW_OUT
          salignment
          LEFT
          stext
          分类：
          scapture
          false
          senabled
          true
          sredraw
          true
          svisible
          true
          sdescriptors
          xworker.swt.Widgets/@Label
          sth_createIndex
          false
          sth_mark
          false
          sid
          treeTitleLabel
            @/@mainTabFolder/@searchCategoryNoDescItem/@mainSashForm/@treeComposite/@treeTitleLabel/@treeTitleGridData
            sname
            treeTitleGridData
            sstyle
            FILL_HORIZONTAL
            shorizontalIndent
            0
            swidth
            -1
            sheight
            -1
            shorizontalAlignment
            BEGINNING
            sverticalAlignment
            CENTER
            shorizontalSpan
            2
            sverticalSpan
            1
            sgrabExcessHorizontalSpace
            false
            sgrabExcessVerticalSpace
            false
            sdescriptors
            xworker.swt.layout.LayoutDatas/@GridData
            sth_createIndex
            false
            sth_mark
            false
            sid
            treeTitleGridData
          @/@mainTabFolder/@searchCategoryNoDescItem/@mainSashForm/@treeComposite/@tree
          sname
          categoryTree
          sselectStyle
          SINGLE
          sV_SCROLL
          true
          sH_SCROLL
          true
          sCHECK
          false
          sFULL_SELECTION
          false
          sHIDE_SELECTION
          false
          sBORDER
          false
          slineVisible
          false
          smultipleColumns
          false
          sheaderVisible
          false
          ssortIndicator
          false
          smoveableColumns
          false
          sheadImages
          false
          ssubImages
          false
          scheckSelection
          false
          scapture
          false
          senabled
          true
          sredraw
          true
          svisible
          true
          sdescriptors
          xworker.swt.Widgets/@Tree
          sth_createIndex
          false
          sth_mark
          false
          sid
          tree
            @/@mainTabFolder/@searchCategoryNoDescItem/@mainSashForm/@treeComposite/@tree/@treeGridData
            sname
            treeGridData
            sstyle
            FILL_BOTH
            shorizontalIndent
            0
            swidth
            -1
            sheight
            -1
            shorizontalAlignment
            BEGINNING
            sverticalAlignment
            CENTER
            shorizontalSpan
            2
            sverticalSpan
            1
            sgrabExcessHorizontalSpace
            false
            sgrabExcessVerticalSpace
            false
            sdescriptors
            xworker.swt.layout.LayoutDatas/@GridData
            sth_createIndex
            false
            sth_mark
            false
            sid
            treeGridData
            @/@mainTabFolder/@searchCategoryNoDescItem/@mainSashForm/@treeComposite/@tree/@Listeners
            sname
            Listeners
            sdescriptors
            xworker.swt.widgets.Widget/@Listeners
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_mark
            false
            sid
            Listeners
              @/@mainTabFolder/@searchCategoryNoDescItem/@mainSashForm/@treeComposite/@tree/@Listeners/@categoryTreeSelection
              sname
              categoryTreeSelection
              stype
              Selection
              sref
              xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@search
              sdescriptors
              xworker.swt.events.Listeners/@listeners/@Listener
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_mark
              false
              sid
              categoryTreeSelection
        @/@mainTabFolder/@searchCategoryNoDescItem/@mainSashForm/@thingComposite
        sname
        thingComposite
        sBORDER
        false
        sH_SCROLL
        false
        sV_SCROLL
        false
        sNO_BACKGROUND
        false
        sNO_FOCUS
        false
        sNO_MERGE_PAINTS
        false
        sNO_REDRAW_RESIZE
        false
        sNO_RADIO_GROUP
        false
        sEMBEDDED
        false
        sDOUBLE_BUFFERED
        false
        scapture
        false
        senabled
        true
        sredraw
        true
        svisible
        true
        sdescriptors
        xworker.swt.Widgets/@Composite
        sth_createIndex
        false
        sth_mark
        false
        sid
        thingComposite
          @/@mainTabFolder/@searchCategoryNoDescItem/@mainSashForm/@thingComposite/@thingComposieGridLayout
          sname
          thingComposieGridLayout
          smakeColumnsEqualWidth
          false
          smarginWidth
          0
          smarginHeight
          0
          smarginLeft
          0
          smarginTop
          0
          smarginRight
          0
          smarginBottom
          0
          shorizontalSpacing
          0
          sverticalSpacing
          0
          sdescriptors
          xworker.swt.Layouts/@GridLayout
          sth_createIndex
          false
          sth_mark
          false
          sid
          thingComposieGridLayout
          @/@mainTabFolder/@searchCategoryNoDescItem/@mainSashForm/@thingComposite/@tingLabel
          sname
          tingLabel
          sBORDER
          false
          stype
          HORIZONTAL
          sshadow
          SHADOW_OUT
          salignment
          LEFT
          stext
          事物：
          scapture
          false
          senabled
          true
          sredraw
          true
          svisible
          true
          sdescriptors
          xworker.swt.Widgets/@Label
          sth_createIndex
          false
          sth_mark
          false
          sid
          tingLabel
            @/@mainTabFolder/@searchCategoryNoDescItem/@mainSashForm/@thingComposite/@tingLabel/@thingLabelGridData
            sname
            thingLabelGridData
            sstyle
            FILL_HORIZONTAL
            shorizontalIndent
            0
            swidth
            -1
            sheight
            -1
            shorizontalAlignment
            BEGINNING
            sverticalAlignment
            CENTER
            shorizontalSpan
            1
            sverticalSpan
            1
            sgrabExcessHorizontalSpace
            false
            sgrabExcessVerticalSpace
            false
            sdescriptors
            xworker.swt.layout.LayoutDatas/@GridData
            sth_createIndex
            false
            sth_mark
            false
            sid
            thingLabelGridData
          @/@mainTabFolder/@searchCategoryNoDescItem/@mainSashForm/@thingComposite/@thingTree
          sname
          thingTree
          sselectStyle
          SINGLE
          sV_SCROLL
          true
          sH_SCROLL
          true
          sCHECK
          false
          sFULL_SELECTION
          false
          sHIDE_SELECTION
          false
          sBORDER
          false
          slineVisible
          false
          smultipleColumns
          false
          sheaderVisible
          false
          ssortIndicator
          false
          smoveableColumns
          false
          sheadImages
          false
          ssubImages
          false
          scheckSelection
          false
          scapture
          false
          senabled
          true
          sredraw
          true
          svisible
          true
          sdescriptors
          xworker.swt.Widgets/@Tree
          sth_createIndex
          false
          sth_mark
          false
          sid
          thingTree
            @/@mainTabFolder/@searchCategoryNoDescItem/@mainSashForm/@thingComposite/@thingTree/@thingTreeGridData
            sname
            thingTreeGridData
            sstyle
            FILL_BOTH
            shorizontalIndent
            0
            swidth
            -1
            sheight
            -1
            shorizontalAlignment
            BEGINNING
            sverticalAlignment
            CENTER
            shorizontalSpan
            1
            sverticalSpan
            1
            sgrabExcessHorizontalSpace
            false
            sgrabExcessVerticalSpace
            false
            sdescriptors
            xworker.swt.layout.LayoutDatas/@GridData
            sth_createIndex
            false
            sth_mark
            false
            sid
            thingTreeGridData
            @/@mainTabFolder/@searchCategoryNoDescItem/@mainSashForm/@thingComposite/@thingTree/@Listeners
            sname
            Listeners
            sdescriptors
            xworker.swt.widgets.Widget/@Listeners
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_mark
            false
            sid
            Listeners
              @/@mainTabFolder/@searchCategoryNoDescItem/@mainSashForm/@thingComposite/@thingTree/@Listeners/@thingTreeSelection
              sname
              thingTreeSelection
              stype
              Selection
              sref
              xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@thingTreeSelection
              sdescriptors
              xworker.swt.events.Listeners/@listeners/@Listener
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_mark
              false
              sid
              thingTreeSelection
              @/@mainTabFolder/@searchCategoryNoDescItem/@mainSashForm/@thingComposite/@thingTree/@Listeners/@thingTreeDefaultSelection
              sname
              thingTreeDefaultSelection
              stype
              DefaultSelection
              sref
              xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@thingTreeDefaultSelection
              sdescriptors
              xworker.swt.events.Listeners/@listeners/@Listener
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_mark
              false
              sid
              thingTreeDefaultSelection
              @/@mainTabFolder/@searchCategoryNoDescItem/@mainSashForm/@thingComposite/@thingTree/@Listeners/@menuDetect
              sname
              menuDetect
              stype
              MenuDetect
              sref
              xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@menuDetect
              sdescriptors
              xworker.swt.events.Listeners/@listeners/@Listener
              sinheritDescription
              false
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_registDisabled
              false
              sth_mark
              false
              sid
              menuDetect
            @/@mainTabFolder/@searchCategoryNoDescItem/@mainSashForm/@thingComposite/@thingTree/@expandCache
            sname
            expandCache
            sdescriptors
            xworker.swt.widgets.Tree/@ExpandCache
            sinheritDescription
            false
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_registDisabled
            false
            sth_mark
            false
            sid
            expandCache
    @/@mainTabFolder/@searchDesc
    sname
    searchDescItem
    stext
    查找描述
    sCLOSE
    false
    sdescriptors
    xworker.swt.custom.CTabFolder/@CTabItem
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    searchDesc
      @/@mainTabFolder/@searchDesc/@mainSashForm
      sname
      mainSashForm
      sstyle
      VERTICAL
      sSMOOTH
      false
      sweights
      70,30
      sBORDER
      false
      sH_SCROLL
      false
      sV_SCROLL
      false
      sNO_BACKGROUND
      false
      sNO_FOCUS
      false
      sNO_MERGE_PAINTS
      false
      sNO_REDRAW_RESIZE
      false
      sNO_RADIO_GROUP
      false
      sEMBEDDED
      false
      sDOUBLE_BUFFERED
      false
      scapture
      false
      senabled
      true
      sredraw
      true
      svisible
      true
      sdescriptors
      xworker.swt.Widgets/@SashForm
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      mainSashForm
        @/@mainTabFolder/@searchDesc/@mainSashForm/@resources
        sname
        resources
        sdescriptors
        xworker.swt.Widgets/@Resource
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        resources
          @/@mainTabFolder/@searchDesc/@mainSashForm/@resources/@findImage
          sname
          findImage
          stype
          Image
          simageFile
          icons/find.png
          sdescriptors
          xworker.swt.util.Resource/@Image
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          findImage
          @/@mainTabFolder/@searchDesc/@mainSashForm/@resources/@refreshImage
          sname
          refreshImage
          stype
          Image
          simageFile
          icons/arrow_refresh_small.png
          sdescriptors
          xworker.swt.util.Resource/@Image
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          refreshImage
        @/@mainTabFolder/@searchDesc/@mainSashForm/@composite
        sname
        composite
        sBORDER
        false
        sH_SCROLL
        false
        sV_SCROLL
        false
        sNO_BACKGROUND
        false
        sNO_FOCUS
        false
        sNO_MERGE_PAINTS
        false
        sNO_REDRAW_RESIZE
        false
        sNO_RADIO_GROUP
        false
        sEMBEDDED
        false
        sDOUBLE_BUFFERED
        false
        scapture
        false
        senabled
        true
        sredraw
        true
        svisible
        true
        sdescriptors
        xworker.swt.Widgets/@Composite
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        composite
          @/@mainTabFolder/@searchDesc/@mainSashForm/@composite/@compositeGridLayout
          sname
          compositeGridLayout
          snumColumns
          3
          smakeColumnsEqualWidth
          false
          smarginWidth
          5
          smarginHeight
          5
          smarginLeft
          0
          smarginTop
          0
          smarginRight
          0
          smarginBottom
          0
          shorizontalSpacing
          5
          sverticalSpacing
          5
          sdescriptors
          xworker.swt.Layouts/@GridLayout
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          compositeGridLayout
          @/@mainTabFolder/@searchDesc/@mainSashForm/@composite/@searchText
          sname
          searchText
          sstyle
          SINGLE
          sH_SCROLL
          false
          sV_SCROLL
          false
          sWRAP
          false
          sREAD_ONLY
          false
          sPASSWORD
          false
          sSEARCH
          false
          sCANCEL
          false
          sBORDER
          true
          salign
          LEFT
          scapture
          false
          senabled
          true
          sredraw
          true
          svisible
          true
          sdescriptors
          xworker.swt.Widgets/@Text
          sth_createIndex
          false
          sth_mark
          false
          sid
          searchText
            @/@mainTabFolder/@searchDesc/@mainSashForm/@composite/@searchText/@searchTextGridData
            sname
            searchTextGridData
            sstyle
            FILL_HORIZONTAL
            shorizontalIndent
            0
            swidth
            -1
            sheight
            -1
            shorizontalAlignment
            BEGINNING
            sverticalAlignment
            CENTER
            shorizontalSpan
            1
            sverticalSpan
            1
            sgrabExcessHorizontalSpace
            false
            sgrabExcessVerticalSpace
            false
            sdescriptors
            xworker.swt.layout.LayoutDatas/@GridData
            sth_createIndex
            false
            sth_mark
            false
            sid
            searchTextGridData
            @/@mainTabFolder/@searchDesc/@mainSashForm/@composite/@searchText/@Listeners
            sname
            Listeners
            sdescriptors
            xworker.swt.widgets.Widget/@Listeners
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_mark
            false
            sid
            Listeners
              @/@mainTabFolder/@searchDesc/@mainSashForm/@composite/@searchText/@Listeners/@textKeyDown
              sname
              textKeyDown
              stype
              KeyDown
              sref
              xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@searchTextKeyDown
              sdescriptors
              xworker.swt.events.Listeners/@listeners/@Listener
              sinheritDescription
              false
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_registDisabled
              false
              sth_mark
              false
              sid
              textKeyDown
              @/@mainTabFolder/@searchDesc/@mainSashForm/@composite/@searchText/@Listeners/@Listener
              sname
              ModiyListener
              stype
              Modify
              sref
              xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@searchDelay
              sdescriptors
              xworker.swt.events.Listeners/@listeners/@Listener
              sinheritDescription
              false
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_mark
              false
              sid
              Listener
          @/@mainTabFolder/@searchDesc/@mainSashForm/@composite/@searchButton
          sname
          searchButton
          stype
          SWT.PUSH
          sflat
          false
          sborder
          false
          simage
          findImage
          sselected
          false
          scapture
          false
          senabled
          true
          sredraw
          true
          svisible
          true
          sdescriptors
          xworker.swt.Widgets/@Button
          sth_createIndex
          false
          sth_mark
          false
          sid
          searchButton
            @/@mainTabFolder/@searchDesc/@mainSashForm/@composite/@searchButton/@Listeners
            sname
            Listeners
            sdescriptors
            xworker.swt.widgets.Widget/@Listeners
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_mark
            false
            sid
            Listeners
              @/@mainTabFolder/@searchDesc/@mainSashForm/@composite/@searchButton/@Listeners/@searchButtonSelection
              sname
              searchButtonSelection
              stype
              Selection
              sref
              xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@search
              sdescriptors
              xworker.swt.events.Listeners/@listeners/@Listener
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_mark
              false
              sid
              searchButtonSelection
          @/@mainTabFolder/@searchDesc/@mainSashForm/@composite/@searchButton1
          sname
          refreshButton
          stype
          SWT.PUSH
          sflat
          false
          sborder
          false
          simage
          refreshImage
          sselected
          false
          scapture
          false
          senabled
          true
          sredraw
          true
          svisible
          true
          sdescriptors
          xworker.swt.Widgets/@Button
          sth_createIndex
          false
          sth_mark
          false
          sid
          searchButton1
            @/@mainTabFolder/@searchDesc/@mainSashForm/@composite/@searchButton1/@Listeners
            sname
            Listeners
            sdescriptors
            xworker.swt.widgets.Widget/@Listeners
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_mark
            false
            sid
            Listeners
              @/@mainTabFolder/@searchDesc/@mainSashForm/@composite/@searchButton1/@Listeners/@searchButtonSelection
              sname
              searchButtonSelection
              stype
              Selection
              sref
              xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@search
              sdescriptors
              xworker.swt.events.Listeners/@listeners/@Listener
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_mark
              false
              sid
              searchButtonSelection
          @/@mainTabFolder/@searchDesc/@mainSashForm/@composite/@tingLabel
          sname
          tingLabel
          sBORDER
          false
          stype
          HORIZONTAL
          sshadow
          SHADOW_OUT
          salignment
          LEFT
          stext
          事物：
          scapture
          false
          senabled
          true
          sredraw
          true
          svisible
          true
          sdescriptors
          xworker.swt.Widgets/@Label
          sth_createIndex
          false
          sth_mark
          false
          sid
          tingLabel
            @/@mainTabFolder/@searchDesc/@mainSashForm/@composite/@tingLabel/@thingLabelGridData
            sname
            thingLabelGridData
            sstyle
            FILL_HORIZONTAL
            shorizontalIndent
            0
            swidth
            -1
            sheight
            -1
            shorizontalAlignment
            BEGINNING
            sverticalAlignment
            CENTER
            shorizontalSpan
            3
            sverticalSpan
            1
            sgrabExcessHorizontalSpace
            false
            sgrabExcessVerticalSpace
            false
            sdescriptors
            xworker.swt.layout.LayoutDatas/@GridData
            sth_createIndex
            false
            sth_mark
            false
            sid
            thingLabelGridData
          @/@mainTabFolder/@searchDesc/@mainSashForm/@composite/@thingTree
          sname
          thingTree
          sselectStyle
          SINGLE
          sV_SCROLL
          true
          sH_SCROLL
          true
          sCHECK
          false
          sFULL_SELECTION
          false
          sHIDE_SELECTION
          false
          sBORDER
          false
          slineVisible
          false
          smultipleColumns
          false
          sheaderVisible
          false
          ssortIndicator
          false
          smoveableColumns
          false
          sheadImages
          false
          ssubImages
          false
          scheckSelection
          false
          scapture
          false
          senabled
          true
          sredraw
          true
          svisible
          true
          sdescriptors
          xworker.swt.Widgets/@Tree
          sth_createIndex
          false
          sth_mark
          false
          sid
          thingTree
            @/@mainTabFolder/@searchDesc/@mainSashForm/@composite/@thingTree/@thingTreeGridData
            sname
            thingTreeGridData
            sstyle
            FILL_BOTH
            shorizontalIndent
            0
            swidth
            -1
            sheight
            -1
            shorizontalAlignment
            BEGINNING
            sverticalAlignment
            CENTER
            shorizontalSpan
            3
            sverticalSpan
            1
            sgrabExcessHorizontalSpace
            false
            sgrabExcessVerticalSpace
            false
            sdescriptors
            xworker.swt.layout.LayoutDatas/@GridData
            sth_createIndex
            false
            sth_mark
            false
            sid
            thingTreeGridData
            @/@mainTabFolder/@searchDesc/@mainSashForm/@composite/@thingTree/@Listeners
            sname
            Listeners
            sdescriptors
            xworker.swt.widgets.Widget/@Listeners
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_mark
            false
            sid
            Listeners
              @/@mainTabFolder/@searchDesc/@mainSashForm/@composite/@thingTree/@Listeners/@thingTreeSelection
              sname
              thingTreeSelection
              stype
              Selection
              sref
              xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@thingTreeSelection
              sdescriptors
              xworker.swt.events.Listeners/@listeners/@Listener
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_mark
              false
              sid
              thingTreeSelection
              @/@mainTabFolder/@searchDesc/@mainSashForm/@composite/@thingTree/@Listeners/@thingTreeDefaultSelection
              sname
              thingTreeDefaultSelection
              stype
              DefaultSelection
              sref
              xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@thingTreeDefaultSelection
              sdescriptors
              xworker.swt.events.Listeners/@listeners/@Listener
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_mark
              false
              sid
              thingTreeDefaultSelection
              @/@mainTabFolder/@searchDesc/@mainSashForm/@composite/@thingTree/@Listeners/@menuDetect
              sname
              menuDetect
              stype
              MenuDetect
              sref
              xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@menuDetect
              sdescriptors
              xworker.swt.events.Listeners/@listeners/@Listener
              sinheritDescription
              false
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_registDisabled
              false
              sth_mark
              false
              sid
              menuDetect
            @/@mainTabFolder/@searchDesc/@mainSashForm/@composite/@thingTree/@expandCache
            sname
            expandCache
            sdescriptors
            xworker.swt.widgets.Tree/@ExpandCache
            sinheritDescription
            false
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_registDisabled
            false
            sth_mark
            false
            sid
            expandCache
        @/@mainTabFolder/@searchDesc/@mainSashForm/@descComposite
        sname
        descComposite
        sBORDER
        false
        sH_SCROLL
        false
        sV_SCROLL
        false
        sNO_BACKGROUND
        false
        sNO_FOCUS
        false
        sNO_MERGE_PAINTS
        false
        sNO_REDRAW_RESIZE
        false
        sNO_RADIO_GROUP
        false
        sEMBEDDED
        false
        sDOUBLE_BUFFERED
        false
        scapture
        false
        senabled
        true
        sredraw
        true
        svisible
        true
        sdescriptors
        xworker.swt.Widgets/@Composite
        sth_createIndex
        false
        sth_mark
        false
        sid
        descComposite
          @/@mainTabFolder/@searchDesc/@mainSashForm/@descComposite/@descCompositeGridLayout
          sname
          descCompositeGridLayout
          smakeColumnsEqualWidth
          false
          smarginWidth
          0
          smarginHeight
          0
          smarginLeft
          0
          smarginTop
          0
          smarginRight
          0
          smarginBottom
          0
          shorizontalSpacing
          0
          sverticalSpacing
          0
          sdescriptors
          xworker.swt.Layouts/@GridLayout
          sth_createIndex
          false
          sth_mark
          false
          sid
          descCompositeGridLayout
          @/@mainTabFolder/@searchDesc/@mainSashForm/@descComposite/@descComosteGridData
          sname
          descComosteGridData
          sstyle
          FILL_HORIZONTAL
          shorizontalIndent
          0
          swidth
          -1
          sheight
          100
          shorizontalAlignment
          BEGINNING
          sverticalAlignment
          CENTER
          shorizontalSpan
          1
          sverticalSpan
          1
          sgrabExcessHorizontalSpace
          false
          sgrabExcessVerticalSpace
          false
          sdescriptors
          xworker.swt.layout.LayoutDatas/@GridData
          sth_createIndex
          false
          sth_mark
          false
          sid
          descComosteGridData
          @/@mainTabFolder/@searchDesc/@mainSashForm/@descComposite/@descLabel
          sname
          descLabel
          sBORDER
          false
          stype
          HORIZONTAL
          sshadow
          SHADOW_OUT
          salignment
          LEFT
          stext
          描述：
          scapture
          false
          senabled
          true
          sredraw
          true
          svisible
          true
          sdescriptors
          xworker.swt.Widgets/@Label
          sth_createIndex
          false
          sth_mark
          false
          sid
          descLabel
            @/@mainTabFolder/@searchDesc/@mainSashForm/@descComposite/@descLabel/@descLabelGridData
            sname
            descLabelGridData
            sstyle
            FILL_HORIZONTAL
            shorizontalIndent
            0
            swidth
            -1
            sheight
            -1
            shorizontalAlignment
            BEGINNING
            sverticalAlignment
            CENTER
            shorizontalSpan
            1
            sverticalSpan
            1
            sgrabExcessHorizontalSpace
            false
            sgrabExcessVerticalSpace
            false
            sdescriptors
            xworker.swt.layout.LayoutDatas/@GridData
            sth_createIndex
            false
            sth_mark
            false
            sid
            descLabelGridData
          @/@mainTabFolder/@searchDesc/@mainSashForm/@descComposite/@descBrowser
          sname
          descBrowser
          sWEBKIT
          false
          sdescriptors
          xworker.swt.Widgets/@Browser
          sth_createIndex
          false
          sth_mark
          false
          sid
          descBrowser
            @/@mainTabFolder/@searchDesc/@mainSashForm/@descComposite/@descBrowser/@descBrowserGridData
            sname
            descBrowserGridData
            sstyle
            FILL_BOTH
            shorizontalIndent
            0
            swidth
            -1
            sheight
            -1
            shorizontalAlignment
            BEGINNING
            sverticalAlignment
            CENTER
            shorizontalSpan
            1
            sverticalSpan
            1
            sgrabExcessHorizontalSpace
            false
            sgrabExcessVerticalSpace
            false
            sdescriptors
            xworker.swt.layout.LayoutDatas/@GridData
            sth_createIndex
            false
            sth_mark
            false
            sid
            descBrowserGridData
            @/@mainTabFolder/@searchDesc/@mainSashForm/@descComposite/@descBrowser/@UtilBrowser
            sname
            UtilBrowser
            sdescriptors
            xworker.swt.browser.Browser/@UtilBrowser
            sth_createIndex
            false
            sth_mark
            false
            sid
            UtilBrowser
    @/@mainTabFolder/@search
    sname
    searchItem
    stext
    查找
    sCLOSE
    false
    sdescriptors
    xworker.swt.custom.CTabFolder/@CTabItem
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    search
      @/@mainTabFolder/@search/@composite
      sname
      composite
      sdescriptors
      xworker.swt.widgets.Composite
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_mark
      false
      sid
      composite
        @/@mainTabFolder/@search/@composite/@resources
        sname
        resources
        sdescriptors
        xworker.swt.Widgets/@Resource
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        resources
          @/@mainTabFolder/@search/@composite/@resources/@findImage
          sname
          findImage
          stype
          Image
          simageFile
          icons/find.png
          sdescriptors
          xworker.swt.util.Resource/@Image
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          findImage
          @/@mainTabFolder/@search/@composite/@resources/@refreshImage
          sname
          refreshImage
          stype
          Image
          simageFile
          icons/arrow_refresh_small.png
          sdescriptors
          xworker.swt.util.Resource/@Image
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          refreshImage
          @/@mainTabFolder/@search/@composite/@resources/@downImage
          sname
          downImage
          stype
          Image
          simageFile
          icons/arrow_down.png
          sdescriptors
          xworker.swt.util.Resource/@Image
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          downImage
          @/@mainTabFolder/@search/@composite/@resources/@upImage
          sname
          upImage
          stype
          Image
          simageFile
          icons/arrow_up.png
          sdescriptors
          xworker.swt.util.Resource/@Image
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          upImage
          @/@mainTabFolder/@search/@composite/@resources/@homeImage
          sname
          homeImage
          stype
          Image
          simageFile
          icons/house.png
          sdescriptors
          xworker.swt.util.Resource/@Image
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          homeImage
          @/@mainTabFolder/@search/@composite/@resources/@addImage
          sname
          addImage
          stype
          Image
          simageFile
          icons/add.png
          sdescriptors
          xworker.swt.util.Resource/@Image
          sinheritDescription
          false
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_registDisabled
          false
          sth_mark
          false
          sid
          addImage
        @/@mainTabFolder/@search/@composite/@compositeFillLayout
        sname
        compositeFillLayout
        stype
        SWT.HORIZONTAL
        sdescriptors
        xworker.swt.Layouts/@FillLayout
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        compositeFillLayout
        @/@mainTabFolder/@search/@composite/@composite1
        sname
        composite
        sextendWidgetPath
        xworker.swt.xworker.prototype.ThingRegistSelector/@mainTabFolder/@searchDesc1/@mainSashForm/@composite
        sactionContext
        actionContext
        screateActionContextIfNotExists
        true
        snewActionContext
        true
        sdescriptors
        xworker.swt.Widgets/@ExtendWidget
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        composite1
    @/@mainTabFolder/@categoryDesc
    sname
    categoryDescItem
    stext
    分类描述
    sCLOSE
    false
    sdescriptors
    xworker.swt.custom.CTabFolder/@CTabItem
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    categoryDesc
      @/@mainTabFolder/@categoryDesc/@topSashForm
      sname
      topSashForm
      sstyle
      VERTICAL
      sSMOOTH
      false
      sweights
      70,30
      sBORDER
      false
      sH_SCROLL
      false
      sV_SCROLL
      false
      sNO_BACKGROUND
      false
      sNO_FOCUS
      false
      sNO_MERGE_PAINTS
      false
      sNO_REDRAW_RESIZE
      false
      sNO_RADIO_GROUP
      false
      sEMBEDDED
      false
      sDOUBLE_BUFFERED
      false
      scapture
      false
      senabled
      true
      sredraw
      true
      spack
      false
      svisible
      true
      sdescriptors
      xworker.swt.Widgets/@SashForm
      sth_createIndex
      false
      sth_mark
      false
      sid
      topSashForm
        @/@mainTabFolder/@categoryDesc/@topSashForm/@mainSashForm
        sname
        mainSashForm
        sstyle
        HORIZONTAL
        sSMOOTH
        false
        sweights
        50,50
        sBORDER
        false
        sH_SCROLL
        false
        sV_SCROLL
        false
        sNO_BACKGROUND
        false
        sNO_FOCUS
        false
        sNO_MERGE_PAINTS
        false
        sNO_REDRAW_RESIZE
        false
        sNO_RADIO_GROUP
        false
        sEMBEDDED
        false
        sDOUBLE_BUFFERED
        false
        scapture
        false
        senabled
        true
        sredraw
        true
        svisible
        true
        sdescriptors
        xworker.swt.Widgets/@SashForm
        sth_createIndex
        false
        sth_mark
        false
        sid
        mainSashForm
          @/@mainTabFolder/@categoryDesc/@topSashForm/@mainSashForm/@mainSashFormGridData
          sname
          mainSashFormGridData
          sstyle
          FILL_BOTH
          shorizontalIndent
          0
          swidth
          -1
          sheight
          -1
          shorizontalAlignment
          BEGINNING
          sverticalAlignment
          CENTER
          shorizontalSpan
          1
          sverticalSpan
          1
          sgrabExcessHorizontalSpace
          false
          sgrabExcessVerticalSpace
          false
          sdescriptors
          xworker.swt.layout.LayoutDatas/@GridData
          sth_createIndex
          false
          sth_mark
          false
          sid
          mainSashFormGridData
          @/@mainTabFolder/@categoryDesc/@topSashForm/@mainSashForm/@treeComposite
          sname
          conditoinComposite
          sBORDER
          false
          sH_SCROLL
          false
          sV_SCROLL
          false
          sNO_BACKGROUND
          false
          sNO_FOCUS
          false
          sNO_MERGE_PAINTS
          false
          sNO_REDRAW_RESIZE
          false
          sNO_RADIO_GROUP
          false
          sEMBEDDED
          false
          sDOUBLE_BUFFERED
          false
          scapture
          false
          senabled
          true
          sredraw
          true
          svisible
          true
          sdescriptors
          xworker.swt.Widgets/@Composite
          sth_createIndex
          false
          sth_mark
          false
          sid
          treeComposite
            @/@mainTabFolder/@categoryDesc/@topSashForm/@mainSashForm/@treeComposite/@treeCompositeGridLayout
            sname
            treeCompositeGridLayout
            snumColumns
            2
            smakeColumnsEqualWidth
            false
            smarginWidth
            0
            smarginHeight
            0
            smarginLeft
            0
            smarginTop
            0
            smarginRight
            0
            smarginBottom
            0
            shorizontalSpacing
            0
            sverticalSpacing
            0
            sdescriptors
            xworker.swt.Layouts/@GridLayout
            sth_createIndex
            false
            sth_mark
            false
            sid
            treeCompositeGridLayout
            @/@mainTabFolder/@categoryDesc/@topSashForm/@mainSashForm/@treeComposite/@treeTitleLabel
            sname
            treeTitleLabel
            sBORDER
            false
            stype
            HORIZONTAL
            sshadow
            SHADOW_OUT
            salignment
            LEFT
            stext
            分类：
            scapture
            false
            senabled
            true
            sredraw
            true
            svisible
            true
            sdescriptors
            xworker.swt.Widgets/@Label
            sth_createIndex
            false
            sth_mark
            false
            sid
            treeTitleLabel
              @/@mainTabFolder/@categoryDesc/@topSashForm/@mainSashForm/@treeComposite/@treeTitleLabel/@treeTitleGridData
              sname
              treeTitleGridData
              sstyle
              FILL_HORIZONTAL
              shorizontalIndent
              0
              swidth
              -1
              sheight
              -1
              shorizontalAlignment
              BEGINNING
              sverticalAlignment
              CENTER
              shorizontalSpan
              2
              sverticalSpan
              1
              sgrabExcessHorizontalSpace
              false
              sgrabExcessVerticalSpace
              false
              sdescriptors
              xworker.swt.layout.LayoutDatas/@GridData
              sth_createIndex
              false
              sth_mark
              false
              sid
              treeTitleGridData
            @/@mainTabFolder/@categoryDesc/@topSashForm/@mainSashForm/@treeComposite/@tree
            sname
            categoryTree
            sselectStyle
            SINGLE
            sV_SCROLL
            true
            sH_SCROLL
            true
            sCHECK
            false
            sFULL_SELECTION
            false
            sHIDE_SELECTION
            false
            sBORDER
            false
            slineVisible
            false
            smultipleColumns
            false
            sheaderVisible
            false
            ssortIndicator
            false
            smoveableColumns
            false
            sheadImages
            false
            ssubImages
            false
            scheckSelection
            false
            scapture
            false
            senabled
            true
            sredraw
            true
            svisible
            true
            sdescriptors
            xworker.swt.Widgets/@Tree
            sth_createIndex
            false
            sth_mark
            false
            sid
            tree
              @/@mainTabFolder/@categoryDesc/@topSashForm/@mainSashForm/@treeComposite/@tree/@treeGridData
              sname
              treeGridData
              sstyle
              FILL_BOTH
              shorizontalIndent
              0
              swidth
              -1
              sheight
              -1
              shorizontalAlignment
              BEGINNING
              sverticalAlignment
              CENTER
              shorizontalSpan
              2
              sverticalSpan
              1
              sgrabExcessHorizontalSpace
              false
              sgrabExcessVerticalSpace
              false
              sdescriptors
              xworker.swt.layout.LayoutDatas/@GridData
              sth_createIndex
              false
              sth_mark
              false
              sid
              treeGridData
              @/@mainTabFolder/@categoryDesc/@topSashForm/@mainSashForm/@treeComposite/@tree/@Listeners
              sname
              Listeners
              sdescriptors
              xworker.swt.widgets.Widget/@Listeners
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_mark
              false
              sid
              Listeners
                @/@mainTabFolder/@categoryDesc/@topSashForm/@mainSashForm/@treeComposite/@tree/@Listeners/@categoryTreeSelection
                sname
                categoryTreeSelection
                stype
                Selection
                sref
                xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@search
                sdescriptors
                xworker.swt.events.Listeners/@listeners/@Listener
                sth_createIndex
                false
                sth_registMyChilds
                false
                sth_mark
                false
                sid
                categoryTreeSelection
          @/@mainTabFolder/@categoryDesc/@topSashForm/@mainSashForm/@thingComposite
          sname
          thingComposite
          sBORDER
          false
          sH_SCROLL
          false
          sV_SCROLL
          false
          sNO_BACKGROUND
          false
          sNO_FOCUS
          false
          sNO_MERGE_PAINTS
          false
          sNO_REDRAW_RESIZE
          false
          sNO_RADIO_GROUP
          false
          sEMBEDDED
          false
          sDOUBLE_BUFFERED
          false
          scapture
          false
          senabled
          true
          sredraw
          true
          svisible
          true
          sdescriptors
          xworker.swt.Widgets/@Composite
          sth_createIndex
          false
          sth_mark
          false
          sid
          thingComposite
            @/@mainTabFolder/@categoryDesc/@topSashForm/@mainSashForm/@thingComposite/@thingComposieGridLayout
            sname
            thingComposieGridLayout
            smakeColumnsEqualWidth
            false
            smarginWidth
            0
            smarginHeight
            0
            smarginLeft
            0
            smarginTop
            0
            smarginRight
            0
            smarginBottom
            0
            shorizontalSpacing
            0
            sverticalSpacing
            0
            sdescriptors
            xworker.swt.Layouts/@GridLayout
            sth_createIndex
            false
            sth_mark
            false
            sid
            thingComposieGridLayout
            @/@mainTabFolder/@categoryDesc/@topSashForm/@mainSashForm/@thingComposite/@tingLabel
            sname
            tingLabel
            sBORDER
            false
            stype
            HORIZONTAL
            sshadow
            SHADOW_OUT
            salignment
            LEFT
            stext
            事物：
            scapture
            false
            senabled
            true
            sredraw
            true
            svisible
            true
            sdescriptors
            xworker.swt.Widgets/@Label
            sth_createIndex
            false
            sth_mark
            false
            sid
            tingLabel
              @/@mainTabFolder/@categoryDesc/@topSashForm/@mainSashForm/@thingComposite/@tingLabel/@thingLabelGridData
              sname
              thingLabelGridData
              sstyle
              FILL_HORIZONTAL
              shorizontalIndent
              0
              swidth
              -1
              sheight
              -1
              shorizontalAlignment
              BEGINNING
              sverticalAlignment
              CENTER
              shorizontalSpan
              1
              sverticalSpan
              1
              sgrabExcessHorizontalSpace
              false
              sgrabExcessVerticalSpace
              false
              sdescriptors
              xworker.swt.layout.LayoutDatas/@GridData
              sth_createIndex
              false
              sth_mark
              false
              sid
              thingLabelGridData
            @/@mainTabFolder/@categoryDesc/@topSashForm/@mainSashForm/@thingComposite/@thingTree
            sname
            thingTree
            sselectStyle
            SINGLE
            sV_SCROLL
            true
            sH_SCROLL
            true
            sCHECK
            false
            sFULL_SELECTION
            false
            sHIDE_SELECTION
            false
            sBORDER
            false
            slineVisible
            false
            smultipleColumns
            false
            sheaderVisible
            false
            ssortIndicator
            false
            smoveableColumns
            false
            sheadImages
            false
            ssubImages
            false
            scheckSelection
            false
            scapture
            false
            senabled
            true
            sredraw
            true
            svisible
            true
            sdescriptors
            xworker.swt.Widgets/@Tree
            sth_createIndex
            false
            sth_mark
            false
            sid
            thingTree
              @/@mainTabFolder/@categoryDesc/@topSashForm/@mainSashForm/@thingComposite/@thingTree/@thingTreeGridData
              sname
              thingTreeGridData
              sstyle
              FILL_BOTH
              shorizontalIndent
              0
              swidth
              -1
              sheight
              -1
              shorizontalAlignment
              BEGINNING
              sverticalAlignment
              CENTER
              shorizontalSpan
              1
              sverticalSpan
              1
              sgrabExcessHorizontalSpace
              false
              sgrabExcessVerticalSpace
              false
              sdescriptors
              xworker.swt.layout.LayoutDatas/@GridData
              sth_createIndex
              false
              sth_mark
              false
              sid
              thingTreeGridData
              @/@mainTabFolder/@categoryDesc/@topSashForm/@mainSashForm/@thingComposite/@thingTree/@Listeners
              sname
              Listeners
              sdescriptors
              xworker.swt.widgets.Widget/@Listeners
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_mark
              false
              sid
              Listeners
                @/@mainTabFolder/@categoryDesc/@topSashForm/@mainSashForm/@thingComposite/@thingTree/@Listeners/@thingTreeSelection
                sname
                thingTreeSelection
                stype
                Selection
                sref
                xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@thingTreeSelection
                sdescriptors
                xworker.swt.events.Listeners/@listeners/@Listener
                sth_createIndex
                false
                sth_registMyChilds
                false
                sth_mark
                false
                sid
                thingTreeSelection
                @/@mainTabFolder/@categoryDesc/@topSashForm/@mainSashForm/@thingComposite/@thingTree/@Listeners/@thingTreeDefaultSelection
                sname
                thingTreeDefaultSelection
                stype
                DefaultSelection
                sref
                xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@thingTreeDefaultSelection
                sdescriptors
                xworker.swt.events.Listeners/@listeners/@Listener
                sth_createIndex
                false
                sth_registMyChilds
                false
                sth_mark
                false
                sid
                thingTreeDefaultSelection
                @/@mainTabFolder/@categoryDesc/@topSashForm/@mainSashForm/@thingComposite/@thingTree/@Listeners/@menuDetect
                sname
                menuDetect
                stype
                MenuDetect
                sref
                xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@menuDetect
                sdescriptors
                xworker.swt.events.Listeners/@listeners/@Listener
                sinheritDescription
                false
                sth_createIndex
                false
                sth_registMyChilds
                false
                sth_registDisabled
                false
                sth_mark
                false
                sid
                menuDetect
              @/@mainTabFolder/@categoryDesc/@topSashForm/@mainSashForm/@thingComposite/@thingTree/@expandCache
              sname
              expandCache
              sdescriptors
              xworker.swt.widgets.Tree/@ExpandCache
              sinheritDescription
              false
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_registDisabled
              false
              sth_mark
              false
              sid
              expandCache
        @/@mainTabFolder/@categoryDesc/@topSashForm/@contentComposie
        sname
        contentComposie
        sextendWidgetPath
        xworker.swt.xworker.prototype.ThingRegistSelector/@mainTabFolder/@searchDesc1/@mainSashForm/@contentComposie
        sactionContext
        actionContext
        screateActionContextIfNotExists
        true
        snewActionContext
        false
        sdescriptors
        xworker.swt.Widgets/@ExtendWidget
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        contentComposie
    @/@mainTabFolder/@categoryItem
    sname
    categoryItem
    stext
    分类
    sCLOSE
    false
    sdescriptors
    xworker.swt.custom.CTabFolder/@CTabItem
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    categoryItem
      @/@mainTabFolder/@categoryItem/@mainSashForm
      sname
      mainSashForm
      sstyle
      HORIZONTAL
      sSMOOTH
      false
      sweights
      50,50
      sBORDER
      false
      sH_SCROLL
      false
      sV_SCROLL
      false
      sNO_BACKGROUND
      false
      sNO_FOCUS
      false
      sNO_MERGE_PAINTS
      false
      sNO_REDRAW_RESIZE
      false
      sNO_RADIO_GROUP
      false
      sEMBEDDED
      false
      sDOUBLE_BUFFERED
      false
      scapture
      false
      senabled
      true
      sredraw
      true
      svisible
      true
      sdescriptors
      xworker.swt.Widgets/@SashForm
      sth_createIndex
      false
      sth_mark
      false
      sid
      mainSashForm
        @/@mainTabFolder/@categoryItem/@mainSashForm/@treeComposite
        sname
        conditoinComposite
        sBORDER
        false
        sH_SCROLL
        false
        sV_SCROLL
        false
        sNO_BACKGROUND
        false
        sNO_FOCUS
        false
        sNO_MERGE_PAINTS
        false
        sNO_REDRAW_RESIZE
        false
        sNO_RADIO_GROUP
        false
        sEMBEDDED
        false
        sDOUBLE_BUFFERED
        false
        scapture
        false
        senabled
        true
        sredraw
        true
        svisible
        true
        sdescriptors
        xworker.swt.Widgets/@Composite
        sth_createIndex
        false
        sth_mark
        false
        sid
        treeComposite
          @/@mainTabFolder/@categoryItem/@mainSashForm/@treeComposite/@treeCompositeGridLayout
          sname
          treeCompositeGridLayout
          snumColumns
          2
          smakeColumnsEqualWidth
          false
          smarginWidth
          0
          smarginHeight
          0
          smarginLeft
          0
          smarginTop
          0
          smarginRight
          0
          smarginBottom
          0
          shorizontalSpacing
          0
          sverticalSpacing
          0
          sdescriptors
          xworker.swt.Layouts/@GridLayout
          sth_createIndex
          false
          sth_mark
          false
          sid
          treeCompositeGridLayout
          @/@mainTabFolder/@categoryItem/@mainSashForm/@treeComposite/@treeTitleLabel
          sname
          treeTitleLabel
          sBORDER
          false
          stype
          HORIZONTAL
          sshadow
          SHADOW_OUT
          salignment
          LEFT
          stext
          分类：
          scapture
          false
          senabled
          true
          sredraw
          true
          svisible
          true
          sdescriptors
          xworker.swt.Widgets/@Label
          sth_createIndex
          false
          sth_mark
          false
          sid
          treeTitleLabel
            @/@mainTabFolder/@categoryItem/@mainSashForm/@treeComposite/@treeTitleLabel/@treeTitleGridData
            sname
            treeTitleGridData
            sstyle
            FILL_HORIZONTAL
            shorizontalIndent
            0
            swidth
            -1
            sheight
            -1
            shorizontalAlignment
            BEGINNING
            sverticalAlignment
            CENTER
            shorizontalSpan
            2
            sverticalSpan
            1
            sgrabExcessHorizontalSpace
            false
            sgrabExcessVerticalSpace
            false
            sdescriptors
            xworker.swt.layout.LayoutDatas/@GridData
            sth_createIndex
            false
            sth_mark
            false
            sid
            treeTitleGridData
          @/@mainTabFolder/@categoryItem/@mainSashForm/@treeComposite/@tree
          sname
          categoryTree
          sselectStyle
          SINGLE
          sV_SCROLL
          true
          sH_SCROLL
          true
          sCHECK
          false
          sFULL_SELECTION
          false
          sHIDE_SELECTION
          false
          sBORDER
          false
          slineVisible
          false
          smultipleColumns
          false
          sheaderVisible
          false
          ssortIndicator
          false
          smoveableColumns
          false
          sheadImages
          false
          ssubImages
          false
          scheckSelection
          false
          scapture
          false
          senabled
          true
          sredraw
          true
          svisible
          true
          sdescriptors
          xworker.swt.Widgets/@Tree
          sth_createIndex
          false
          sth_mark
          false
          sid
          tree
            @/@mainTabFolder/@categoryItem/@mainSashForm/@treeComposite/@tree/@treeGridData
            sname
            treeGridData
            sstyle
            FILL_BOTH
            shorizontalIndent
            0
            swidth
            -1
            sheight
            -1
            shorizontalAlignment
            BEGINNING
            sverticalAlignment
            CENTER
            shorizontalSpan
            2
            sverticalSpan
            1
            sgrabExcessHorizontalSpace
            false
            sgrabExcessVerticalSpace
            false
            sdescriptors
            xworker.swt.layout.LayoutDatas/@GridData
            sth_createIndex
            false
            sth_mark
            false
            sid
            treeGridData
            @/@mainTabFolder/@categoryItem/@mainSashForm/@treeComposite/@tree/@Listeners
            sname
            Listeners
            sdescriptors
            xworker.swt.widgets.Widget/@Listeners
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_mark
            false
            sid
            Listeners
              @/@mainTabFolder/@categoryItem/@mainSashForm/@treeComposite/@tree/@Listeners/@categoryTreeSelection
              sname
              categoryTreeSelection
              stype
              Selection
              sref
              xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@search
              sdescriptors
              xworker.swt.events.Listeners/@listeners/@Listener
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_mark
              false
              sid
              categoryTreeSelection
        @/@mainTabFolder/@categoryItem/@mainSashForm/@thingComposite
        sname
        thingComposite
        sBORDER
        false
        sH_SCROLL
        false
        sV_SCROLL
        false
        sNO_BACKGROUND
        false
        sNO_FOCUS
        false
        sNO_MERGE_PAINTS
        false
        sNO_REDRAW_RESIZE
        false
        sNO_RADIO_GROUP
        false
        sEMBEDDED
        false
        sDOUBLE_BUFFERED
        false
        scapture
        false
        senabled
        true
        sredraw
        true
        svisible
        true
        sdescriptors
        xworker.swt.Widgets/@Composite
        sth_createIndex
        false
        sth_mark
        false
        sid
        thingComposite
          @/@mainTabFolder/@categoryItem/@mainSashForm/@thingComposite/@thingComposieGridLayout
          sname
          thingComposieGridLayout
          smakeColumnsEqualWidth
          false
          smarginWidth
          0
          smarginHeight
          0
          smarginLeft
          0
          smarginTop
          0
          smarginRight
          0
          smarginBottom
          0
          shorizontalSpacing
          0
          sverticalSpacing
          0
          sdescriptors
          xworker.swt.Layouts/@GridLayout
          sth_createIndex
          false
          sth_mark
          false
          sid
          thingComposieGridLayout
          @/@mainTabFolder/@categoryItem/@mainSashForm/@thingComposite/@tingLabel
          sname
          tingLabel
          sBORDER
          false
          stype
          HORIZONTAL
          sshadow
          SHADOW_OUT
          salignment
          LEFT
          stext
          事物：
          scapture
          false
          senabled
          true
          sredraw
          true
          svisible
          true
          sdescriptors
          xworker.swt.Widgets/@Label
          sth_createIndex
          false
          sth_mark
          false
          sid
          tingLabel
            @/@mainTabFolder/@categoryItem/@mainSashForm/@thingComposite/@tingLabel/@thingLabelGridData
            sname
            thingLabelGridData
            sstyle
            FILL_HORIZONTAL
            shorizontalIndent
            0
            swidth
            -1
            sheight
            -1
            shorizontalAlignment
            BEGINNING
            sverticalAlignment
            CENTER
            shorizontalSpan
            1
            sverticalSpan
            1
            sgrabExcessHorizontalSpace
            false
            sgrabExcessVerticalSpace
            false
            sdescriptors
            xworker.swt.layout.LayoutDatas/@GridData
            sth_createIndex
            false
            sth_mark
            false
            sid
            thingLabelGridData
          @/@mainTabFolder/@categoryItem/@mainSashForm/@thingComposite/@thingTree
          sname
          thingTree
          sselectStyle
          SINGLE
          sV_SCROLL
          true
          sH_SCROLL
          true
          sCHECK
          false
          sFULL_SELECTION
          false
          sHIDE_SELECTION
          false
          sBORDER
          false
          slineVisible
          false
          smultipleColumns
          false
          sheaderVisible
          false
          ssortIndicator
          false
          smoveableColumns
          false
          sheadImages
          false
          ssubImages
          false
          scheckSelection
          false
          scapture
          false
          senabled
          true
          sredraw
          true
          svisible
          true
          sdescriptors
          xworker.swt.Widgets/@Tree
          sth_createIndex
          false
          sth_mark
          false
          sid
          thingTree
            @/@mainTabFolder/@categoryItem/@mainSashForm/@thingComposite/@thingTree/@thingTreeGridData
            sname
            thingTreeGridData
            sstyle
            FILL_BOTH
            shorizontalIndent
            0
            swidth
            -1
            sheight
            -1
            shorizontalAlignment
            BEGINNING
            sverticalAlignment
            CENTER
            shorizontalSpan
            1
            sverticalSpan
            1
            sgrabExcessHorizontalSpace
            false
            sgrabExcessVerticalSpace
            false
            sdescriptors
            xworker.swt.layout.LayoutDatas/@GridData
            sth_createIndex
            false
            sth_mark
            false
            sid
            thingTreeGridData
            @/@mainTabFolder/@categoryItem/@mainSashForm/@thingComposite/@thingTree/@Listeners
            sname
            Listeners
            sdescriptors
            xworker.swt.widgets.Widget/@Listeners
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_mark
            false
            sid
            Listeners
              @/@mainTabFolder/@categoryItem/@mainSashForm/@thingComposite/@thingTree/@Listeners/@thingTreeSelection
              sname
              thingTreeSelection
              stype
              Selection
              sref
              xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@thingTreeSelection
              sdescriptors
              xworker.swt.events.Listeners/@listeners/@Listener
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_mark
              false
              sid
              thingTreeSelection
              @/@mainTabFolder/@categoryItem/@mainSashForm/@thingComposite/@thingTree/@Listeners/@thingTreeDefaultSelection
              sname
              thingTreeDefaultSelection
              stype
              DefaultSelection
              sref
              xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@thingTreeDefaultSelection
              sdescriptors
              xworker.swt.events.Listeners/@listeners/@Listener
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_mark
              false
              sid
              thingTreeDefaultSelection
              @/@mainTabFolder/@categoryItem/@mainSashForm/@thingComposite/@thingTree/@Listeners/@menuDetect
              sname
              menuDetect
              stype
              MenuDetect
              sref
              xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@menuDetect
              sdescriptors
              xworker.swt.events.Listeners/@listeners/@Listener
              sinheritDescription
              false
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_registDisabled
              false
              sth_mark
              false
              sid
              menuDetect
            @/@mainTabFolder/@categoryItem/@mainSashForm/@thingComposite/@thingTree/@expandCache
            sname
            expandCache
            sdescriptors
            xworker.swt.widgets.Tree/@ExpandCache
            sinheritDescription
            false
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_registDisabled
            false
            sth_mark
            false
            sid
            expandCache
    @/@mainTabFolder/@dscItem
    sname
    dscItem
    stext
    描述
    sCLOSE
    false
    sdelayReload
    false
    sdescriptors
    xworker.swt.custom.CTabFolder/@CTabItem
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    dscItem
      @/@mainTabFolder/@dscItem/@topSashForm
      sname
      topSashForm
      sstyle
      VERTICAL
      sSMOOTH
      false
      sweights
      70,30
      sBORDER
      false
      sH_SCROLL
      false
      sV_SCROLL
      false
      sNO_BACKGROUND
      false
      sNO_FOCUS
      false
      sNO_MERGE_PAINTS
      false
      sNO_REDRAW_RESIZE
      false
      sNO_RADIO_GROUP
      false
      sEMBEDDED
      false
      sDOUBLE_BUFFERED
      false
      scapture
      false
      senabled
      true
      sredraw
      true
      svisible
      true
      sdescriptors
      xworker.swt.Widgets/@SashForm
      sth_createIndex
      false
      sth_mark
      false
      sid
      topSashForm
        @/@mainTabFolder/@dscItem/@topSashForm/@thingComposite
        sname
        thingComposite
        sBORDER
        false
        sH_SCROLL
        false
        sV_SCROLL
        false
        sNO_BACKGROUND
        false
        sNO_FOCUS
        false
        sNO_MERGE_PAINTS
        false
        sNO_REDRAW_RESIZE
        false
        sNO_RADIO_GROUP
        false
        sEMBEDDED
        false
        sDOUBLE_BUFFERED
        false
        scapture
        false
        senabled
        true
        sredraw
        true
        svisible
        true
        sdescriptors
        xworker.swt.Widgets/@Composite
        sth_createIndex
        false
        sth_mark
        false
        sid
        thingComposite
          @/@mainTabFolder/@dscItem/@topSashForm/@thingComposite/@thingComposieGridLayout
          sname
          thingComposieGridLayout
          smakeColumnsEqualWidth
          false
          smarginWidth
          0
          smarginHeight
          0
          smarginLeft
          0
          smarginTop
          0
          smarginRight
          0
          smarginBottom
          0
          shorizontalSpacing
          0
          sverticalSpacing
          0
          sdescriptors
          xworker.swt.Layouts/@GridLayout
          sth_createIndex
          false
          sth_mark
          false
          sid
          thingComposieGridLayout
          @/@mainTabFolder/@dscItem/@topSashForm/@thingComposite/@tingLabel
          sname
          tingLabel
          sBORDER
          false
          stype
          HORIZONTAL
          sshadow
          SHADOW_OUT
          salignment
          LEFT
          stext
          事物：
          scapture
          false
          senabled
          true
          sredraw
          true
          svisible
          true
          sdescriptors
          xworker.swt.Widgets/@Label
          sth_createIndex
          false
          sth_mark
          false
          sid
          tingLabel
            @/@mainTabFolder/@dscItem/@topSashForm/@thingComposite/@tingLabel/@thingLabelGridData
            sname
            thingLabelGridData
            sstyle
            FILL_HORIZONTAL
            shorizontalIndent
            0
            swidth
            -1
            sheight
            -1
            shorizontalAlignment
            BEGINNING
            sverticalAlignment
            CENTER
            shorizontalSpan
            1
            sverticalSpan
            1
            sgrabExcessHorizontalSpace
            false
            sgrabExcessVerticalSpace
            false
            sdescriptors
            xworker.swt.layout.LayoutDatas/@GridData
            sth_createIndex
            false
            sth_mark
            false
            sid
            thingLabelGridData
          @/@mainTabFolder/@dscItem/@topSashForm/@thingComposite/@thingTree
          sname
          thingTree
          sselectStyle
          SINGLE
          sV_SCROLL
          true
          sH_SCROLL
          true
          sCHECK
          false
          sFULL_SELECTION
          false
          sHIDE_SELECTION
          false
          sBORDER
          false
          slineVisible
          false
          smultipleColumns
          false
          sheaderVisible
          false
          ssortIndicator
          false
          smoveableColumns
          false
          sheadImages
          false
          ssubImages
          false
          scheckSelection
          false
          scapture
          false
          senabled
          true
          sredraw
          true
          svisible
          true
          sdescriptors
          xworker.swt.Widgets/@Tree
          sth_createIndex
          false
          sth_mark
          false
          sid
          thingTree
            @/@mainTabFolder/@dscItem/@topSashForm/@thingComposite/@thingTree/@thingTreeGridData
            sname
            thingTreeGridData
            sstyle
            FILL_BOTH
            shorizontalIndent
            0
            swidth
            -1
            sheight
            -1
            shorizontalAlignment
            BEGINNING
            sverticalAlignment
            CENTER
            shorizontalSpan
            1
            sverticalSpan
            1
            sgrabExcessHorizontalSpace
            false
            sgrabExcessVerticalSpace
            false
            sdescriptors
            xworker.swt.layout.LayoutDatas/@GridData
            sth_createIndex
            false
            sth_mark
            false
            sid
            thingTreeGridData
            @/@mainTabFolder/@dscItem/@topSashForm/@thingComposite/@thingTree/@Listeners
            sname
            Listeners
            sdescriptors
            xworker.swt.widgets.Widget/@Listeners
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_mark
            false
            sid
            Listeners
              @/@mainTabFolder/@dscItem/@topSashForm/@thingComposite/@thingTree/@Listeners/@thingTreeSelection
              sname
              thingTreeSelection
              stype
              Selection
              sref
              xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@thingTreeSelection
              sdescriptors
              xworker.swt.events.Listeners/@listeners/@Listener
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_mark
              false
              sid
              thingTreeSelection
              @/@mainTabFolder/@dscItem/@topSashForm/@thingComposite/@thingTree/@Listeners/@thingTreeDefaultSelection
              sname
              thingTreeDefaultSelection
              stype
              DefaultSelection
              sref
              xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@thingTreeDefaultSelection
              sdescriptors
              xworker.swt.events.Listeners/@listeners/@Listener
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_mark
              false
              sid
              thingTreeDefaultSelection
            @/@mainTabFolder/@dscItem/@topSashForm/@thingComposite/@thingTree/@expandCache
            sname
            expandCache
            sdescriptors
            xworker.swt.widgets.Tree/@ExpandCache
            sinheritDescription
            false
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_registDisabled
            false
            sth_mark
            false
            sid
            expandCache
        @/@mainTabFolder/@dscItem/@topSashForm/@contentComposie
        sname
        contentComposie
        sextendWidgetPath
        xworker.swt.xworker.prototype.ThingRegistSelector/@mainTabFolder/@searchDesc1/@mainSashForm/@contentComposie
        snewActionContext
        false
        sdescriptors
        xworker.swt.Widgets/@ExtendWidget
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        contentComposie
    @/@mainTabFolder/@treeItem
    sname
    treeItem
    stext
    只有树
    sCLOSE
    false
    sdescriptors
    xworker.swt.custom.CTabFolder/@CTabItem
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    treeItem
      @/@mainTabFolder/@treeItem/@thingTree
      sname
      thingTree
      sselectStyle
      SINGLE
      sV_SCROLL
      true
      sH_SCROLL
      true
      sCHECK
      false
      sFULL_SELECTION
      false
      sHIDE_SELECTION
      false
      sBORDER
      false
      slineVisible
      false
      smultipleColumns
      false
      sheaderVisible
      false
      ssortIndicator
      false
      smoveableColumns
      false
      sheadImages
      false
      ssubImages
      false
      scheckSelection
      false
      scapture
      false
      senabled
      true
      sredraw
      true
      svisible
      true
      sdescriptors
      xworker.swt.Widgets/@Tree
      sth_createIndex
      false
      sth_mark
      false
      sid
      thingTree
        @/@mainTabFolder/@treeItem/@thingTree/@Listeners
        sname
        Listeners
        sdescriptors
        xworker.swt.widgets.Widget/@Listeners
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        Listeners
          @/@mainTabFolder/@treeItem/@thingTree/@Listeners/@thingTreeSelection
          sname
          thingTreeSelection
          stype
          Selection
          sref
          xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@thingTreeSelection
          sdescriptors
          xworker.swt.events.Listeners/@listeners/@Listener
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          thingTreeSelection
          @/@mainTabFolder/@treeItem/@thingTree/@Listeners/@thingTreeDefaultSelection
          sname
          thingTreeDefaultSelection
          stype
          DefaultSelection
          sref
          xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@thingTreeDefaultSelection
          sdescriptors
          xworker.swt.events.Listeners/@listeners/@Listener
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          thingTreeDefaultSelection
          @/@mainTabFolder/@treeItem/@thingTree/@Listeners/@menuDetect
          sname
          menuDetect
          stype
          MenuDetect
          sref
          xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@menuDetect
          sdescriptors
          xworker.swt.events.Listeners/@listeners/@Listener
          sinheritDescription
          false
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_registDisabled
          false
          sth_mark
          false
          sid
          menuDetect
        @/@mainTabFolder/@treeItem/@thingTree/@expandCache
        sname
        expandCache
        sdescriptors
        xworker.swt.widgets.Tree/@ExpandCache
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        expandCache
    @/@mainTabFolder/@searchDesc1
    sname
    searchDescRightItem
    stext
    查找描述
    sCLOSE
    false
    sdescriptors
    xworker.swt.custom.CTabFolder/@CTabItem
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    searchDesc1
      @/@mainTabFolder/@searchDesc1/@mainSashForm
      sname
      mainSashForm
      sstyle
      HORIZONTAL
      sSMOOTH
      false
      sweights
      30,70
      sBORDER
      false
      sH_SCROLL
      false
      sV_SCROLL
      false
      sNO_BACKGROUND
      false
      sNO_FOCUS
      false
      sNO_MERGE_PAINTS
      false
      sNO_REDRAW_RESIZE
      false
      sNO_RADIO_GROUP
      false
      sEMBEDDED
      false
      sDOUBLE_BUFFERED
      false
      scapture
      false
      senabled
      true
      sredraw
      true
      svisible
      true
      sdescriptors
      xworker.swt.Widgets/@SashForm
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      mainSashForm
        @/@mainTabFolder/@searchDesc1/@mainSashForm/@resources
        sname
        resources
        sdescriptors
        xworker.swt.Widgets/@Resource
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        resources
          @/@mainTabFolder/@searchDesc1/@mainSashForm/@resources/@findImage
          sname
          findImage
          stype
          Image
          simageFile
          icons/find.png
          sdescriptors
          xworker.swt.util.Resource/@Image
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          findImage
          @/@mainTabFolder/@searchDesc1/@mainSashForm/@resources/@refreshImage
          sname
          refreshImage
          stype
          Image
          simageFile
          icons/arrow_refresh_small.png
          sdescriptors
          xworker.swt.util.Resource/@Image
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          refreshImage
          @/@mainTabFolder/@searchDesc1/@mainSashForm/@resources/@downImage
          sname
          downImage
          stype
          Image
          simageFile
          icons/arrow_down.png
          sdescriptors
          xworker.swt.util.Resource/@Image
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          downImage
          @/@mainTabFolder/@searchDesc1/@mainSashForm/@resources/@upImage
          sname
          upImage
          stype
          Image
          simageFile
          icons/arrow_up.png
          sdescriptors
          xworker.swt.util.Resource/@Image
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          upImage
          @/@mainTabFolder/@searchDesc1/@mainSashForm/@resources/@homeImage
          sname
          homeImage
          stype
          Image
          simageFile
          icons/house.png
          sdescriptors
          xworker.swt.util.Resource/@Image
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          homeImage
          @/@mainTabFolder/@searchDesc1/@mainSashForm/@resources/@addImage
          sname
          addImage
          stype
          Image
          simageFile
          icons/add.png
          sdescriptors
          xworker.swt.util.Resource/@Image
          sinheritDescription
          false
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_registDisabled
          false
          sth_mark
          false
          sid
          addImage
        @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite
        sname
        composite
        sBORDER
        true
        sH_SCROLL
        false
        sV_SCROLL
        false
        sNO_BACKGROUND
        false
        sNO_FOCUS
        false
        sNO_MERGE_PAINTS
        false
        sNO_REDRAW_RESIZE
        false
        sNO_RADIO_GROUP
        false
        sEMBEDDED
        false
        sDOUBLE_BUFFERED
        false
        scapture
        false
        senabled
        true
        sredraw
        true
        svisible
        true
        sdescriptors
        xworker.swt.Widgets/@Composite
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        composite
          @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@compositeGridLayout
          sname
          compositeGridLayout
          snumColumns
          1
          smakeColumnsEqualWidth
          false
          smarginWidth
          0
          smarginHeight
          0
          smarginLeft
          0
          smarginTop
          0
          smarginRight
          0
          smarginBottom
          0
          shorizontalSpacing
          0
          sverticalSpacing
          0
          sdescriptors
          xworker.swt.Layouts/@GridLayout
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          compositeGridLayout
          @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@topButtonComposite
          sname
          topButtonComposite
          sBORDER
          false
          sH_SCROLL
          false
          sV_SCROLL
          false
          sNO_BACKGROUND
          false
          sNO_FOCUS
          false
          sNO_MERGE_PAINTS
          false
          sNO_REDRAW_RESIZE
          false
          sNO_RADIO_GROUP
          false
          sEMBEDDED
          false
          sDOUBLE_BUFFERED
          false
          scapture
          false
          senabled
          true
          sredraw
          true
          spack
          false
          svisible
          false
          sdescriptors
          xworker.swt.Widgets/@Composite
          sinheritDescription
          false
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_registDisabled
          false
          sth_mark
          false
          sid
          topButtonComposite
            @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@topButtonComposite/@topButtonCompositeRowLayout
            sname
            topButtonCompositeRowLayout
            sfill
            false
            sjustify
            false
            smarginWidth
            0
            smarginHeight
            0
            smarginLeft
            3
            smarginTop
            3
            smarginRight
            3
            smarginBottom
            3
            spack
            true
            sspacing
            3
            stype
            SWT.HORIZONTAL
            swrap
            true
            sdescriptors
            xworker.swt.Layouts/@RowLayout
            sinheritDescription
            false
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_registDisabled
            false
            sth_mark
            false
            sid
            topButtonCompositeRowLayout
            @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@topButtonComposite/@topButtonCompoisteGridData
            sname
            topButtonCompoisteGridData
            sstyle
            FILL_HORIZONTAL
            shorizontalIndent
            0
            swidth
            0
            sheight
            0
            shorizontalAlignment
            BEGINNING
            sverticalAlignment
            CENTER
            shorizontalSpan
            1
            sverticalSpan
            1
            sgrabExcessHorizontalSpace
            false
            sgrabExcessVerticalSpace
            false
            sdescriptors
            xworker.swt.layout.LayoutDatas/@GridData
            sinheritDescription
            false
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_registDisabled
            false
            sth_mark
            false
            sid
            topButtonCompoisteGridData
            @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@topButtonComposite/@addButton
            sname
            addButton
            stype
            SWT.PUSH
            sflat
            false
            sborder
            false
            simage
            addImage
            sselected
            false
            scapture
            false
            senabled
            true
            sredraw
            true
            svisible
            true
            sdescriptors
            xworker.swt.Widgets/@Button
            sinheritDescription
            false
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_registDisabled
            false
            sth_mark
            false
            sid
            addButton
              @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@topButtonComposite/@addButton/@Listeners1
              sname
              Listeners
              sdescriptors
              xworker.swt.widgets.Widget/@Listeners
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_mark
              false
              sid
              Listeners1
                @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@topButtonComposite/@addButton/@Listeners1/@searchButtonSelection
                sname
                addButtonSelection
                stype
                Selection
                sref
                xworker.swt.xworker.prototype.ThingRegistSelector/@thingTreePopMenu/@createNewThing/@listeners/@createNewThingSelection/@OpenShellDialog
                sexceptionDialog
                false
                sdescriptors
                xworker.swt.events.Listeners/@listeners/@Listener
                sth_createIndex
                false
                sth_registMyChilds
                false
                sth_mark
                false
                sid
                searchButtonSelection
            @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@topButtonComposite/@searchButton1
            sname
            refreshButton
            stype
            SWT.PUSH
            sflat
            false
            sborder
            false
            simage
            refreshImage
            sselected
            false
            scapture
            false
            senabled
            true
            sredraw
            true
            spack
            false
            stoolTipText
            lang:d=刷新&en=Refresh
            svisible
            true
            sdescriptors
            xworker.swt.Widgets/@Button
            sth_createIndex
            false
            sth_mark
            false
            sid
            searchButton1
              @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@topButtonComposite/@searchButton1/@Listeners
              sname
              Listeners
              sdescriptors
              xworker.swt.widgets.Widget/@Listeners
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_mark
              false
              sid
              Listeners
                @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@topButtonComposite/@searchButton1/@Listeners/@searchButtonSelection
                sname
                refreshButtonSelection
                stype
                Selection
                sref
                xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@refresh
                sdescriptors
                xworker.swt.events.Listeners/@listeners/@Listener
                sth_createIndex
                false
                sth_registMyChilds
                false
                sth_mark
                false
                sid
                searchButtonSelection
            @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@topButtonComposite/@upButton
            sname
            upButton
            stype
            SWT.PUSH
            sflat
            false
            sborder
            false
            simage
            upImage
            sselected
            false
            scapture
            false
            senabled
            false
            sredraw
            true
            spack
            false
            stoolTipText
            lang:d=返回父索引&en=Return to parent index
            svisible
            true
            sdescriptors
            xworker.swt.Widgets/@Button
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_mark
            false
            sid
            upButton
              @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@topButtonComposite/@upButton/@Listeners
              sname
              Listeners
              sdescriptors
              xworker.swt.widgets.Widget/@Listeners
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_mark
              false
              sid
              Listeners
                @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@topButtonComposite/@upButton/@Listeners/@searchButtonSelection
                sname
                upButtonSelection
                stype
                Selection
                sref
                xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@upButtonSelection
                sdescriptors
                xworker.swt.events.Listeners/@listeners/@Listener
                sth_createIndex
                false
                sth_registMyChilds
                false
                sth_mark
                false
                sid
                searchButtonSelection
            @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@topButtonComposite/@downButton
            sname
            downButton
            stype
            SWT.PUSH
            sflat
            false
            sborder
            false
            simage
            downImage
            sselected
            false
            scapture
            false
            senabled
            false
            sredraw
            true
            spack
            false
            stoolTipText
            lang:d=打开子索引&en=Open child index
            svisible
            true
            sdescriptors
            xworker.swt.Widgets/@Button
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_mark
            false
            sid
            downButton
              @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@topButtonComposite/@downButton/@Listeners
              sname
              Listeners
              sdescriptors
              xworker.swt.widgets.Widget/@Listeners
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_mark
              false
              sid
              Listeners
                @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@topButtonComposite/@downButton/@Listeners/@searchButtonSelection
                sname
                downButtonSelection
                stype
                Selection
                sref
                xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@downButtonSelection
                sdescriptors
                xworker.swt.events.Listeners/@listeners/@Listener
                sth_createIndex
                false
                sth_registMyChilds
                false
                sth_mark
                false
                sid
                searchButtonSelection
            @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@topButtonComposite/@homtSplitButton
            sname
            homeButton
            stype
            SWT.PUSH
            sflat
            false
            sborder
            false
            simage
            homeImage
            sselected
            false
            scapture
            false
            senabled
            true
            sredraw
            true
            svisible
            true
            sdescriptors
            xworker.swt.Widgets/@SplitButton
            sinheritDescription
            false
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_registDisabled
            false
            sth_mark
            false
            sid
            homtSplitButton
              @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@topButtonComposite/@homtSplitButton/@Listeners
              sname
              Listeners
              sdescriptors
              xworker.swt.widgets.Widget/@Listeners
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_mark
              false
              sid
              Listeners
                @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@topButtonComposite/@homtSplitButton/@Listeners/@searchButtonSelection
                sname
                homeButtonSelection
                stype
                Selection
                sref
                xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@homeButtonSelection
                sdescriptors
                xworker.swt.events.Listeners/@listeners/@Listener
                sth_createIndex
                false
                sth_registMyChilds
                false
                sth_mark
                false
                sid
                searchButtonSelection
          @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@searchComposite
          sname
          searchComposite
          sBORDER
          false
          sH_SCROLL
          false
          sV_SCROLL
          false
          sNO_BACKGROUND
          false
          sNO_FOCUS
          false
          sNO_MERGE_PAINTS
          false
          sNO_REDRAW_RESIZE
          false
          sNO_RADIO_GROUP
          false
          sEMBEDDED
          false
          sDOUBLE_BUFFERED
          false
          scapture
          false
          senabled
          true
          sredraw
          true
          svisible
          true
          sdescriptors
          xworker.swt.Widgets/@Composite
          sinheritDescription
          false
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_registDisabled
          false
          sth_mark
          false
          sid
          searchComposite
            @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@searchComposite/@searchText
            sname
            searchText
            sstyle
            SINGLE
            sH_SCROLL
            false
            sV_SCROLL
            false
            sWRAP
            false
            sREAD_ONLY
            false
            sPASSWORD
            false
            sSEARCH
            false
            sCANCEL
            false
            sBORDER
            true
            salign
            LEFT
            scapture
            false
            senabled
            true
            sredraw
            true
            svisible
            true
            sdescriptors
            xworker.swt.Widgets/@Text
            sth_createIndex
            false
            sth_mark
            false
            sid
            searchText
              @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@searchComposite/@searchText/@searchTextGridData
              sname
              searchTextGridData
              sstyle
              FILL_HORIZONTAL
              shorizontalIndent
              0
              swidth
              -1
              sheight
              -1
              shorizontalAlignment
              BEGINNING
              sverticalAlignment
              CENTER
              shorizontalSpan
              1
              sverticalSpan
              1
              sgrabExcessHorizontalSpace
              false
              sgrabExcessVerticalSpace
              false
              sdescriptors
              xworker.swt.layout.LayoutDatas/@GridData
              sth_createIndex
              false
              sth_mark
              false
              sid
              searchTextGridData
              @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@searchComposite/@searchText/@Listeners
              sname
              Listeners
              sdescriptors
              xworker.swt.widgets.Widget/@Listeners
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_mark
              false
              sid
              Listeners
                @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@searchComposite/@searchText/@Listeners/@Listener
                sname
                ModiyListener
                stype
                Modify
                sref
                xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@searchDelay
                sdescriptors
                xworker.swt.events.Listeners/@listeners/@Listener
                sinheritDescription
                false
                sth_createIndex
                false
                sth_registMyChilds
                false
                sth_mark
                false
                sid
                Listener
                @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@searchComposite/@searchText/@Listeners/@textKeyDown
                sname
                textKeyDown
                stype
                KeyDown
                sref
                xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@searchTextKeyDown
                sdescriptors
                xworker.swt.events.Listeners/@listeners/@Listener
                sinheritDescription
                false
                sth_createIndex
                false
                sth_registMyChilds
                false
                sth_registDisabled
                false
                sth_mark
                false
                sid
                textKeyDown
            @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@searchComposite/@searchButton
            sname
            searchButton
            stype
            SWT.PUSH
            sflat
            false
            sborder
            false
            simage
            findImage
            sselected
            false
            scapture
            false
            senabled
            true
            sredraw
            true
            stoolTipText
            查找
            svisible
            true
            sdescriptors
            xworker.swt.Widgets/@Button
            sth_createIndex
            false
            sth_mark
            false
            sid
            searchButton
              @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@searchComposite/@searchButton/@Listeners
              sname
              Listeners
              sdescriptors
              xworker.swt.widgets.Widget/@Listeners
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_mark
              false
              sid
              Listeners
                @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@searchComposite/@searchButton/@Listeners/@searchButtonSelection
                sname
                searchButtonSelection
                stype
                Selection
                sref
                xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@search
                sdescriptors
                xworker.swt.events.Listeners/@listeners/@Listener
                sth_createIndex
                false
                sth_registMyChilds
                false
                sth_mark
                false
                sid
                searchButtonSelection
            @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@searchComposite/@menuButton
            sname
            menuButton
            stype
            SWT.PUSH
            sflat
            false
            sborder
            false
            simage
            icons/text_align_justify.png
            sselected
            false
            scapture
            false
            senabled
            true
            sredraw
            true
            spack
            false
            svisible
            true
            sdescriptors
            xworker.swt.Widgets/@Button
            sinheritDescription
            false
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_registDisabled
            false
            sth_noThingRegistViewer
            false
            sth_fileMonitor
            false
            sth_mark
            false
            sth_registQueryOnlySelf
            false
            snotXmlAttribute
            false
            sjson_isArray
            false
            sgroupDescriptor
            false
            sid
            menuButton
              @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@searchComposite/@menuButton/@Listeners
              sname
              Listeners
              sdescriptors
              xworker.swt.widgets.Widget/@Listeners
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_mark
              false
              sid
              Listeners
                @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@searchComposite/@menuButton/@Listeners/@searchButtonSelection
                sname
                menuButtonSelection
                stype
                Selection
                sref
                xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@menuDetect
                sexceptionDialog
                false
                sdescriptors
                xworker.swt.events.Listeners/@listeners/@Listener
                sth_createIndex
                false
                sth_registMyChilds
                false
                sth_mark
                false
                sid
                searchButtonSelection
                  @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@searchComposite/@menuButton/@Listeners/@searchButtonSelection/@menuButtonSelectionGroovy
                  sname
                  menuButtonSelectionGroovy
                  sisSynchronized
                  false
                  sthrowException
                  true
                  suseOtherAction
                  false
                  svarScope
                  Local
                  sdisableGlobalContext
                  false
                  Scode
#$@text#$@
if (actionContext.get("thingTreePopMenu") == null) {
    //菜单还未创建
    def menuThing = world.getThing("xworker.swt.xworker.prototype.ThingRegistSelector/@thingTreePopMenu");
    menuThing.doAction("create", actionContext, "parent", thingTree);
}

actions.doAction("menuDetect", actionContext);

thingTreePopMenu.setVisible(true);
#$@text#$@
                  sinterpretationType
                  Action
                  screateLocalVarScope
                  false
                  ssaveReturn
                  false
                  sswitchResult
                  false
                  sdebugLog
                  false
                  sdescriptors
                  xworker.groovy.GroovyAction
                  sinheritDescription
                  false
                  sth_createIndex
                  false
                  sth_registMyChilds
                  false
                  sth_registDisabled
                  false
                  sth_noThingRegistViewer
                  false
                  sth_fileMonitor
                  false
                  sth_mark
                  false
                  sth_registQueryOnlySelf
                  false
                  snotXmlAttribute
                  false
                  sjson_isArray
                  false
                  sgroupDescriptor
                  false
                  sid
                  menuButtonSelectionGroovy
            @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@searchComposite/@searchCompositeGridData
            sname
            searchCompositeGridData
            sstyle
            FILL_HORIZONTAL
            shorizontalIndent
            0
            swidth
            -1
            sheight
            -1
            shorizontalAlignment
            BEGINNING
            sverticalAlignment
            CENTER
            shorizontalSpan
            1
            sverticalSpan
            1
            sgrabExcessHorizontalSpace
            false
            sgrabExcessVerticalSpace
            false
            sdescriptors
            xworker.swt.layout.LayoutDatas/@GridData
            sinheritDescription
            false
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_registDisabled
            false
            sth_mark
            false
            sid
            searchCompositeGridData
            @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@searchComposite/@searchCompositeGridLayout
            sname
            searchCompositeGridLayout
            snumColumns
            3
            smakeColumnsEqualWidth
            false
            smarginWidth
            0
            smarginHeight
            0
            smarginLeft
            0
            smarginTop
            0
            smarginRight
            0
            smarginBottom
            0
            shorizontalSpacing
            5
            sverticalSpacing
            5
            sdescriptors
            xworker.swt.Layouts/@GridLayout
            sinheritDescription
            false
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_registDisabled
            false
            sth_mark
            false
            sid
            searchCompositeGridLayout
          @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@thingTreeWidget
          sname
          thingTreeWidget
          sactionContext
          actionContext
          screateActionContextIfNotExists
          true
          snewActionContext
          true
          sdescriptors
          xworker.swt.Widgets/@ExtendWidget
          sinheritDescription
          false
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_registDisabled
          false
          sth_mark
          false
          sid
          thingTreeWidget
            @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@thingTreeWidget/@actions
            sname
            actions
            sdescriptors
            xworker.swt.xworker.ExtendWidget/@actions1
            sinheritDescription
            false
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_registDisabled
            false
            sth_mark
            false
            sid
            actions
              @/@mainTabFolder/@searchDesc1/@mainSashForm/@composite/@thingTreeWidget/@actions/@getExtendWidget
              sname
              getExtendWidget
              sisSynchronized
              false
              sthrowException
              true
              suseOtherAction
              false
              svarScope
              Local
              sdisableGlobalContext
              false
              Scode
#$@text#$@
if(controlThing.getBoolean("check")){
    return world.getThing("xworker.swt.xworker.prototype.ThingRegistSelector/@mainTabFolder/@tingTrees/@thingTree1");
}else{
    return world.getThing("xworker.swt.xworker.prototype.ThingRegistSelector/@mainTabFolder/@tingTrees/@thingTree");
}
#$@text#$@
              sinterpretationType
              Action
              screateLocalVarScope
              false
              ssaveReturn
              false
              sdebugLog
              false
              sdescriptors
              xworker.lang.actions.Actions/@GroovyAction
              sinheritDescription
              false
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_registDisabled
              false
              sth_mark
              false
              sid
              getExtendWidget
        @/@mainTabFolder/@searchDesc1/@mainSashForm/@mainTabFolder
        sname
        contentTabFolder
        sstyle
        TOP
        sBORDER
        true
        sFLAT
        false
        sCLOSE
        false
        sSINGLE
        false
        sMRUVisible
        false
        ssimple
        false
        sdisposeControlOnItemClosed
        true
        sH_SCROLL
        false
        sV_SCROLL
        false
        sNO_BACKGROUND
        false
        sNO_FOCUS
        false
        sNO_MERGE_PAINTS
        false
        sNO_REDRAW_RESIZE
        false
        sNO_RADIO_GROUP
        false
        sEMBEDDED
        false
        sDOUBLE_BUFFERED
        false
        scapture
        false
        senabled
        true
        sredraw
        true
        svisible
        true
        sdescriptors
        xworker.swt.Widgets/@CTabFolder
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        mainTabFolder
          @/@mainTabFolder/@searchDesc1/@mainSashForm/@mainTabFolder/@centerTabFolderMenu
          sname
          contentTabFolderMenu
          sstyle
          POP_UP
          sNO_RADIO_GROUP
          false
          salign
          LEFT_TO_RIGHT
          svisible
          true
          senabled
          true
          slabel
          centerTabFolderMenu
          sdescriptors
          xworker.swt.Widgets/@Menu
          sid
          centerTabFolderMenu
            @/@mainTabFolder/@searchDesc1/@mainSashForm/@mainTabFolder/@centerTabFolderMenu/@cn_closeSelfItem
            sname
            cn_closeSelfItem
            stext
            res:res.w_exp:centerTabClose:关闭
            sstyle
            PUSH
            sselected
            false
            senabled
            true
            slabel
            cn_closeSelfItem
            sdescriptors
            xworker.swt.widgets.Menu/@MenuItem
            sid
            cn_closeSelfItem
              @/@mainTabFolder/@searchDesc1/@mainSashForm/@mainTabFolder/@centerTabFolderMenu/@cn_closeSelfItem/@listeners
              sname
              listeners
              slabel
              listeners
              sdescriptors
              xworker.swt.events.Listeners/@listeners
              sid
              listeners
                @/@mainTabFolder/@searchDesc1/@mainSashForm/@mainTabFolder/@centerTabFolderMenu/@cn_closeSelfItem/@listeners/@cnTabMenuSelection
                sname
                cnTabMenuSelection
                stype
                Selection
                slabel
                cnTabMenuSelection
                sdescriptors
                xworker.swt.events.Listeners/@listeners/@Listener
                sid
                cnTabMenuSelection
                  @/@mainTabFolder/@searchDesc1/@mainSashForm/@mainTabFolder/@centerTabFolderMenu/@cn_closeSelfItem/@listeners/@cnTabMenuSelection/@GroovyAction
                  sname
                  GroovyAction
                  sisSynchronized
                  false
                  sthrowException
                  true
                  suseOtherAction
                  false
                  svarScope
                  Global
                  sdisableGlobalContext
                  false
                  Scode
#$@text#$@
if(event.widget == cn_closeSelfItem){
    def item = contentTabFolder.getSelection();
    disposeItem(item);
}else if(event.widget == cn_closeOtherItem){
    def item = contentTabFolder.getSelection();
    for(it in contentTabFolder.getItems()){
        if(it != item){
            disposeItem(it);
        }
    }
}else if(event.widget == cnCloseAllItem){
    for(item in contentTabFolder.getItems()){
        disposeItem(item);
    }
}

//log.info("CTabFolder item count=" + contentTabFolder.getItemCount());

def disposeItem(item){
    //销毁CtabItem相关的内容
    if(item.getControl() != null){
        try{
            item.getControl().dispose();
        }catch(Exception e){
        }
    }

    item.dispose();   
}
#$@text#$@
                  sinterpretationType
                  Action
                  screateLocalVarScope
                  false
                  ssaveReturn
                  false
                  sdebugLog
                  false
                  sdescriptors
                  xworker.lang.actions.Actions/@GroovyAction
                  sid
                  GroovyAction
            @/@mainTabFolder/@searchDesc1/@mainSashForm/@mainTabFolder/@centerTabFolderMenu/@cn_closeOtherItem
            sname
            cn_closeOtherItem
            stext
            res:res.w_exp:centerTabCloseOther:关闭其他
            sstyle
            PUSH
            sselected
            false
            senabled
            true
            slabel
            cn_closeOtherItem
            sdescriptors
            xworker.swt.widgets.Menu/@MenuItem
            sid
            cn_closeOtherItem
              @/@mainTabFolder/@searchDesc1/@mainSashForm/@mainTabFolder/@centerTabFolderMenu/@cn_closeOtherItem/@listeners
              sname
              listeners
              slabel
              listeners
              sdescriptors
              xworker.swt.events.Listeners/@listeners
              sid
              listeners
                @/@mainTabFolder/@searchDesc1/@mainSashForm/@mainTabFolder/@centerTabFolderMenu/@cn_closeOtherItem/@listeners/@cn_closeOteherSelectio
                sname
                cn_closeOteherSelectio
                stype
                Selection
                sref
                cnTabMenuSelection
                slabel
                cn_closeOteherSelectio
                sdescriptors
                xworker.swt.events.Listeners/@listeners/@Listener
                sid
                cn_closeOteherSelectio
            @/@mainTabFolder/@searchDesc1/@mainSashForm/@mainTabFolder/@centerTabFolderMenu/@cnCloseAllItem
            sname
            cnCloseAllItem
            stext
            res:res.w_exp:centerTabCloseAll:关闭所有
            sstyle
            PUSH
            sselected
            false
            senabled
            true
            slabel
            cnCloseAllItem
            sdescriptors
            xworker.swt.widgets.Menu/@MenuItem
            sid
            cnCloseAllItem
              @/@mainTabFolder/@searchDesc1/@mainSashForm/@mainTabFolder/@centerTabFolderMenu/@cnCloseAllItem/@listeners
              sname
              listeners
              slabel
              listeners
              sdescriptors
              xworker.swt.events.Listeners/@listeners
              sid
              listeners
                @/@mainTabFolder/@searchDesc1/@mainSashForm/@mainTabFolder/@centerTabFolderMenu/@cnCloseAllItem/@listeners/@cn_closeAllItemSelection
                sname
                cn_closeAllItemSelection
                stype
                Selection
                sref
                cnTabMenuSelection
                slabel
                cn_closeAllItemSelection
                sdescriptors
                xworker.swt.events.Listeners/@listeners/@Listener
                sid
                cn_closeAllItemSelection
    @/@mainTabFolder/@searchDescRightCompositeITem
    sname
    searchDescRightCompositeITem
    sCLOSE
    false
    sdescriptors
    xworker.swt.custom.CTabFolder/@CTabItem
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    searchDescRightCompositeITem
      @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm
      sname
      mainSashForm
      sstyle
      HORIZONTAL
      sSMOOTH
      false
      sweights
      30,70
      sBORDER
      false
      sH_SCROLL
      false
      sV_SCROLL
      false
      sNO_BACKGROUND
      false
      sNO_FOCUS
      false
      sNO_MERGE_PAINTS
      false
      sNO_REDRAW_RESIZE
      false
      sNO_RADIO_GROUP
      false
      sEMBEDDED
      false
      sDOUBLE_BUFFERED
      false
      scapture
      false
      senabled
      true
      sredraw
      true
      svisible
      true
      sdescriptors
      xworker.swt.Widgets/@SashForm
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      mainSashForm
        @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@resources
        sname
        resources
        sdescriptors
        xworker.swt.Widgets/@Resource
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        resources
          @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@resources/@findImage
          sname
          findImage
          stype
          Image
          simageFile
          icons/find.png
          sdescriptors
          xworker.swt.util.Resource/@Image
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          findImage
          @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@resources/@refreshImage
          sname
          refreshImage
          stype
          Image
          simageFile
          icons/arrow_refresh_small.png
          sdescriptors
          xworker.swt.util.Resource/@Image
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          refreshImage
          @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@resources/@downImage
          sname
          downImage
          stype
          Image
          simageFile
          icons/arrow_down.png
          sdescriptors
          xworker.swt.util.Resource/@Image
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          downImage
          @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@resources/@upImage
          sname
          upImage
          stype
          Image
          simageFile
          icons/arrow_up.png
          sdescriptors
          xworker.swt.util.Resource/@Image
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          upImage
          @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@resources/@homeImage
          sname
          homeImage
          stype
          Image
          simageFile
          icons/house.png
          sdescriptors
          xworker.swt.util.Resource/@Image
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          homeImage
          @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@resources/@addImage
          sname
          addImage
          stype
          Image
          simageFile
          icons/add.png
          sdescriptors
          xworker.swt.util.Resource/@Image
          sinheritDescription
          false
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_registDisabled
          false
          sth_mark
          false
          sid
          addImage
        @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@composite1
        sname
        composite
        sextendWidgetPath
        xworker.swt.xworker.prototype.ThingRegistSelector/@mainTabFolder/@searchDesc1/@mainSashForm/@composite
        sactionContext
        actionContext
        screateActionContextIfNotExists
        true
        snewActionContext
        true
        sdescriptors
        xworker.swt.Widgets/@ExtendWidget
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        composite1
        @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@contentComposie
        sname
        contentComposite
        sBORDER
        true
        sH_SCROLL
        false
        sV_SCROLL
        false
        sNO_BACKGROUND
        false
        sNO_FOCUS
        false
        sNO_MERGE_PAINTS
        false
        sNO_REDRAW_RESIZE
        false
        sNO_RADIO_GROUP
        false
        sEMBEDDED
        false
        sDOUBLE_BUFFERED
        false
        scapture
        false
        senabled
        true
        sredraw
        true
        svisible
        true
        sdescriptors
        xworker.swt.Widgets/@Composite
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        contentComposie
          @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@contentComposie/@conComposite
          sname
          conComposite
          sBORDER
          false
          sH_SCROLL
          false
          sV_SCROLL
          false
          sNO_BACKGROUND
          false
          sNO_FOCUS
          false
          sNO_MERGE_PAINTS
          false
          sNO_REDRAW_RESIZE
          false
          sNO_RADIO_GROUP
          false
          sEMBEDDED
          false
          sDOUBLE_BUFFERED
          false
          scapture
          false
          senabled
          true
          sredraw
          true
          svisible
          true
          sdescriptors
          xworker.swt.Widgets/@Composite
          sinheritDescription
          false
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_registDisabled
          false
          sth_mark
          false
          sid
          conComposite
            @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@contentComposie/@conComposite/@conCompositeFillLayout
            sname
            conCompositeFillLayout
            stype
            SWT.HORIZONTAL
            sdescriptors
            xworker.swt.Layouts/@FillLayout
            sinheritDescription
            false
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_registDisabled
            false
            sth_mark
            false
            sid
            conCompositeFillLayout
          @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@contentComposie/@descComposite
          sname
          descComposite
          sBORDER
          false
          sH_SCROLL
          false
          sV_SCROLL
          false
          sNO_BACKGROUND
          false
          sNO_FOCUS
          false
          sNO_MERGE_PAINTS
          false
          sNO_REDRAW_RESIZE
          false
          sNO_RADIO_GROUP
          false
          sEMBEDDED
          false
          sDOUBLE_BUFFERED
          false
          scapture
          false
          senabled
          true
          sredraw
          true
          svisible
          true
          sdescriptors
          xworker.swt.Widgets/@Composite
          sth_createIndex
          false
          sth_mark
          false
          sid
          descComposite
            @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@contentComposie/@descComposite/@descCompositeGridLayout
            sname
            descCompositeGridLayout
            snumColumns
            3
            smakeColumnsEqualWidth
            false
            smarginWidth
            0
            smarginHeight
            0
            smarginLeft
            0
            smarginTop
            0
            smarginRight
            0
            smarginBottom
            0
            shorizontalSpacing
            0
            sverticalSpacing
            0
            sdescriptors
            xworker.swt.Layouts/@GridLayout
            sth_createIndex
            false
            sth_mark
            false
            sid
            descCompositeGridLayout
            @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@contentComposie/@descComposite/@descLabel
            sname
            descLabel
            sBORDER
            false
            stype
            HORIZONTAL
            sshadow
            SHADOW_OUT
            salignment
            LEFT
            stext
            label:xworker.ide.worldexplorer.swt.i18n.TopicI18n/@buttons/@description_
            scapture
            false
            senabled
            true
            sredraw
            true
            spack
            false
            svisible
            true
            sdescriptors
            xworker.swt.Widgets/@Label
            sth_createIndex
            false
            sth_mark
            false
            sid
            descLabel
              @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@contentComposie/@descComposite/@descLabel/@descLabelGridData
              sname
              descLabelGridData
              sstyle
              FILL_HORIZONTAL
              shorizontalIndent
              0
              swidth
              -1
              sheight
              -1
              shorizontalAlignment
              BEGINNING
              sverticalAlignment
              CENTER
              shorizontalSpan
              3
              sverticalSpan
              1
              sgrabExcessHorizontalSpace
              false
              sgrabExcessVerticalSpace
              false
              sdescriptors
              xworker.swt.layout.LayoutDatas/@GridData
              sth_createIndex
              false
              sth_mark
              false
              sid
              descLabelGridData
            @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@contentComposie/@descComposite/@descBrowser
            sname
            descBrowser
            sWEBKIT
            false
            sdescriptors
            xworker.swt.Widgets/@Browser
            sth_createIndex
            false
            sth_mark
            false
            sid
            descBrowser
              @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@contentComposie/@descComposite/@descBrowser/@descBrowserGridData
              sname
              descBrowserGridData
              sstyle
              FILL_BOTH
              shorizontalIndent
              0
              swidth
              -1
              sheight
              -1
              shorizontalAlignment
              BEGINNING
              sverticalAlignment
              CENTER
              shorizontalSpan
              3
              sverticalSpan
              1
              sgrabExcessHorizontalSpace
              false
              sgrabExcessVerticalSpace
              false
              sdescriptors
              xworker.swt.layout.LayoutDatas/@GridData
              sth_createIndex
              false
              sth_mark
              false
              sid
              descBrowserGridData
              @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@contentComposie/@descComposite/@descBrowser/@UtilBrowser
              sname
              UtilBrowser
              sdescriptors
              xworker.swt.browser.Browser/@UtilBrowser
              sth_createIndex
              false
              sth_mark
              false
              sid
              UtilBrowser
          @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@contentComposie/@homeComposite
          sname
          homeComposite
          sBORDER
          false
          sH_SCROLL
          false
          sV_SCROLL
          false
          sNO_BACKGROUND
          false
          sNO_FOCUS
          false
          sNO_MERGE_PAINTS
          false
          sNO_REDRAW_RESIZE
          false
          sNO_RADIO_GROUP
          false
          sEMBEDDED
          false
          sDOUBLE_BUFFERED
          false
          scapture
          false
          senabled
          true
          sredraw
          true
          svisible
          true
          sdescriptors
          xworker.swt.Widgets/@Composite
          sinheritDescription
          false
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_registDisabled
          false
          sth_mark
          false
          sid
          homeComposite
            @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@contentComposie/@homeComposite/@descCompositeGridLayout
            sname
            descCompositeGridLayout
            snumColumns
            3
            smakeColumnsEqualWidth
            false
            smarginWidth
            0
            smarginHeight
            0
            smarginLeft
            0
            smarginTop
            0
            smarginRight
            0
            smarginBottom
            0
            shorizontalSpacing
            0
            sverticalSpacing
            0
            sdescriptors
            xworker.swt.Layouts/@GridLayout
            sth_createIndex
            false
            sth_mark
            false
            sid
            descCompositeGridLayout
            @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@contentComposie/@homeComposite/@descLabel
            sname
            homeDescLabel
            sBORDER
            false
            stype
            HORIZONTAL
            sshadow
            SHADOW_OUT
            salignment
            LEFT
            stext
            label:xworker.ide.worldexplorer.swt.i18n.TopicI18n/@buttons/@description_
            scapture
            false
            senabled
            true
            sredraw
            true
            spack
            false
            svisible
            true
            sdescriptors
            xworker.swt.Widgets/@Label
            sth_createIndex
            false
            sth_mark
            false
            sid
            descLabel
              @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@contentComposie/@homeComposite/@descLabel/@descLabelGridData
              sname
              descLabelGridData
              sstyle
              FILL_HORIZONTAL
              shorizontalIndent
              0
              swidth
              -1
              sheight
              -1
              shorizontalAlignment
              BEGINNING
              sverticalAlignment
              CENTER
              shorizontalSpan
              3
              sverticalSpan
              1
              sgrabExcessHorizontalSpace
              false
              sgrabExcessVerticalSpace
              false
              sdescriptors
              xworker.swt.layout.LayoutDatas/@GridData
              sth_createIndex
              false
              sth_mark
              false
              sid
              descLabelGridData
            @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@contentComposie/@homeComposite/@descBrowser
            sname
            homeDescBrowser
            sWEBKIT
            false
            sjavascriptEnabled
            true
            sdescriptors
            xworker.swt.Widgets/@Browser
            sth_createIndex
            false
            sth_mark
            false
            sid
            descBrowser
              @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@contentComposie/@homeComposite/@descBrowser/@descBrowserGridData
              sname
              descBrowserGridData
              sstyle
              FILL_BOTH
              shorizontalIndent
              0
              swidth
              -1
              sheight
              -1
              shorizontalAlignment
              BEGINNING
              sverticalAlignment
              CENTER
              shorizontalSpan
              3
              sverticalSpan
              1
              sgrabExcessHorizontalSpace
              false
              sgrabExcessVerticalSpace
              false
              sdescriptors
              xworker.swt.layout.LayoutDatas/@GridData
              sth_createIndex
              false
              sth_mark
              false
              sid
              descBrowserGridData
              @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@contentComposie/@homeComposite/@descBrowser/@UtilBrowser
              sname
              UtilBrowser
              sdescriptors
              xworker.swt.browser.Browser/@UtilBrowser
              sth_createIndex
              false
              sth_mark
              false
              sid
              UtilBrowser
            @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@contentComposie/@homeComposite/@registTypeLabel
            sname
            registTypeLabel
            sBORDER
            false
            stype
            VERTICAL
            salignment
            LEFT
            stext
            label:xworker.swt.xworker.prototype.ThingRegistSelector/@resources/@I18nResource/@thingTreePopMenu/@registTypeLabel
            scapture
            false
            senabled
            true
            sredraw
            true
            svisible
            true
            sdescriptors
            xworker.swt.Widgets/@Label
            sinheritDescription
            false
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_registDisabled
            false
            sth_mark
            false
            sid
            registTypeLabel
            @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@contentComposie/@homeComposite/@registTypeCombo
            sname
            registTypeCombo
            sREAD_ONLY
            false
            sBORDER
            true
            sFLAT
            false
            slistVisible
            false
            sH_SCROLL
            false
            sV_SCROLL
            false
            sNO_BACKGROUND
            false
            sNO_FOCUS
            false
            sNO_MERGE_PAINTS
            false
            sNO_REDRAW_RESIZE
            false
            sNO_RADIO_GROUP
            false
            sEMBEDDED
            false
            sDOUBLE_BUFFERED
            false
            scapture
            false
            senabled
            true
            sredraw
            true
            svisible
            true
            sdescriptors
            xworker.swt.Widgets/@CCombo
            sinheritDescription
            false
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_registDisabled
            false
            sth_mark
            false
            sid
            registTypeCombo
              @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@contentComposie/@homeComposite/@registTypeCombo/@registTypeComboGridData
              sname
              registTypeComboGridData
              shorizontalIndent
              0
              swidth
              200
              sheight
              -1
              shorizontalAlignment
              BEGINNING
              sverticalAlignment
              CENTER
              shorizontalSpan
              1
              sverticalSpan
              1
              sgrabExcessHorizontalSpace
              false
              sgrabExcessVerticalSpace
              false
              sdescriptors
              xworker.swt.layout.LayoutDatas/@GridData
              sinheritDescription
              false
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_registDisabled
              false
              sth_mark
              false
              sid
              registTypeComboGridData
            @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@contentComposie/@homeComposite/@chageRegistTypeButton
            sname
            chageRegistTypeButton
            stext
            label:xworker.swt.xworker.prototype.ThingRegistSelector/@resources/@I18nResource/@thingTreePopMenu/@chageRegistTypeButton
            stype
            SWT.PUSH
            sflat
            false
            sborder
            false
            sselected
            false
            scapture
            false
            senabled
            true
            sredraw
            true
            svisible
            true
            sdescriptors
            xworker.swt.Widgets/@Button
            sinheritDescription
            false
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_registDisabled
            false
            sth_mark
            false
            sid
            chageRegistTypeButton
              @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@contentComposie/@homeComposite/@chageRegistTypeButton/@Listeners
              sname
              Listeners
              sdescriptors
              xworker.swt.widgets.Widget/@Listeners
              sinheritDescription
              false
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_registDisabled
              false
              sth_mark
              false
              sid
              Listeners
                @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@contentComposie/@homeComposite/@chageRegistTypeButton/@Listeners/@chageRegistTypeButtonSelection
                sname
                chageRegistTypeButtonSelection
                stype
                Selection
                sdescriptors
                xworker.swt.events.Listeners/@listeners/@Listener
                sinheritDescription
                false
                sth_createIndex
                false
                sth_registMyChilds
                false
                sth_registDisabled
                false
                sth_mark
                false
                sid
                chageRegistTypeButtonSelection
                  @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@contentComposie/@homeComposite/@chageRegistTypeButton/@Listeners/@chageRegistTypeButtonSelection/@GroovyAction
                  sname
                  GroovyAction
                  sisSynchronized
                  false
                  sthrowException
                  true
                  suseOtherAction
                  false
                  svarScope
                  Local
                  sdisableGlobalContext
                  false
                  Scode
#$@text#$@
def newType = registTypeCombo.getText();
if(newType != null && newType != ""){
    parentContext.actionContext.g().put("type", newType);
    parentContext.actions.doAction("refresh", parentContext);
}
#$@text#$@
                  sinterpretationType
                  Action
                  screateLocalVarScope
                  false
                  ssaveReturn
                  false
                  sdebugLog
                  false
                  sdescriptors
                  xworker.lang.actions.Actions/@GroovyAction
                  sinheritDescription
                  false
                  sth_createIndex
                  false
                  sth_registMyChilds
                  false
                  sth_registDisabled
                  false
                  sth_mark
                  false
                  sid
                  GroovyAction
            @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@contentComposie/@homeComposite/@init
            sname
            init
            sisSynchronized
            false
            sthrowException
            true
            suseOtherAction
            false
            svarScope
            Local
            sdisableGlobalContext
            false
            Scode
#$@text#$@
import xworker.lang.util.ThingUtils;
import xworker.lang.util.XWorkerUtils;
import xworker.swt.util.SwtUtils;

//显示事物的文档
if(actionContext.get("thing") == null){
    return;
}

SwtUtils.setThingDesc(thing, homeDescBrowser);

//显示可用的注册方式
registTypeCombo.removeAll();

def types = ThingUtils.getRegistTypes(thing, [], false, actionContext);
for(rtype in types){
    registTypeCombo.add(rtype);
}
if(actionContext.get("type") != null){
    registTypeCombo.setText(type);
}
#$@text#$@
            sinterpretationType
            Action
            screateLocalVarScope
            false
            ssaveReturn
            false
            sswitchResult
            false
            sdebugLog
            false
            sdescriptors
            xworker.swt.widgets.Widget/@Code
            sinheritDescription
            false
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_registDisabled
            false
            sth_mark
            false
            sid
            init
          @/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@contentComposie/@contentCompositeStackLayout
          sname
          contentCompositeStackLayout
          stopControl
          descComposite
          sdescriptors
          xworker.swt.Layouts/@StackLayout
          sinheritDescription
          false
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_registDisabled
          false
          sth_mark
          false
          sid
          contentCompositeStackLayout
    @/@mainTabFolder/@dscItem1
    sname
    dscRightItem
    stext
    描述
    sCLOSE
    false
    sdescriptors
    xworker.swt.custom.CTabFolder/@CTabItem
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    dscItem1
      @/@mainTabFolder/@dscItem1/@topSashForm
      sname
      topSashForm
      sstyle
      HORIZONTAL
      sSMOOTH
      false
      sweights
      50,50
      sBORDER
      false
      sH_SCROLL
      false
      sV_SCROLL
      false
      sNO_BACKGROUND
      false
      sNO_FOCUS
      false
      sNO_MERGE_PAINTS
      false
      sNO_REDRAW_RESIZE
      false
      sNO_RADIO_GROUP
      false
      sEMBEDDED
      false
      sDOUBLE_BUFFERED
      false
      scapture
      false
      senabled
      true
      sredraw
      true
      svisible
      true
      sdescriptors
      xworker.swt.Widgets/@SashForm
      sth_createIndex
      false
      sth_mark
      false
      sid
      topSashForm
        @/@mainTabFolder/@dscItem1/@topSashForm/@thingComposite
        sname
        thingComposite
        sBORDER
        false
        sH_SCROLL
        false
        sV_SCROLL
        false
        sNO_BACKGROUND
        false
        sNO_FOCUS
        false
        sNO_MERGE_PAINTS
        false
        sNO_REDRAW_RESIZE
        false
        sNO_RADIO_GROUP
        false
        sEMBEDDED
        false
        sDOUBLE_BUFFERED
        false
        scapture
        false
        senabled
        true
        sredraw
        true
        svisible
        true
        sdescriptors
        xworker.swt.Widgets/@Composite
        sth_createIndex
        false
        sth_mark
        false
        sid
        thingComposite
          @/@mainTabFolder/@dscItem1/@topSashForm/@thingComposite/@thingComposieGridLayout
          sname
          thingComposieGridLayout
          smakeColumnsEqualWidth
          false
          smarginWidth
          0
          smarginHeight
          0
          smarginLeft
          0
          smarginTop
          0
          smarginRight
          0
          smarginBottom
          0
          shorizontalSpacing
          0
          sverticalSpacing
          0
          sdescriptors
          xworker.swt.Layouts/@GridLayout
          sth_createIndex
          false
          sth_mark
          false
          sid
          thingComposieGridLayout
          @/@mainTabFolder/@dscItem1/@topSashForm/@thingComposite/@tingLabel
          sname
          tingLabel
          sBORDER
          false
          stype
          HORIZONTAL
          sshadow
          SHADOW_OUT
          salignment
          LEFT
          stext
          label:xworker.swt.ide.worldexplorer.swt.tools.ThingSelector/@shell/@Resource/@I18nResource/@thingLabel
          scapture
          false
          senabled
          true
          sredraw
          true
          svisible
          true
          sdescriptors
          xworker.swt.Widgets/@Label
          sth_createIndex
          false
          sth_mark
          false
          sid
          tingLabel
            @/@mainTabFolder/@dscItem1/@topSashForm/@thingComposite/@tingLabel/@thingLabelGridData
            sname
            thingLabelGridData
            sstyle
            FILL_HORIZONTAL
            shorizontalIndent
            0
            swidth
            -1
            sheight
            -1
            shorizontalAlignment
            BEGINNING
            sverticalAlignment
            CENTER
            shorizontalSpan
            1
            sverticalSpan
            1
            sgrabExcessHorizontalSpace
            false
            sgrabExcessVerticalSpace
            false
            sdescriptors
            xworker.swt.layout.LayoutDatas/@GridData
            sth_createIndex
            false
            sth_mark
            false
            sid
            thingLabelGridData
          @/@mainTabFolder/@dscItem1/@topSashForm/@thingComposite/@thingTree
          sname
          thingTree
          sselectStyle
          SINGLE
          sV_SCROLL
          true
          sH_SCROLL
          true
          sCHECK
          false
          sFULL_SELECTION
          false
          sHIDE_SELECTION
          false
          sBORDER
          false
          slineVisible
          false
          smultipleColumns
          false
          sheaderVisible
          false
          ssortIndicator
          false
          smoveableColumns
          false
          sheadImages
          false
          ssubImages
          false
          scheckSelection
          false
          scapture
          false
          senabled
          true
          sredraw
          true
          svisible
          true
          sdescriptors
          xworker.swt.Widgets/@Tree
          sth_createIndex
          false
          sth_mark
          false
          sid
          thingTree
            @/@mainTabFolder/@dscItem1/@topSashForm/@thingComposite/@thingTree/@thingTreeGridData
            sname
            thingTreeGridData
            sstyle
            FILL_BOTH
            shorizontalIndent
            0
            swidth
            -1
            sheight
            -1
            shorizontalAlignment
            BEGINNING
            sverticalAlignment
            CENTER
            shorizontalSpan
            1
            sverticalSpan
            1
            sgrabExcessHorizontalSpace
            false
            sgrabExcessVerticalSpace
            false
            sdescriptors
            xworker.swt.layout.LayoutDatas/@GridData
            sth_createIndex
            false
            sth_mark
            false
            sid
            thingTreeGridData
            @/@mainTabFolder/@dscItem1/@topSashForm/@thingComposite/@thingTree/@Listeners
            sname
            Listeners
            sdescriptors
            xworker.swt.widgets.Widget/@Listeners
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_mark
            false
            sid
            Listeners
              @/@mainTabFolder/@dscItem1/@topSashForm/@thingComposite/@thingTree/@Listeners/@thingTreeSelection
              sname
              thingTreeSelection
              stype
              Selection
              sref
              xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@thingTreeSelection
              sdescriptors
              xworker.swt.events.Listeners/@listeners/@Listener
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_mark
              false
              sid
              thingTreeSelection
              @/@mainTabFolder/@dscItem1/@topSashForm/@thingComposite/@thingTree/@Listeners/@thingTreeDefaultSelection
              sname
              thingTreeDefaultSelection
              stype
              DefaultSelection
              sref
              xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@thingTreeDefaultSelection
              sdescriptors
              xworker.swt.events.Listeners/@listeners/@Listener
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_mark
              false
              sid
              thingTreeDefaultSelection
        @/@mainTabFolder/@dscItem1/@topSashForm/@contentComposie
        sname
        contentComposie
        sactionContext
        var:actionContext
        screateActionContextIfNotExists
        true
        snewActionContext
        false
        sdescriptors
        xworker.swt.Widgets/@ExtendWidget
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        contentComposie
          @/@mainTabFolder/@dscItem1/@topSashForm/@contentComposie/@actions
          sname
          actions
          sdescriptors
          xworker.swt.xworker.ExtendWidget/@actions1
          sinheritDescription
          false
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_registDisabled
          false
          sth_mark
          false
          sid
          actions
            @/@mainTabFolder/@dscItem1/@topSashForm/@contentComposie/@actions/@getExtendWidget
            sname
            getExtendWidget
            sisSynchronized
            false
            sthrowException
            true
            suseOtherAction
            false
            svarScope
            Local
            sdisableGlobalContext
            false
            Scode
#$@text#$@
String displayType = controlThing.doAction("getContentDisplayType", actionContext);
if("Composite".equals(displayType) || "Browser".equals(displayType)){
	  thing = world.getThing("xworker.swt.xworker.prototype.ThingRegistSelector/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@contentComposie");
}else{
	  thing = world.getThing("xworker.swt.xworker.prototype.ThingRegistSelector/@mainTabFolder/@searchDesc1/@mainSashForm/@mainTabFolder");
}

return thing;
#$@text#$@
            sinterpretationType
            Action
            screateLocalVarScope
            false
            ssaveReturn
            false
            sdebugLog
            false
            sdescriptors
            xworker.lang.actions.Actions/@GroovyAction
            sinheritDescription
            false
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_registDisabled
            false
            sth_mark
            false
            sid
            getExtendWidget
    @/@mainTabFolder/@CTabItem
    sname
    tabItem
    sCLOSE
    true
    sdescriptors
    xworker.swt.custom.CTabFolder/@CTabItem
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    CTabItem
    @/@mainTabFolder/@tingTrees
    sname
    tingTrees
    sCLOSE
    false
    sdescriptors
    xworker.swt.custom.CTabFolder/@CTabItem
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    tingTrees
      @/@mainTabFolder/@tingTrees/@thingTree
      sname
      thingTree
      sselectStyle
      SINGLE
      sV_SCROLL
      true
      sH_SCROLL
      true
      sCHECK
      false
      sFULL_SELECTION
      false
      sHIDE_SELECTION
      false
      sBORDER
      false
      sVIRTUAL
      true
      slineVisible
      false
      smultipleColumns
      false
      sheaderVisible
      false
      ssortIndicator
      false
      smoveableColumns
      false
      sheadImages
      false
      ssubImages
      false
      scheckSelection
      false
      scapture
      false
      senabled
      true
      sredraw
      true
      spack
      false
      svisible
      true
      sdescriptors
      xworker.swt.Widgets/@Tree
      sth_createIndex
      false
      sth_mark
      false
      sid
      thingTree
        @/@mainTabFolder/@tingTrees/@thingTree/@thingTreeGridData
        sname
        thingTreeGridData
        sstyle
        FILL_BOTH
        shorizontalIndent
        0
        swidth
        -1
        sheight
        -1
        shorizontalAlignment
        BEGINNING
        sverticalAlignment
        CENTER
        shorizontalSpan
        1
        sverticalSpan
        1
        sgrabExcessHorizontalSpace
        false
        sgrabExcessVerticalSpace
        false
        sdescriptors
        xworker.swt.layout.LayoutDatas/@GridData
        sth_createIndex
        false
        sth_mark
        false
        sid
        thingTreeGridData
        @/@mainTabFolder/@tingTrees/@thingTree/@Listeners
        sname
        Listeners
        sdescriptors
        xworker.swt.widgets.Widget/@Listeners
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        Listeners
          @/@mainTabFolder/@tingTrees/@thingTree/@Listeners/@thingTreeSelection
          sname
          thingTreeSelection
          stype
          Selection
          sref
          xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@thingTreeSelection
          sdescriptors
          xworker.swt.events.Listeners/@listeners/@Listener
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          thingTreeSelection
          @/@mainTabFolder/@tingTrees/@thingTree/@Listeners/@thingTreeDefaultSelection
          sname
          thingTreeDefaultSelection
          stype
          DefaultSelection
          sref
          xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@thingTreeDefaultSelection
          sdescriptors
          xworker.swt.events.Listeners/@listeners/@Listener
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          thingTreeDefaultSelection
          @/@mainTabFolder/@tingTrees/@thingTree/@Listeners/@menuDetect
          sname
          menuDetect
          stype
          MenuDetect
          sref
          xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@menuDetect
          sdescriptors
          xworker.swt.events.Listeners/@listeners/@Listener
          sinheritDescription
          false
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_registDisabled
          false
          sth_mark
          false
          sid
          menuDetect
        @/@mainTabFolder/@tingTrees/@thingTree/@expandCache
        sname
        expandCache
        sdescriptors
        xworker.swt.widgets.Tree/@ExpandCache
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        expandCache
        @/@mainTabFolder/@tingTrees/@thingTree/@thingRegist
        sname
        thingRegist
        slabel
        ThingRegist
        sregistThing
        xworker.swt.xworker.prototype.ThingRegistIndex
        sregistType
        child
        spriority
        -100
        sdescriptors
        xworker.swt.Widgets/@InteractiveUI
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        thingRegist
      @/@mainTabFolder/@tingTrees/@thingTree1
      sname
      thingTree
      sselectStyle
      MULTI
      sV_SCROLL
      true
      sH_SCROLL
      true
      sCHECK
      true
      sFULL_SELECTION
      false
      sHIDE_SELECTION
      false
      sBORDER
      false
      sVIRTUAL
      true
      slineVisible
      false
      smultipleColumns
      false
      sheaderVisible
      false
      ssortIndicator
      false
      smoveableColumns
      false
      sheadImages
      false
      ssubImages
      false
      scheckSelection
      false
      scapture
      false
      senabled
      true
      sredraw
      true
      spack
      false
      svisible
      true
      slabel
      thingTreeWithCheck
      sdescriptors
      xworker.swt.Widgets/@Tree
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_mark
      false
      sid
      thingTree1
        @/@mainTabFolder/@tingTrees/@thingTree1/@thingTreeGridData
        sname
        thingTreeGridData
        sstyle
        FILL_BOTH
        shorizontalIndent
        0
        swidth
        -1
        sheight
        -1
        shorizontalAlignment
        BEGINNING
        sverticalAlignment
        CENTER
        shorizontalSpan
        1
        sverticalSpan
        1
        sgrabExcessHorizontalSpace
        false
        sgrabExcessVerticalSpace
        false
        sdescriptors
        xworker.swt.layout.LayoutDatas/@GridData
        sth_createIndex
        false
        sth_mark
        false
        sid
        thingTreeGridData
        @/@mainTabFolder/@tingTrees/@thingTree1/@Listeners
        sname
        Listeners
        sdescriptors
        xworker.swt.widgets.Widget/@Listeners
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        Listeners
          @/@mainTabFolder/@tingTrees/@thingTree1/@Listeners/@thingTreeSelection
          sname
          thingTreeSelection
          stype
          Selection
          sref
          xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@thingTreeSelection
          sdescriptors
          xworker.swt.events.Listeners/@listeners/@Listener
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          thingTreeSelection
          @/@mainTabFolder/@tingTrees/@thingTree1/@Listeners/@thingTreeDefaultSelection
          sname
          thingTreeDefaultSelection
          stype
          DefaultSelection
          sref
          xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@thingTreeDefaultSelection
          sdescriptors
          xworker.swt.events.Listeners/@listeners/@Listener
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          thingTreeDefaultSelection
          @/@mainTabFolder/@tingTrees/@thingTree1/@Listeners/@menuDetect
          sname
          menuDetect
          stype
          MenuDetect
          sref
          xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@menuDetect
          sdescriptors
          xworker.swt.events.Listeners/@listeners/@Listener
          sinheritDescription
          false
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_registDisabled
          false
          sth_mark
          false
          sid
          menuDetect
        @/@mainTabFolder/@tingTrees/@thingTree1/@expandCache
        sname
        expandCache
        sdescriptors
        xworker.swt.widgets.Tree/@ExpandCache
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        expandCache
        @/@mainTabFolder/@tingTrees/@thingTree1/@thingRegist
        sname
        thingRegist
        slabel
        ThingRegist
        sregistThing
        xworker.swt.xworker.prototype.ThingRegistIndex
        sregistType
        child
        spriority
        -100
        sdescriptors
        xworker.swt.Widgets/@InteractiveUI
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        thingRegist
  @/@actions
  sname
  actions
  slog
  false
  sthingLoader
  false
  sdescriptors
  xworker.swt.Widgets/@actions
  sth_createIndex
  false
  sth_mark
  false
  sid
  actions
    @/@actions/@search
    sname
    searchxx
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
import org.xmeta.Thing;

import xworker.lang.util.ThingUtils;
import xworker.swt.util.XWorkerTreeUtil;

import org.eclipse.swt.widgets.TreeItem;
if(actionContext.get("thingTree") == null || thingTree.isDisposed()){
    return;
}

//为防止刷新太快，最快每秒一次查询
/*
def lastSearchTime = actionContext.get("lastSearchTime");
if(lastSearchTime != null && System.currentTimeMillis() - lastSearchTime < 500){
    return;    
}
actionContext.put("lastSearchTime", System.currentTimeMillis());
*/

//显示到结果上
thingTree.removeAll();
//for(item in thingTree.getItems()){
//    item.dispose();
//}

//search时数据清空，通知现在什么都没有选择
controlThing.doAction("selected", parentContext, ["thing": null]);

if(actionContext.get("downButton") != null){
    downButton.setEnabled(false);
}

//查找子事物
def keywords = [];
def keystr = actionContext.get("keywords");
if(keystr != null){
    if(keystr != ""){
        for(key in keystr.split("[ ]")){
            keywords.add(key);
        }
    }
}

def questThing = thing;
//println("search=" + thing);
if(actionContext.get("searchText") != null){
    keystr = searchText.getText().toLowerCase().trim();
    keywords.clear();
    if(keystr != ""){
        for(key in keystr.split("[ ]")){
            keywords.add(key);
        }
    }
}

if(actionContext.get("categoryTree") != null){
    def items = categoryTree.getSelection();
    if(items != null && items.length > 0){
        def item = items[0];
        def data = item.getData();
        if(data instanceof Thing){
            questThing = data;
        }
    }
}

def things = null;
if(controlThing.getBoolean("cache")){
    things = actionContext.get("things");
}
if(things == null){
    def parent = controlThing.getBoolean("parent");
    if(controlThing.getBoolean("cache")){
        //查找所有，其他过滤在缓存里
        things = controlThing.doAction("loadThings", actionContext, 
                "thing", thing, "type", type, "parent", parent);
        //things = ThingUtils.searchRegistThings(thing, type, [], parent, actionContext);
        actionContext.getScope(0).put("things", things);
    }else{
        things = controlThing.doAction("loadThings", actionContext, 
                "thing", thing, "type", type, "parent", parent);
        //things = ThingUtils.searchRegistThings(thing, type, [], parent, actionContext);
    }
}

//暂时全部从全部数据中直接查找
//if(controlThing.getBoolean("cache")){
    def dess = [];
    for(des in things){        
        //过滤关键字
        def add = true;
        for(keyword in keywords){
            if(keyword != ""){
                if(!isMatchThing(keyword, des)){
                    add = false;
                }
                /*
                def desKeys = des.getString("th_keywords");
                def ok = false;
                if(desKeys != null && desKeys.toLowerCase().indexOf(keyword) != -1){
                    ok = true;
                }
                //if(!ok && des.getMetadata().getPath().toLowerCase().indexOf(keyword) != -1){
                //    ok = true;
               // }
                if(!ok){
                    def group = des.getString("group");
                    if(group != null && group.toLowerCase().indexOf(keyword) != -1){
                        ok = true;
                    }
                }
                if(!ok && des.getMetadata().getLabel().toLowerCase().indexOf(keyword) != -1){
                    ok = true;
                }
                if(!ok){
                    add = false;
                    break;
                }*/
            }
        }
        
        if(add){
            dess.add(des);
        }
        things = dess;
    }
//}
if(actionContext.get("thing") == null){
    return;
}

XWorkerTreeUtil.showThingsOnTreeByGroup(thing.getMetadata().getPath(), things, thingTree, actionContext);
if(actionContext.get("expandCache") != null){
    expandCache.setCachePath(thing.getMetadata().getPath());
}


//展开第一层的节点
//if(thingTree.getItems().length == 1){
//    thingTree.getItems()[0].setExpanded(true);
//}
if(keywords.size() > 0){
    expand(thingTree);
}    

if(controlThing != null){
    controlThing.doAction("loaded", parentContext, ["thing": thing, "things": things, "type": type]);
}

def expand(item){
    for(childItem in item.getItems()){
        expand(childItem);
    }
    
    if(item instanceof TreeItem){
        item.setExpanded(true);
    }
}

def isMatchThing(String key, Thing thing){
    if(isMatch(key, thing.getStringBlankAsNull("th_keywords"))){
        return true;
    }
    if(isMatch(key, thing.getStringBlankAsNull("group"))){
        return true;
    }
    if(isMatch(key, thing.getStringBlankAsNull("en_group"))){
        return true;
    }
    if(isMatch(key, thing.getStringBlankAsNull("label"))){
        return true;
    }
    if(isMatch(key, thing.getStringBlankAsNull("en_label"))){
        return true;
    }
    if(isMatch(key, thing.getStringBlankAsNull("zh_label"))){
        return true;
    }
    if(isMatch(key, thing.getStringBlankAsNull("zh_group"))){
        return true;
    }
    if(isMatch(key, thing.getStringBlankAsNull("name"))){
        return true;
    }
    
    return false;
}

def isMatch(String key, String value){
    if(value == null || "" == value){
        return false;
    }else{
        return value.toLowerCase().indexOf(key) != -1
    }
}
#$@text#$@
    sai_needGenerate
    false
    sai_rootThingXml
    true
    sai_promptContainsVars
    true
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sswitchResult
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@GroovyAction
    sth_createIndex
    false
    sth_mark
    false
    sid
    search
    @/@actions/@setThing
    sname
    init
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
import xworker.lang.util.ThingUtils;
import xworker.swt.util.XWorkerTreeUtil;
import xworker.lang.util.XWorkerUtils;
import org.xmeta.Thing;
import xworker.swt.xworker.content.SwtQuickContentHandler;

//内容处理器，用来显示界面
if(actionContext.get("contentHandler") == null){
    actionContext.g().put("contentHandler", new SwtQuickContentHandler());
}
actionContext.getScope(0).put("thing", thing);
actionContext.getScope(0).put("type", type);
actionContext.getScope(0).put("keywords", actionContext.get("keywords"));
actionContext.getScope(0).put("thingList", [thing]);

//如果是TabFodler的显示内容，那么先清空所有
if(actionContext.get("contentTabFolder") != null && contentTabFolder.isDisposed() == false){
    for(item in contentTabFolder.getItems()){
        if(item.getControl() != null){
            item.getControl().dispose();
        }
        item.dispose();
    }
}

if(actionContext.get("searchText") != null){
    if(searchText.isDisposed()){
        return;
    }
    
    if(keywords != null){
        searchText.setText(keywords);
    }else{
        searchText.setText("");
    }
}

//如果分类目录存在，分类目录是一次性加载的，所以要在初始化时加载
if(actionContext.get("categoryTree") != null){
    //查找子事物
    def keywords = [];
    if(actionContext.get("searchText") != null){
        def keystr = searchText.getText().trim();
        
        if(keystr != ""){
            for(key in keystr.split("[ ]")){
                keywords.add(key);
            }
        }
    }
    
    def things = ThingUtils.searchRegistThings(thing, "category", keywords, actionContext);
    
    //显示到结果上
    for(item in categoryTree.getItems()){
        item.dispose();
    }
    
    XWorkerTreeUtil.showThingsOnTreeByGroup(thing.getMetadata().getPath(), things, thingTree, actionContext);
    
    if(actionContext.get("expandCache") != null){
        expandCache.setCachePath(thing.getMetadata().getPath());
    }
}

//如果自动加载加载数据
//println("autoLoad=" + actionContext.get("autoLoad"));
if(actionContext.get("autoLoad") == true){
    actions.doAction("search", actionContext);
}

def desccriptorForNewThing = actionContext.get("descriptorForNewThing");
if (desccriptorForNewThing == null) {
    desccriptorForNewThing = actionContext.get("descritporForNewThing");
}
if(desccriptorForNewThing != null){
    actionContext.g().put("descritporForNewThing", desccriptorForNewThing);
}

//显示主页信息
actions.doAction("openHome");
#$@text#$@
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sswitchResult
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@GroovyAction
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    setThing
      @/@actions/@setThing/@ins
      sisValidate
      false
      sname
      ins
      sdescriptors
      xworker.lang.actions.Inout/@ins
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      ins
        @/@actions/@setThing/@ins/@thing
        sname
        thing
        stypeCheck
        false
        soptional
        true
        scheck
        false
        scheckLevel
        exception
        sdescriptors
        xworker.lang.actions.Inout/@ins/@param
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        thing
          @/@actions/@setThing/@ins/@thing/@keywords
          sname
          keywords
          stypeCheck
          false
          soptional
          true
          scheck
          false
          scheckLevel
          exception
          sdescriptors
          xworker.lang.actions.Variable/@variable
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          keywords
        @/@actions/@setThing/@ins/@type
        sname
        type
        stypeCheck
        false
        soptional
        true
        scheck
        false
        scheckLevel
        exception
        sdescriptors
        xworker.lang.actions.Inout/@ins/@param
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        type
        @/@actions/@setThing/@ins/@autoLoad
        sname
        autoLoad
        stypeCheck
        false
        soptional
        true
        scheck
        false
        scheckLevel
        exception
        sdescription
        <p>是否自动加载。</p>
        sdescriptors
        xworker.lang.actions.Inout/@ins/@param
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        autoLoad
        @/@actions/@setThing/@ins/@keywords
        sname
        keywords
        stypeCheck
        false
        soptional
        true
        scheck
        false
        scheckLevel
        exception
        sdescriptors
        xworker.lang.actions.Inout/@ins/@param
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        keywords
        @/@actions/@setThing/@ins/@descritporForNewThing
        sname
        descriptorForNewThing
        stypeCheck
        false
        soptional
        true
        scheck
        false
        scheckLevel
        exception
        sdescriptors
        xworker.lang.actions.Inout/@ins/@param
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        descritporForNewThing
    @/@actions/@thingTreeSelection
    sname
    thingTreeSelection
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
import org.xmeta.Thing;
import org.xmeta.ActionContext;

import xworker.lang.util.ThingUtils;
import xworker.lang.executor.Executor;
import xworker.swt.util.XWorkerTreeUtil;

import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.TreeItem;
import org.eclipse.swt.custom.SashForm;

def TAG = "xworker.swt.xworker.prototype.ThingRegistSelector.p182904628.thingTreeSelection";
//设置菜单状态
actions.doAction("menuDetect", actionContext);

//通过事物树的选择事件，是thingTree的选择函数
//if(thingTree.getSelection() == null || thingTree.getSelection().length == 0){
//    return;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
//}

def item = event.item;//thingTree.getSelection()[0];
def data = item.getData();
if(data instanceof Thing){
    //动态子节点等特殊节点
    if(data.getThingName() == "ThingRegistDynamicNode"){
        initDynamicNode(item, data, actionContext);
        //return;
    }else if(data.getThingName() == "ReferenceIndex"){
        def thing = world.getThing(data.getString("thingPath"));
        if(thing != null){
            data = thing;
        }
    }else if(data.getThingName() == "QuickContentRef"){
        def thing = data.doAction("getQuickContent", actionContext);
        if(thing != null){
            data = thing;
        } 
    }
    
    //是否不显示界面，默认都是false
    //Executor.info(TAG, "thing=" + data);
    def noViewer = data.getBoolean("th_noThingRegistViewer");
    //println noViewer;
    if(noViewer == true){
        return;
    }
    
    //显示查看界面
    //log.info("thing=" + data);  
    //获取查看选中的事物的查看器，查看器是Thing，如果没有设置使用默认的
    //默认的参看openCompositeTab的if(swtThing == null){代码
    def viewer = null;
   
    if(viewer == null){
        viewer = actionContext.get("defaultViewer");
        //println "defualtViewer:" + viewer;
    }
    
    if(viewer == null && actionContext.get("forceUseDefaultOpenMethod") == false){
        //从事物本身获取查看器
        viewer = getViewer(data);
    }
    
    if(viewer == null){
        //从索引事物上获取查看器
        viewer = world.getThing(thing.getString("defaultViewer"));
    }
    //println viewer;    
    
    //Executor.info("ThingRegistor", "viewer = " + viewer);
    def contentDefaultOpenMethod = actionContext.get("contentDefaultOpenMethod");
    
    if(viewer != null || (contentDefaultOpenMethod != null 
        && contentDefaultOpenMethod != ""
        && contentDefaultOpenMethod != "null" 
        && contentDefaultOpenMethod != "thingDescBrowser")){
        //显示Composite
        actions.doAction("openCompositeTab", actionContext, "thing", data, "viewer", viewer,  "acContext", actionContext);   
    }else{            
        //显示事物的文档
        actions.doAction("openBrowserTab", actionContext, "thing", data, "acContext", actionContext);            
    }
    
    //触发事件等
    if(actionContext.get("downButton") != null){// && data.getThingName() == "ThingIndex"){
        downButton.setEnabled(true);
    }
    controlThing.doAction("selected", parentContext, ["thing": data, "item": item, "event": event]);
   
    //增加一次点击次数
    ThingUtils.addClickCount(data, 1);
}else{
    controlThing.doAction("selected", parentContext, ["thing": null, "item": item, "event": event]);
    if(actionContext.get("descBrowser") != null){
        //descBrowser.setText("");
    }
    
    if(actionContext.get("downButton") != null){
        downButton.setEnabled(false);
    }
}

def initDynamicNode(item, thing, actionContext){
    synchronized(item){
        def key = "__dynamic_node_inited__";
        if(item.getData(key) == null){
            //还没有初始化
            item.setData(key, true);
            def display = item.getParent().display;
            new Thread({
                def childs = thing.doAction("getChilds", actionContext);
                display.asyncExec({
                    if(childs != null){
                        try{
                            for(child in childs){
                                def childItem = new TreeItem(item, SWT.NONE);
                                childItem.setData(child);
                                XWorkerTreeUtil.initItem(childItem, child, actionContext)
                            }
                        }catch(Exception e){
                            e.printStackTrace();
                        }
                    }
                });
            }).start();
        }
    }
}

def getViewer(thing){
    //首先取自己的
    //println thing;
    def viewer = getViewer_(thing, thing.getStringBlankAsNull("th_thingRegistViewer"));
    
    if(viewer == null){
        for(desc in thing.getAllDescriptors()){
            //println desc;
            viewer = getViewer_(thing, desc.getStringBlankAsNull("th_thingRegistViewer"));
            if(viewer != null){
                return viewer;
            }
        }
    }

    if(viewer == null){
        for(extd in thing.getAllExtends()){
            // println "exted:" extd;
            viewer = getViewer_(thing, extd.getStringBlankAsNull("th_thingRegistViewer"));
            if(viewer != null){
                return viewer;
            }
        }
    }
    
    return viewer;
}

def getViewer_(thing, path){
    if(path == null){
        return null;
    }else if(path == "self"){
        return thing;
    }else{
        return world.getThing(path);
    }
}
#$@text#$@
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sswitchResult
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@GroovyAction
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    thingTreeSelection
    @/@actions/@getSelectedThing
    sname
    getThing
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
import org.xmeta.Thing;

//返回已选中的事物
def items = thingTree.getSelection();
if(items != null && items.length > 0){
    def data = items[0].getData();
    if(data instanceof Thing){
        return data;
    }
}

return null;
#$@text#$@
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sdescriptors
    xworker.lang.actions.Actions/@GroovyAction
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    getSelectedThing
    @/@actions/@getActionContext
    sname
    getActionContext
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
//返回注册事物创建的面板的上下文
if(actionContext.get("contentTabFolder") != null){    
    def item = contentTabFolder.getSelection();
    return item.getData("actionContext");
}else if(actionContext.get("contentComposite") != null){
    return conComposite.getData("actionContext");
}else{
    return null;
}
#$@text#$@
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@GroovyAction
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    getActionContext
    @/@actions/@refresh
    sname
    refresh
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
import xworker.lang.util.ThingUtils;

if(controlThing.getBoolean("cache")){    
    //查找所有，其他过滤在缓存里    
    //println actionContext.get("extraThings") ;
    if(actionContext.get("extraThings") != null){
        //println extraThings;
        ThingUtils.setSearchRegistLocal(extraThings);
    }
    
    def parent = controlThing.getBoolean("parent");
    things = controlThing.doAction("loadThings", actionContext, 
                "thing", thing, "type", type, "parent", parent);
//    things = ThingUtils.searchRegistThings(thing, type, [], actionContext);
    actionContext.getScope(0).put("things", things);
}

actions.doAction("search", actionContext);
#$@text#$@
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sswitchResult
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@GroovyAction
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    refresh
    @/@actions/@thingTreeDefaultSelection
    sname
    thingTreeDefaultSelection
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
import org.xmeta.Thing;

import xworker.lang.util.ThingUtils;
import xworker.swt.util.SwtUtils;

//通过事物树的选择事件，是thingTree的选择函数
def item = event != null ? event.item : thingTree.getSelection()[0];
def data = item.getData();
if(data instanceof Thing){
    if(data.getThingName() == "ReferenceIndex"){
        def thing = world.getThing(data.getString("thingPath"));
        if(thing != null){
            data = thing;
        }
    }
    if(data.getThingName() == "ThingIndex"){
        actions.doAction("downButtonSelection");
    }else{    
        if(actionContext.get("descBrowser") != null){
            SwtUtils.setThingDesc(data, descBrowser);
        }
        
        if(actionContext.get("downButton") != null && data.getThingName() == "ThingIndex"){
            downButton.setEnabled(true);
        }
        
        controlThing.doAction("defaultSelected", parentContext, ["thing": data, "item": item]);
    }
}else{
    controlThing.doAction("defaultSelected", parentContext, ["thing": null, "item": item]);
    if(actionContext.get("descBrowser") != null){
        descBrowser.setText("");
    }
    
    if(actionContext.get("downButton") != null){
        downButton.setEnabled(false);
    }
}
#$@text#$@
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sswitchResult
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@GroovyAction
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    thingTreeDefaultSelection
    @/@actions/@downButtonSelection
    sname
    downButtonSelection
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
//如果是TabFodler的显示内容，那么先清空所有
if(actionContext.get("contentTabFolder") != null && contentTabFolder.isDisposed() == false){
    for(item in contentTabFolder.getItems()){
        if(item.getControl() != null){
            item.getControl().dispose();
        }
        item.dispose();
    }
}

def thing = actions.doAction("getThing");
if(thing != null && thing.getThingName() == "ReferenceIndex"){
    def athing = world.getThing(thing.getString("thingPath"));
    if(athing != null){
        thing = athing;
    }
}

if(thing != null){// && thing.getThingName() == "ThingIndex"){
    thingList.add(thing);
    actionContext.getScope(0).put("things", null);
    actionContext.getScope(0).put("thing", thing);
    
    //def search = world.getAction("xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@search");
    //search.run(actionContext);
    if(actionContext.get("searchText") != null){
         searchText.setText("");
    }
    actions.doAction("search", actionContext, ["thing": thing]);
    
    if(actionContext.get("upButton") != null){
        upButton.setEnabled(true);
        homeButton.setEnabled(true);
    }
    
    actions.doAction("openHome");
}
#$@text#$@
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@GroovyAction
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    downButtonSelection
    @/@actions/@upButtonSelection
    sname
    upButtonSelection
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
if(thingList.size() <= 1){
    return;
}

//如果是TabFodler的显示内容，那么先清空所有
if(actionContext.get("contentTabFolder") != null && contentTabFolder.isDisposed() == false){
    for(item in contentTabFolder.getItems()){
        if(item.getControl() != null){
            item.getControl().dispose();
        }
        item.dispose();
    }
}

def thing = thingList.get(thingList.size() - 2);
thingList.remove(thingList.size() - 1);
actionContext.getScope(0).put("things", null);
actionContext.getScope(0).put("thing", thing);
if(actionContext.get("searchText") != null){
     searchText.setText("");
}
actions.doAction("search", actionContext, ["thing": thing]);

if(thingList.size() == 1){
    upButton.setEnabled(false);
    homeButton.setEnabled(false);
}

actions.doAction("openHome");
#$@text#$@
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@GroovyAction
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    upButtonSelection
    @/@actions/@homeButtonSelection
    sname
    homeButtonSelection
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
import xworker.lang.util.XWorkerUtils;
import xworker.lang.util.ThingUtils;
import org.xmeta.Thing;

if(thingList.size() > 1){
    //如果是TabFodler的显示内容，那么先清空所有
    if(actionContext.get("contentTabFolder") != null && contentTabFolder.isDisposed() == false){
        for(item in contentTabFolder.getItems()){
            if(item.getControl() != null){
                item.getControl().dispose();
            }
            item.dispose();
        }
    }
    
    def thing = thingList.get(0);
    actionContext.getScope(0).put("things", null);
    actionContext.getScope(0).put("thing", thing);
    actions.doAction("search", actionContext, ["thing": thing]);
    
    while(thingList.size() > 1){
        thingList.remove(thingList.size() - 1);
    }

    //homeButton.setEnabled(false);
    upButton.setEnabled(false);
}

//显示主页的信息
actions.doAction("openHome");
#$@text#$@
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@GroovyAction
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    homeButtonSelection
    @/@actions/@getIndexThing
    sname
    getIndexThing
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    scode
    return thing;
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@GroovyAction
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    getIndexThing
    @/@actions/@createThingTreeItem
    sname
    createThingTreeItem
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.TreeItem;

import xworker.swt.util.XWorkerTreeUtil;

def parent = thingTree;
if (thingTree.getSelectionCount() > 0) {
    parent = thingTree.getSelection()[0];
}

def item = new TreeItem(parent, SWT.NONE);
item.setData(thing);

XWorkerTreeUtil.initItem(item, thing, actionContext);

return item;
#$@text#$@
    sai_needGenerate
    false
    sai_rootThingXml
    true
    sai_promptContainsVars
    true
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sswitchResult
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@GroovyAction
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    createThingTreeItem
      @/@actions/@createThingTreeItem/@ins
      sisValidate
      false
      sname
      ins
      sdescriptors
      xworker.lang.actions.Inout/@ins
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_noThingRegistViewer
      false
      sth_fileMonitor
      false
      sth_mark
      false
      sth_registQueryOnlySelf
      false
      snotXmlAttribute
      false
      sjson_isArray
      false
      sgroupDescriptor
      false
      sai_needGenerate
      false
      sai_generateType
      create
      sai_promptContainsVars
      false
      sid
      ins
        @/@actions/@createThingTreeItem/@ins/@thing
        sname
        thing
        stype
        org.xmeta.Thing
        stypeCheck
        false
        soptional
        true
        scheck
        false
        scheckLevel
        exception
        sdescriptors
        xworker.lang.actions.Inout/@ins/@param
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_noThingRegistViewer
        false
        sth_fileMonitor
        false
        sth_mark
        false
        sth_registQueryOnlySelf
        false
        snotXmlAttribute
        false
        sjson_isArray
        false
        sgroupDescriptor
        false
        sai_needGenerate
        false
        sai_generateType
        create
        sai_promptContainsVars
        false
        sid
        thing
    @/@actions/@removeCurrentItem
    sname
    removeCurrentItem
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
import org.xmeta.Thing;

//返回已选中的事物
def items = thingTree.getSelection();
if(items != null && items.length > 0){
    items[0].dispose();
}

//search时数据清空，通知现在什么都没有选择
controlThing.doAction("selected", parentContext, ["thing": null]);

return null;
#$@text#$@
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@GroovyAction
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    removeCurrentItem
    @/@actions/@clear
    sname
    clear
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
//清空树
for(item in thingTree.getItems()){
    item.dispose();
}

actionContext.getScope(0).put("things", null);
#$@text#$@
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@GroovyAction
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    clear
    @/@actions/@searchTextKeyDown
    sname
    searchTextKeyDown
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
import org.eclipse.swt.SWT;

if(actionContext.get("thingTree") == null){
    return;
}

def items = thingTree.getSelection();
//如果没有选择选择第一个
if(items == null || items.length == 0){
    if(thingTree.getItems().length > 0){
        thingTree.select(thingTree.getItems()[0]);        
    }
    
    return;
}

//设第一个
def item = items[0];
if(event.keyCode == 16777217 && event.stateMask == SWT.CTRL){
    if(upButton.isEnabled()){
         upButtonSelection.handleEvent(null);
         return;
    }
}else if(event.keyCode == 16777218){
    //下
    def nextItem = getNextItem(thingTree, item);
    if(nextItem != null){
        thingTree.select(nextItem);
        thingTreeSelection.handleEvent(null);
    }else if(item.getItems().length > 0){
        thingTree.select(item.getItems()[0]);
        thingTreeSelection.handleEvent(null);
    }
}else if(event.keyCode == 16777220){
    //右
    if(item.getItems().length > 0){
        thingTree.select(item.getItems()[0]);
        thingTreeSelection.handleEvent(null);
    }
}else if(event.keyCode == 16777217){
    //上
    def nextItem = getPreItem(thingTree, item);
    if(nextItem != null){
         thingTree.select(nextItem);
         thingTreeSelection.handleEvent(null);
    }   
}else if(event.keyCode == 16777219){
    //左
    if(item.getParentItem() != null){
         thingTree.select(item.getParentItem());
         thingTreeSelection.handleEvent(null);
    }
}else if(event.keyCode == 13){
    //回车
    thingTreeDefaultSelection.handleEvent(null);
}

if(thingTree.isDisposed() == false){
    thingTree.showSelection();
}

def getNextItem(thingTree, item){
    if(item == null){
        return null;
    }
    
    def parent = item.getParentItem();
    if(parent == null){
        parent = thingTree;
    }
    
    def next = false;
    for(child in parent.getItems()){
        if(next){
            return child;
        }else if(child == item){
            next = true;
        }
    }
    
    return getNextItem(thingTree, item.getParentItem());
}

def getPreItem(thingTree, item){
    if(item == null){
        return null;
    }
    
    def parent = item.getParentItem();
    if(parent == null){
        parent = thingTree;
    }
    
    def preItem = null;
    for(child in parent.getItems()){
        if(child == item){
            if(preItem == null){
                return item.getParentItem();
            }else{
                return preItem;
            }
        }else{
            preItem = child;
        }
    }
    
    return getPreItem(thingTree, item.getParentItem());
}
#$@text#$@
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@GroovyAction
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    searchTextKeyDown
    @/@actions/@searchDelay
    sname
    searchDelay
    sdelay
    500
    sreservedVars
    thingTree,controlThing,downButton,searchText,categoryTree
    sinterpretationType
    Self
    sattributeTemplate
    false
    schildsAttributeTemplate
    false
    svarScope
    Local
    sisSynchronized
    false
    sthrowException
    true
    screateLocalVarScope
    false
    ssaveReturn
    false
    sdisableGlobalContext
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@DelayAction
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    searchDelay
      @/@actions/@searchDelay/@actions
      sname
      actions
      sdescriptors
      xworker.lang.actions.DelayAction/@actions1
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_mark
      false
      sid
      actions
        @/@actions/@searchDelay/@actions/@DisplayExec
        sname
        doTask
        swidgetForDisplay
        thingTree
        stype
        async
        svariables
        thingTree,controlThing,downButton,searchText,categoryTree
        scancelTaskOnWidgetDisposed
        false
        sinterpretationType
        Self
        sattributeTemplate
        false
        schildsAttributeTemplate
        false
        svarScope
        Local
        sisSynchronized
        false
        sthrowException
        true
        screateLocalVarScope
        false
        ssaveReturn
        false
        sswitchResult
        false
        sdisableGlobalContext
        false
        sdebugLog
        false
        sdescriptors
        xworker.swt.actions.DisplayActions/@DisplayExec
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        DisplayExec
          @/@actions/@searchDelay/@actions/@DisplayExec/@actions
          sname
          actions
          sdescriptors
          xworker.swt.actions.DisplayActions/@DisplayExec/@actions
          sinheritDescription
          false
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_registDisabled
          false
          sth_mark
          false
          sid
          actions
            @/@actions/@searchDelay/@actions/@DisplayExec/@actions/@doAction
            sname
            doAction
            srefActionPath
            xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@search1/@actions/@doAction
            skeepSelf
            true
            sinterpretationType
            Self
            sattributeTemplate
            false
            schildsAttributeTemplate
            false
            svarScope
            Local
            sisSynchronized
            false
            sthrowException
            true
            screateLocalVarScope
            false
            ssaveReturn
            false
            sswitchResult
            false
            sdisableGlobalContext
            false
            sdebugLog
            false
            sdescriptors
            xworker.lang.actions.Actions/@RefAction
            sinheritDescription
            false
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_registDisabled
            false
            sth_mark
            false
            sid
            doAction
    @/@actions/@menuDetect
    sname
    menuDetect
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
import org.xmeta.ui.session.SessionManager;
import xworker.lang.security.PermissionConstants;

import xworker.swt.util.SwtUtils;

def session = SessionManager.getSession(actionContext);
def canEditThing = session.isPermitted(PermissionConstants.XWOREKR_THING_MANAGER);

if(canEditThing){    
    createNewThing.setEnabled(true);
}else{
    createNewThing.setEnabled(false);
    copyParentpathItem.setEnabled(false);
}    
if(thingTree.getSelection().length <= 0 || !canEditThing){
    modifyGroupItem.setEnabled(false);
    modifyThingInfoItem.setEnabled(false);
    openMenuItem.setEnabled(false);
    executePopItem.setEnabled(false);
    copyPathMenu.setEnabled(false);
    showGroupMenuItem.setEnabled(false);
    return;
}

modifyGroupItem.setEnabled(true);
def treeItem = thingTree.getSelection()[0];
copyPathMenu.setEnabled(true);
showGroupMenuItem.setEnabled(true);
def data = treeItem.getData();
if(data instanceof String){
    modifyThingInfoItem.setEnabled(false);
    openMenuItem.setEnabled(false);
    executePopItem.setEnabled(false);
}else{
    modifyThingInfoItem.setEnabled(true);
    openMenuItem.setEnabled(true);
    executePopItem.setEnabled(true);    
}
#$@text#$@
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sswitchResult
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@GroovyAction
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    menuDetect
    @/@actions/@selectThing
    sname
    selectThing
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
if(actionContext.get("thing") == null){
    return;
}

if(thing instanceof String){
    thing = world.getThing(thing);
}

if(thing == null){
    return;
}
findThing(thingTree, thing);

def findThing(parentItem, thing){
    for(item in parentItem.getItems()){
        if(item.getData() == thing){
            thingTree.setSelection(item);
            
            actions.doAction("thingTreeSelection", actionContext, "event", ["item":item]);
            return;
        }
        
        findThing(item, thing);
    }
}
#$@text#$@
    sdescription
    <p>在树(thingTree变量)上选择一个事物，并执行相应的选择事件。</p>
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@GroovyAction
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    selectThing
      @/@actions/@selectThing/@ins
      sisValidate
      false
      sname
      ins
      sdescriptors
      xworker.lang.actions.Inout/@ins
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_mark
      false
      sid
      ins
        @/@actions/@selectThing/@ins/@thing
        sname
        thing
        stypeCheck
        false
        soptional
        true
        scheck
        false
        scheckLevel
        exception
        sdescription
        <p>Thing或事物的路径。</p>
        sdescriptors
        xworker.lang.actions.Inout/@ins/@param
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        thing
    @/@actions/@selectPath
    sname
    selectGroup
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
//处理分组信息
if(actionContext.get("group") == null){
    return;
}

if(group == null){
    return;
}

def gs = group.split("[.]");
//去掉权重
for(i=0; i<gs.length; i++){
    def index = gs[i].indexOf("|");
    if(index >= 0){
        gs[i] = gs[i].substring(index + 1, gs[i].length());
    }
}

for(item in thingTree.getItems()){
    findItem(item, gs, 0);
}

def findItem(item, groups, index){
    if(index >= groups.length){
        return;
    }
    
    def group = groups[index];
    if(item.getText() == group){
        thingTree.setSelection(item);
    }
    for(citem in item.getItems()){
        findItem(citem, groups, index + 1);
    }
}
#$@text#$@
    Sdescription
#$@text#$@
<p>在树(thingTree变量）上选择一个分组，分组是字符串，如xxx.xxx.xxx的格式，中间用英文句号分割。</p>

<p>查找时会忽略权重，如果有。</p>

<p>&nbsp;</p>
#$@text#$@
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sswitchResult
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@GroovyAction
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    selectPath
      @/@actions/@selectPath/@ins
      sisValidate
      false
      sname
      ins
      sdescriptors
      xworker.lang.actions.Inout/@ins
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_mark
      false
      sid
      ins
        @/@actions/@selectPath/@ins/@path
        sname
        group
        stype
        String
        stypeCheck
        false
        soptional
        true
        scheck
        false
        scheckLevel
        exception
        sdescriptors
        xworker.lang.actions.Inout/@ins/@param
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        path
    @/@actions/@utilBrowserSelectThing
    sname
    utilBrowserSelectThing
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
import xworker.lang.util.UtilData;

//注册器的
def actions = UtilData.getParentCcontextActionContainer(actionContext, "actions", "xworker.swt.xworker.prototype.ThingRegistSelector/@actions");
actions.doAction("selectThing", actionContext, ["thing": thing]);
#$@text#$@
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@GroovyAction
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    utilBrowserSelectThing
    @/@actions/@utilBrowserSelectGroup
    sname
    utilBrowserSelectGroup
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
import xworker.lang.util.UtilData;

//注册器的
//println(group);
def actions = UtilData.getParentCcontextActionContainer(actionContext, "actions", "xworker.swt.xworker.prototype.ThingRegistSelector/@actions");
actions.doAction("selectGroup", actionContext, ["group": group]);
#$@text#$@
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@GroovyAction
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    utilBrowserSelectGroup
    @/@actions/@getRootControl
    sname
    getRootControl
    svarName
    rootControl
    sinterpretationType
    Self
    sattributeTemplate
    false
    schildsAttributeTemplate
    false
    svarScope
    Local
    sisSynchronized
    false
    sthrowException
    true
    screateLocalVarScope
    false
    ssaveReturn
    false
    sdisableGlobalContext
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@GetVariable1
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    getRootControl
    @/@actions/@openBrowserTab
    sname
    openBrowserTab
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
import org.eclipse.swt.custom.CTabItem;
import org.eclipse.swt.SWT;

import org.xmeta.ActionContext;
import xworker.lang.util.XWorkerUtils;
import xworker.swt.util.SwtUtils;

//TabFolder的显示方式
//println(actionContext.get("contentComposite"));
if(actionContext.get("contentTabFolder") != null){    
    //tabItem的key，一个事物只打开一个tabItem
    def key = thing.getMetadata().getPath() + "_TabItem";
    
    //选中TabItem，如果已经存在
    for(tabItem in contentTabFolder.getItems()){
        if(tabItem.getData("tabKey") == key){
            contentTabFolder.setSelection(tabItem);
            return;
        }
    }
    
    //创建新的TabItem
    def ac = new ActionContext();
    ac.put("parent", contentTabFolder);
    ac.put("parentContext", actionContext);
    ac.put("contentHandler", contentHandler);
    
    def tabItemThing = world.getThing("xworker.swt.xworker.prototype.ThingRegistSelector/@mainTabFolder/@CTabItem");
    def tabItem = tabItemThing.doAction("create", ac);
    tabItem.setText(thing.getMetadata().getLabel());
    
    def compositeThing = world.getThing("xworker.swt.xworker.prototype.ThingRegistSelector/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@contentComposie/@descComposite");
    ac.peek().put("parent", contentTabFolder);
    def composite = compositeThing.doAction("create", ac);
    tabItem.setControl(composite);
    tabItem.setData("tabKey", key);
    
    //设置属性
    SwtUtils.setThingDesc(thing, ac.descBrowser);
    contentTabFolder.setSelection(tabItem);
}else if(actionContext.get("contentComposite") != null){
    //Composite的显示方式
    SwtUtils.setThingDesc(thing, descBrowser);
    contentCompositeStackLayout.topControl = descComposite;
    contentComposite.layout();
    //contentComposite.getParent().layout();
}
#$@text#$@
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sswitchResult
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@GroovyAction
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    openBrowserTab
      @/@actions/@openBrowserTab/@ins
      sisValidate
      false
      sname
      ins
      sdescriptors
      xworker.lang.actions.Inout/@ins
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_mark
      false
      sid
      ins
        @/@actions/@openBrowserTab/@ins/@thing
        sname
        thing
        slabel
        事物
        stype
        Thing
        stypeCheck
        false
        soptional
        true
        scheck
        false
        scheckLevel
        exception
        sdescriptors
        xworker.lang.actions.Inout/@ins/@param
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        thing
    @/@actions/@openCompositeTab
    sname
    openCompositeTab
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
import org.eclipse.swt.custom.CTabItem;
import org.eclipse.swt.SWT;

import org.xmeta.ActionContext;
import org.xmeta.Thing;
import xworker.lang.util.XWorkerUtils;

def swtThing = viewer;
if(swtThing == null){
    //使用传入的默认打开方式
    swtThing = new Thing("xworker.swt.xworker.ThingRegistThing");
    swtThing.set("type", contentDefaultOpenMethod);
    def path = thing.getMetadata().getPath();
    if(contentDefaultOpenMethod == "thingRegist"){
        path = "child|" + path;
    }
    swtThing.set("path", path);
}
if(actionContext.get("contentTabFolder") != null){    
    //TabFolder的显示方式
    //tabItem的key，一个事物只打开一个tabItem
    def key = thing.getMetadata().getPath() + "_TabItem";
    
    //选中TabItem，如果已经存在
    for(tabItem in contentTabFolder.getItems()){
        if(tabItem.getData("tabKey") == key){
            contentTabFolder.setSelection(tabItem);
            return;
        }
    }
    
    //创建新的TabItem
    def ac = new ActionContext();
    ac.put("parent", contentTabFolder);
    ac.put("parentContext", acContext);
    ac.put("thing", thing);
    ac.put("contentHandler", contentHandler);
    def composite = swtThing.doAction("create", ac);
    //log.info("" + swtThing);
    
    ac.peek().put("parent", contentTabFolder);
    def tabItemThing = world.getThing("xworker.swt.xworker.prototype.ThingRegistSelector/@mainTabFolder/@CTabItem");
    def tabItem = tabItemThing.doAction("create", ac);
    tabItem.setText(thing.getMetadata().getLabel());
    
    //println thing.getMetadata().getPath();
    
    tabItem.setControl(composite);
    tabItem.setData("tabKey", key);
    tabItem.setData("actionContext", ac);
    
    contentTabFolder.setSelection(tabItem);
}else if(actionContext.get("contentComposite") != null){
    //Composite的显示方式
    //清空原有节点
    for(child in conComposite.getChildren()){
        child.dispose();
    }
    
    def ac = new ActionContext();
    ac.put("parent", conComposite);
    ac.put("parentContext", acContext);
    ac.put("thing", thing);
    ac.put("contentHandler", contentHandler);
    swtThing.doAction("create", ac);
    conComposite.setData("actionContext", ac);
    conComposite.layout();
    
    contentCompositeStackLayout.topControl = conComposite;
    contentComposite.layout();
    //contentComposite.getParent().layout();
    //println "xxxxxx";
}

def isCompoisteThing(data){
    if((data.isThing("xworker.swt.widgets.Composite") && !data.isThing("xworker.swt.widgets.Shell"))
        || data.isThing("xworker.swt.xworker.ThingRegistComposite")
        || data.isThing("xworker.swt.xworker.ThingRegistThing")){
         return true;
    }else{
        return false;
    }
}
#$@text#$@
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sswitchResult
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@GroovyAction
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    openCompositeTab
      @/@actions/@openCompositeTab/@ins
      sisValidate
      false
      sname
      ins
      sdescriptors
      xworker.lang.actions.Inout/@ins
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_mark
      false
      sid
      ins
        @/@actions/@openCompositeTab/@ins/@thing
        sname
        thing
        slabel
        事物
        stype
        Thing
        stypeCheck
        false
        soptional
        true
        scheck
        false
        scheckLevel
        exception
        sdescriptors
        xworker.lang.actions.Inout/@ins/@param
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        thing
    @/@actions/@openHome
    sname
    openHome
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
import org.xmeta.ActionContext;
import xworker.lang.util.XWorkerUtils;
import xworker.lang.util.ThingUtils;

//显示主页
if(thing == null){
    return;
}

if(actionContext.get("contentTabFolder") != null){
    //TabFoder显示方式
    for(tabItem in contentTabFolder.getItems()){
        if(tabItem.getData("tabKey") == "home"){
            contentTabFolder.setSelection(tabItem);
            return;
        }
    }
    
    def ac = new ActionContext();
    ac.put("parent", contentTabFolder);
    ac.put("parentContext", actionContext);
    
    def tabItemThing = world.getThing("xworker.swt.xworker.prototype.ThingRegistSelector/@mainTabFolder/@CTabItem");
    def tabItem = tabItemThing.doAction("create", ac);
    if(thing != null){
        tabItem.setText(thing.getMetadata().getLabel());
    }
    
    def compositeThing = getThingResgitHomeComposite(thing, actionContext);//world.getThing("xworker.swt.xworker.prototype.ThingRegistSelector/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@contentComposie/@homeComposite");
    ac.peek().put("parent", contentTabFolder);
    def composite = compositeThing.doAction("create", ac, "thing", thing, "type", type);
    tabItem.setControl(composite);
    tabItem.setData("tabKey", "home");
    
    contentTabFolder.setSelection(tabItem);    
}else if(actionContext.get("contentComposite") != null){
    //清空原有节点
    for(child in conComposite.getChildren()){
        child.dispose();
    }
    
    //获取主页
    def compositeThing = getThingResgitHomeComposite(thing, actionContext);
    def ac = new ActionContext();
    ac.put("parent", conComposite);
    ac.put("parentContext", actionContext);
    compositeThing.doAction("create", ac, "thing", thing, "type", type);
    conComposite.layout();
    
    contentCompositeStackLayout.topControl = conComposite;
    contentComposite.layout();
}

def getThingResgitHomeComposite(thing, actionContext){
    def compositeThing = null;
    if(thing != null){
        compositeThing = thing.doAction("getThingResgitHomeComposite", actionContext);
    }
    //println thing;
    //println compositeThing;
    if(compositeThing == null){
        return world.getThing("xworker.swt.xworker.prototype.ThingRegistSelector/@mainTabFolder/@searchDescRightCompositeITem/@mainSashForm/@contentComposie/@homeComposite");
    }else{
        return compositeThing;
    }
}
#$@text#$@
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@GroovyAction
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    openHome
    @/@actions/@setChecked
    sname
    setChecked
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
import org.xmeta.Thing;

def world = world;
for(item in thingTree.getItems()){
    setChecked(item, things);
    //println item;
}

def have(thing, things){
   for(t in things){
       if(thing == t){
           return true;
       }else if(thing.getMetadata().getPath() == t){
           return true;
       }
   }
   
   return false;
}

def setChecked(item, things){
    def data = item.getData();
    if(data instanceof Thing){
        if(have(data, things)){
            item.setChecked(true);
        }else{
            item.setChecked(false);
        }
    }else{
        item.setChecked(false);
    }
    
    for(childItem in item.getItems()){
        setChecked(childItem, things);
    }
}
#$@text#$@
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sswitchResult
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@GroovyAction
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    setChecked
      @/@actions/@setChecked/@ins
      sisValidate
      false
      sname
      ins
      sdescriptors
      xworker.lang.actions.Inout/@ins
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_mark
      false
      sid
      ins
        @/@actions/@setChecked/@ins/@things
        sname
        things
        stypeCheck
        false
        soptional
        true
        scheck
        false
        scheckLevel
        exception
        sdescriptors
        xworker.lang.actions.Inout/@ins/@param
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        things
    @/@actions/@getCheckedThings
    sname
    getCheckedThings
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
import org.xmeta.Thing;

def things = [];
for(item in thingTree.getItems()){
    getChecked(item, things);
}
return things;

def getChecked(item, things){
    def data = item.getData();
    if(item.getChecked() && data instanceof Thing){
        things.add(data);
    }
    
    for(childItem in item.getItems()){
        getChecked(childItem, things);
    }
}
#$@text#$@
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@GroovyAction
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    getCheckedThings
    @/@actions/@search1
    sname
    search
    stype
    async
    scancelTaskOnWidgetDisposed
    false
    sinterpretationType
    Self
    sattributeTemplate
    false
    schildsAttributeTemplate
    false
    svarScope
    Local
    sisSynchronized
    false
    sthrowException
    true
    screateLocalVarScope
    false
    ssaveReturn
    false
    sdisableGlobalContext
    false
    sdebugLog
    false
    sdescriptors
    xworker.swt.actions.DisplayActions/@DisplayExec
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    search1
      @/@actions/@search1/@actions
      sname
      actions
      sdescriptors
      xworker.swt.actions.DisplayActions/@DisplayExec/@actions
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_mark
      false
      sid
      actions
        @/@actions/@search1/@actions/@doAction
        sname
        doAction
        sisSynchronized
        false
        sthrowException
        true
        suseOtherAction
        false
        svarScope
        Local
        sdisableGlobalContext
        false
        Scode
#$@text#$@
import org.xmeta.Thing;

import xworker.lang.util.ThingUtils;
import xworker.lang.util.XWorkerUtils;
import xworker.swt.util.XWorkerTreeUtil;

import org.eclipse.swt.widgets.TreeItem;
if(thingTree.isDisposed()){
    return;
}
//为防止刷新太快，最快每秒一次查询
/*
def lastSearchTime = actionContext.get("lastSearchTime");
if(lastSearchTime != null && System.currentTimeMillis() - lastSearchTime < 500){
    return;    
}
actionContext.put("lastSearchTime", System.currentTimeMillis());
*/

//显示到结果上
thingTree.removeAll();
//for(item in thingTree.getItems()){
//    item.dispose();
//}

//search时数据清空，通知现在什么都没有选择
controlThing.doAction("selected", parentContext, ["thing": null]);

if(actionContext.get("downButton") != null){
    downButton.setEnabled(false);
}

//查找子事物
def keywords = [];
def keystr = actionContext.get("keywords");
if(keystr != null){
    if(keystr != ""){
        for(key in keystr.split("[ ]")){
            keywords.add(key);
        }
    }
}

def questThing = thing;
//println("search=" + thing);
if(actionContext.get("searchText") != null){
    keystr = searchText.getText().toLowerCase().trim();
    keywords.clear();
    if(keystr != ""){
        for(key in keystr.split("[ ]")){
            keywords.add(key);
        }
    }
}

if(actionContext.get("categoryTree") != null){
    def items = categoryTree.getSelection();
    if(items != null && items.length > 0){
        def item = items[0];
        def data = item.getData();
        if(data instanceof Thing){
            questThing = data;
        }
    }
}

def things = null;
if(controlThing.getBoolean("cache")){
    things = actionContext.get("things");
}
if(things == null){
    //设置额外的索引事物
    //println actionContext.get("extraThings") ;
    if(actionContext.get("extraThings") != null){
        //println extraThings;
        ThingUtils.setSearchRegistLocal(extraThings);
    }

    def parent = controlThing.getBoolean("parent");
    if(controlThing.getBoolean("cache")){
        //查找所有，其他过滤在缓存里
        things = controlThing.doAction("loadThings", actionContext, 
                "thing", thing, "type", type, "parent", parent);
        //things = ThingUtils.searchRegistThings(thing, type, [], parent, actionContext);
        actionContext.getScope(0).put("things", things);
    }else{
        things = controlThing.doAction("loadThings", actionContext, 
                "thing", thing, "type", type, "parent", parent);
        //things = ThingUtils.searchRegistThings(thing, type, [], parent, actionContext);
    }
}

//暂时全部从全部数据中直接查找
//if(controlThing.getBoolean("cache")){
/*
    def dess = [];
    for(des in things){        
        //过滤关键字
        def add = true;
        for(keyword in keywords){
            if(keyword != "" && keyword != null){
                if(!isMatchThing(keyword, des)){
                    add = false;
                }
                /*
                def desKeys = des.getString("th_keywords");
                def ok = false;
                if(desKeys != null && desKeys.toLowerCase().indexOf(keyword) != -1){
                    ok = true;
                }
                //if(!ok && des.getMetadata().getPath().toLowerCase().indexOf(keyword) != -1){
                //    ok = true;
               // }
                if(!ok){
                    def group = des.getString("group");
                    if(group != null && group.toLowerCase().indexOf(keyword) != -1){
                        ok = true;
                    }
                }
                if(!ok && des.getMetadata().getLabel().toLowerCase().indexOf(keyword) != -1){
                    ok = true;
                }
                if(!ok){
                    add = false;
                    break;
                }*/
/*            }
        }
        
        if(add){
            dess.add(des);         
        }        
    }
    things = dess;
//}
*/
if(actionContext.get("thing") == null){
    return;
}

def indexThingPath = thing.getMetadata().getPath();
def thingGroups = XWorkerUtils.getThingGroups(things, indexThingPath);

//println "xworker.swt.xworker.prototype.ThingRegistSelector.p_1289985463.doAction: " + indexThingPath;
def filterThings = actionContext.get("filterThings");
if(filterThings != null && filterThings.size() > 0){
    //用指定的模型过滤
    thingGroups = XWorkerUtils.getThingGroups(thingGroups, filterThings);
} 
//搜索
for(thingGroup in thingGroups){
    thingGroup.setVisibleByKeys(keywords);
}

XWorkerTreeUtil.showGroupsOnTree(indexThingPath, thingGroups, thingTree, actionContext);

if(actionContext.get("expandCache") != null){
    expandCache.setCachePath(thing.getMetadata().getPath());
}


//展开第一层的节点
//if(thingTree.getItems().length == 1){
//    thingTree.getItems()[0].setExpanded(true);
//}
if(keywords.size() > 0){
    expand(thingTree);
}    

if(controlThing != null){
    controlThing.doAction("loaded", parentContext, ["thing": thing, "things": things, "type": type]);
}

def expand(item){
    for(childItem in item.getItems()){
        expand(childItem);
    }
    
    if(item instanceof TreeItem){
        item.setExpanded(true);
    }
}

def isMatchThing(String key, Thing thing){
    if(isMatch(key, thing.getStringBlankAsNull("th_keywords"))){
        return true;
    }
    if(isMatch(key, thing.getStringBlankAsNull("group"))){
        return true;
    }
    if(isMatch(key, thing.getStringBlankAsNull("en_group"))){
        return true;
    }
    if(isMatch(key, thing.getStringBlankAsNull("label"))){
        return true;
    }
    if(isMatch(key, thing.getStringBlankAsNull("en_label"))){
        return true;
    }
    if(isMatch(key, thing.getStringBlankAsNull("zh_label"))){
        return true;
    }
    if(isMatch(key, thing.getStringBlankAsNull("zh_group"))){
        return true;
    }
    if(isMatch(key, thing.getStringBlankAsNull("name"))){
        return true;
    }
    
    return false;
}

def isMatch(String key, String value){
    if(value == null || "" == value){
        return false;
    }else{
        return value.toLowerCase().indexOf(key) != -1
    }
}
#$@text#$@
        sinterpretationType
        Action
        screateLocalVarScope
        false
        ssaveReturn
        false
        sswitchResult
        false
        sdebugLog
        false
        sdescriptors
        xworker.lang.actions.Actions/@GroovyAction
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        doAction
    @/@actions/@setExtraThings
    sname
    setExtraThings
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    scode
    actionContext.g().put("extraThings", extraThings);
    sdescription
    <p>设置额外的在查询时会附加的索引事物。</p>
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@GroovyAction
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    setExtraThings
      @/@actions/@setExtraThings/@ins
      sisValidate
      false
      sname
      ins
      sdescriptors
      xworker.lang.actions.Inout/@ins
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_mark
      false
      sid
      ins
        @/@actions/@setExtraThings/@ins/@extraThings
        sname
        extraThings
        stype
        List<String>
        stypeCheck
        false
        soptional
        true
        scheck
        false
        scheckLevel
        exception
        sdescriptors
        xworker.lang.actions.Inout/@ins/@param
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        extraThings
    @/@actions/@setSearchKey
    sname
    setSearchKey
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
if(actionContext.get("key") != null && actionContext.get("searchText") != null 
    && !searchText.isDisposed()){
    searchText.setText(key);    
}
#$@text#$@
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@GroovyAction
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    setSearchKey
      @/@actions/@setSearchKey/@ins
      sisValidate
      false
      sname
      ins
      sdescriptors
      xworker.lang.actions.Inout/@ins
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_mark
      false
      sid
      ins
        @/@actions/@setSearchKey/@ins/@key
        sname
        key
        stype
        String
        stypeCheck
        false
        soptional
        true
        scheck
        false
        scheckLevel
        exception
        sdescriptors
        xworker.lang.actions.Inout/@ins/@param
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        key
    @/@actions/@setThings
    sname
    setThings
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
actionContext.g().put("things",things);
actions.doAction("search", actionContext);
#$@text#$@
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@GroovyAction
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_fileMonitor
    false
    sth_mark
    false
    sid
    setThings
    @/@actions/@getControl
    sname
    getControl
    svarName
    rootControl
    sdescription
    <p>返回组件的根容器。</p>
    sinterpretationType
    Self
    sattributeTemplate
    false
    schildsAttributeTemplate
    false
    svarScope
    Local
    sisSynchronized
    false
    sthrowException
    true
    screateLocalVarScope
    false
    ssaveReturn
    false
    sswitchResult
    false
    sdisableGlobalContext
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@GetVariable1
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_fileMonitor
    false
    sth_mark
    false
    sid
    getControl
    @/@actions/@getContentHandler
    sname
    getContentHandler
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    scode
    return actionContext.get("contentHandler");
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sswitchResult
    false
    sdebugLog
    false
    sdescriptors
    xworker.groovy.GroovyAction
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_noThingRegistViewer
    false
    sth_fileMonitor
    false
    sth_mark
    false
    sth_registQueryOnlySelf
    false
    snotXmlAttribute
    false
    sjson_isArray
    false
    sid
    getContentHandler
    @/@actions/@setClipboard1
    sname
    setClipboard
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
import xworker.lang.util.XWorkerUtils;

if(XWorkerUtils.isRWT()){
    prompt(actionContext);
}else{
    setToClipboard(actionContext);
}
#$@text#$@
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sswitchResult
    false
    sdebugLog
    false
    sdescriptors
    xworker.groovy.GroovyAction
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_noThingRegistViewer
    false
    sth_fileMonitor
    false
    sth_mark
    false
    sth_registQueryOnlySelf
    false
    snotXmlAttribute
    false
    sjson_isArray
    false
    sid
    setClipboard1
      @/@actions/@setClipboard1/@ActionDefined
      sname
      ActionDefined
      sdescriptors
      xworker.lang.actions.Inout/@ActionDefined
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_noThingRegistViewer
      false
      sth_fileMonitor
      false
      sth_mark
      false
      sth_registQueryOnlySelf
      false
      snotXmlAttribute
      false
      sjson_isArray
      false
      sid
      ActionDefined
        @/@actions/@setClipboard1/@ActionDefined/@setClipboard
        sname
        setToClipboard
        stype
        string
        scontent
        var:content
        sinterpretationType
        Self
        sattributeTemplate
        false
        schildsAttributeTemplate
        false
        svarScope
        Local
        sisSynchronized
        false
        sthrowException
        true
        screateLocalVarScope
        false
        ssaveReturn
        false
        sswitchResult
        false
        sdisableGlobalContext
        false
        sdebugLog
        false
        sdescriptors
        xworker.core.java.util.Clipboard
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        setClipboard
        @/@actions/@setClipboard1/@ActionDefined/@prompt
        sname
        prompt
        stitle
        lang:d=拷贝&en=Copy
        stext
        var:content
        sinterpretationType
        Self
        sattributeTemplate
        false
        schildsAttributeTemplate
        false
        svarScope
        Local
        sisSynchronized
        false
        sthrowException
        true
        suseOtherAction
        false
        screateLocalVarScope
        false
        ssaveReturn
        false
        sswitchResult
        false
        sdisableGlobalContext
        false
        sdebugLog
        false
        sdescriptors
        xworker.swt.actions.MessageBoxActions/@Prompt
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_noThingRegistViewer
        false
        sth_fileMonitor
        false
        sth_mark
        false
        sth_registQueryOnlySelf
        false
        snotXmlAttribute
        false
        sjson_isArray
        false
        sid
        prompt
    @/@actions/@getThings
    sname
    getThings
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
//返回当前树上展示的所有模型列表
import org.xmeta.Thing;

def things = [];
def context = [:];
if(actionContext.get("selected") != null && selected){
    for(item in thingTree.getSelection()){
        getThing(item, things, context);
    }
}else{
    for(item in thingTree.getItems()){
        getThing(item, things, context);
    }
}
return things;

def getThing(item, things, context){
    def data = item.getData();
    if(data instanceof Thing){
        def path = data.getMetadata().getPath();
        if(context.get(path) == null){
            things.add(data);
            context.put(path, path);
        }
    }
    
    for(childItem in item.getItems()){
        getThing(childItem, things, context);
    }
}
#$@text#$@
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sswitchResult
    false
    sdebugLog
    false
    sdescriptors
    xworker.groovy.GroovyAction
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_noThingRegistViewer
    false
    sth_fileMonitor
    false
    sth_mark
    false
    sth_registQueryOnlySelf
    false
    snotXmlAttribute
    false
    sjson_isArray
    false
    sid
    getThings
      @/@actions/@getThings/@ins
      sisValidate
      false
      sname
      ins
      sdescriptors
      xworker.lang.actions.Inout/@ins
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_noThingRegistViewer
      false
      sth_fileMonitor
      false
      sth_mark
      false
      sth_registQueryOnlySelf
      false
      snotXmlAttribute
      false
      sjson_isArray
      false
      sid
      ins
        @/@actions/@getThings/@ins/@selected
        sname
        selected
        stype
        java.lang.Boolean
        stypeCheck
        false
        soptional
        true
        scheck
        false
        scheckLevel
        exception
        sdescriptors
        xworker.lang.actions.Inout/@ins/@param
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_noThingRegistViewer
        false
        sth_fileMonitor
        false
        sth_mark
        false
        sth_registQueryOnlySelf
        false
        snotXmlAttribute
        false
        sjson_isArray
        false
        sid
        selected
    @/@actions/@exportToQuickContentSet
    sname
    exportToQuickContentSet
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
import org.xmeta.Thing;

//导出为QuickContentSet模型
def things = actions.doAction("getThings", actionContext);

def set = new Thing("xworker.lang.content.QuickConentSet");
set.set("name", thing.getMetadata().getName() + "Set");
set.set("label", thing.getMetadata().getLabel());

for(th in things){ 
    def ref = new Thing("xworker.lang.content.QuickContentRef");
    ref.getAttributes().putAll(th.getAttributes());
    ref.set("descriptors", "xworker.lang.content.QuickContentRef");
    ref.set("th_registThing", "null");
    ref.set("th_createIndex", "false");
    ref.set("quickContent", th.getMetadata().getPath());
    set.addChild(ref);
}

return set;
#$@text#$@
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sswitchResult
    false
    sdebugLog
    false
    sdescriptors
    xworker.groovy.GroovyAction
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_noThingRegistViewer
    false
    sth_fileMonitor
    false
    sth_mark
    false
    sth_registQueryOnlySelf
    false
    snotXmlAttribute
    false
    sjson_isArray
    false
    sid
    exportToQuickContentSet
      @/@actions/@exportToQuickContentSet/@ins
      sisValidate
      false
      sname
      ins
      sdescriptors
      xworker.lang.actions.Inout/@ins
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_noThingRegistViewer
      false
      sth_fileMonitor
      false
      sth_mark
      false
      sth_registQueryOnlySelf
      false
      snotXmlAttribute
      false
      sjson_isArray
      false
      sid
      ins
        @/@actions/@exportToQuickContentSet/@ins/@selected
        sname
        selected
        stype
        java.lang.Boolean
        stypeCheck
        false
        soptional
        true
        scheck
        false
        scheckLevel
        exception
        sdescriptors
        xworker.lang.actions.Inout/@ins/@param
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_noThingRegistViewer
        false
        sth_fileMonitor
        false
        sth_mark
        false
        sth_registQueryOnlySelf
        false
        snotXmlAttribute
        false
        sjson_isArray
        false
        sid
        selected
    @/@actions/@setFilterThings
    sname
    setFilterThings
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
actionContext.g().put("filterThings", filterThings);

actions.doAction("search", actionContext);
#$@text#$@
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sswitchResult
    false
    sdebugLog
    false
    sdescriptors
    xworker.groovy.GroovyAction
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_noThingRegistViewer
    false
    sth_fileMonitor
    false
    sth_mark
    false
    sth_registQueryOnlySelf
    false
    snotXmlAttribute
    false
    sjson_isArray
    false
    sgroupDescriptor
    false
    sid
    setFilterThings
      @/@actions/@setFilterThings/@ins
      sisValidate
      false
      sname
      ins
      sdescriptors
      xworker.lang.actions.Inout/@ins
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_noThingRegistViewer
      false
      sth_fileMonitor
      false
      sth_mark
      false
      sth_registQueryOnlySelf
      false
      snotXmlAttribute
      false
      sjson_isArray
      false
      sgroupDescriptor
      false
      sid
      ins
        @/@actions/@setFilterThings/@ins/@filterThings
        sname
        filterThings
        stype
        java.util.List<Thing>
        stypeCheck
        false
        soptional
        true
        scheck
        false
        scheckLevel
        exception
        sdescriptors
        xworker.lang.actions.Inout/@ins/@param
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_noThingRegistViewer
        false
        sth_fileMonitor
        false
        sth_mark
        false
        sth_registQueryOnlySelf
        false
        snotXmlAttribute
        false
        sjson_isArray
        false
        sgroupDescriptor
        false
        sid
        filterThings
    @/@actions/@getViewerContext
    sname
    getViewerContext
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
//返回指定模型的查看器的上下文，如果存在的话。可用于和查看器交互。
//println thing;
if(actionContext.get("contentTabFolder") != null){    
    //TabFolder的显示方式
    //tabItem的key，一个事物只打开一个tabItem
    def key = thing.getMetadata().getPath() + "_TabItem";
    
    //选中TabItem，如果已经存在
    for(tabItem in contentTabFolder.getItems()){
        if(tabItem.getData("tabKey") == key){
            return tabItem.getData("actionContext");
        }
    }
} else if(actionContext.get("contentComposite") != null){
    //Composite的显示方式
    def ac = conComposite.getData("actionContext");
    if (ac != null && ac.get("thing") == thing) {
        return ac;
    }
}

return null;
#$@text#$@
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sswitchResult
    false
    sdebugLog
    false
    sdescriptors
    xworker.groovy.GroovyAction
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_noThingRegistViewer
    false
    sth_fileMonitor
    false
    sth_mark
    false
    sth_registQueryOnlySelf
    false
    snotXmlAttribute
    false
    sjson_isArray
    false
    sgroupDescriptor
    false
    sid
    getViewerContext
      @/@actions/@getViewerContext/@ins
      sisValidate
      false
      sname
      ins
      sdescriptors
      xworker.lang.actions.Inout/@ins
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_noThingRegistViewer
      false
      sth_fileMonitor
      false
      sth_mark
      false
      sth_registQueryOnlySelf
      false
      snotXmlAttribute
      false
      sjson_isArray
      false
      sgroupDescriptor
      false
      sid
      ins
        @/@actions/@getViewerContext/@ins/@thing
        sname
        thing
        stype
        org.xmeta.Thing
        stypeCheck
        false
        soptional
        true
        scheck
        false
        scheckLevel
        exception
        sdescriptors
        xworker.lang.actions.Inout/@ins/@param
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_noThingRegistViewer
        false
        sth_fileMonitor
        false
        sth_mark
        false
        sth_registQueryOnlySelf
        false
        snotXmlAttribute
        false
        sjson_isArray
        false
        sgroupDescriptor
        false
        sid
        thing
  @/@init
  sname
  init
  sisSynchronized
  false
  sthrowException
  true
  suseOtherAction
  false
  svarScope
  Local
  sdisableGlobalContext
  false
  Scode
#$@text#$@
import xworker.swt.xworker.content.SwtQuickContentHandler;

actionContext.g().put("contentHandler", new SwtQuickContentHandler());

def thing = world.getThing("xworker.function.Functions");
actions.doAction("init", actionContext, ["thing":thing, "type":"child"]);
#$@text#$@
  sinterpretationType
  Action
  screateLocalVarScope
  false
  ssaveReturn
  false
  sswitchResult
  false
  sdebugLog
  false
  sdescriptors
  xworker.swt.Widgets/@Code
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  init
  @/@thingTreePopMenu
  sname
  thingTreePopMenu
  sstyle
  POP_UP
  sNO_RADIO_GROUP
  false
  salign
  LEFT_TO_RIGHT
  svisible
  true
  senabled
  true
  sdescriptors
  xworker.swt.Widgets/@Menu
  sinheritDescription
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_registDisabled
  false
  sth_mark
  false
  sid
  thingTreePopMenu
    @/@thingTreePopMenu/@createNewThing
    sname
    createNewThing
    stext
    label:xworker.swt.xworker.prototype.ThingRegistSelector/@resources/@I18nResource/@thingTreePopMenu/@createNewThing
    sstyle
    PUSH
    sselected
    false
    senabled
    true
    sdescriptors
    xworker.swt.widgets.Menu/@MenuItem
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    createNewThing
      @/@thingTreePopMenu/@createNewThing/@listeners
      sname
      listeners
      sdescriptors
      xworker.swt.events.Listeners/@listeners
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_mark
      false
      sid
      listeners
        @/@thingTreePopMenu/@createNewThing/@listeners/@createNewThingSelection
        sname
        createNewThingSelection
        stype
        Selection
        sdescriptors
        xworker.swt.events.Listeners/@listeners/@Listener
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        createNewThingSelection
          @/@thingTreePopMenu/@createNewThing/@listeners/@createNewThingSelection/@OpenShellDialog
          sname
          selectIndexDialog
          sasync
          true
          sinterpretationType
          Self
          sattributeTemplate
          false
          schildsAttributeTemplate
          false
          svarScope
          Local
          sisSynchronized
          false
          sthrowException
          true
          screateLocalVarScope
          false
          ssaveReturn
          false
          sdisableGlobalContext
          false
          sdebugLog
          false
          sdescriptors
          xworker.swt.actions.ShellActions/@ShellDialog
          sinheritDescription
          false
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_registDisabled
          false
          sth_mark
          false
          sid
          OpenShellDialog
            @/@thingTreePopMenu/@createNewThing/@listeners/@createNewThingSelection/@OpenShellDialog/@ActionDefined
            sname
            ActionDefined
            sdescriptors
            xworker.lang.actions.Inout/@ActionDefined
            sinheritDescription
            false
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_registDisabled
            false
            sth_mark
            false
            sid
            ActionDefined
              @/@thingTreePopMenu/@createNewThing/@listeners/@createNewThingSelection/@OpenShellDialog/@ActionDefined/@getDescriptor1
              sname
              getDescriptor
              stitle
              选择描述者
              sshell
              ognl:searchButton.getShell()
              sinterpretationType
              Self
              sattributeTemplate
              false
              schildsAttributeTemplate
              false
              svarScope
              Local
              sisSynchronized
              false
              sthrowException
              true
              screateLocalVarScope
              false
              ssaveReturn
              false
              sdisableGlobalContext
              false
              sdebugLog
              false
              sdescriptors
              xworker.swt.actions.DialogActions/@SelectThingFromListDialog
              sinheritDescription
              false
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_registDisabled
              false
              sth_mark
              false
              sid
              getDescriptor1
                @/@thingTreePopMenu/@createNewThing/@listeners/@createNewThingSelection/@OpenShellDialog/@ActionDefined/@getDescriptor1/@actions
                sname
                actions
                sdescriptors
                xworker.lang.actions.SelfAction/@actions1
                sinheritDescription
                false
                sth_createIndex
                false
                sth_registMyChilds
                false
                sth_registDisabled
                false
                sth_mark
                false
                sid
                actions
                  @/@thingTreePopMenu/@createNewThing/@listeners/@createNewThingSelection/@OpenShellDialog/@ActionDefined/@getDescriptor1/@actions/@getThings
                  sname
                  getThings
                  sisSynchronized
                  false
                  sthrowException
                  true
                  suseOtherAction
                  false
                  svarScope
                  Local
                  sdisableGlobalContext
                  false
                  Scode
#$@text#$@
import org.xmeta.Thing;

//选择分组对话框的结果
actionContext.g().put("create_groups", result);

def things = [];
def desc = actionContext.get("descritporForNewThing");
//println(desc);
if(desc == null){
    desc = controlThing.doAction("getDescritporForNewThing", actionContext);
    //println(desc);
    //println(controlThing);
}
if(desc == null){
    desc = "xworker.lang.MetaDescriptor3";
}

//索引模型
if(actionContext.get("thing") != null){
    //println "ddddddddddddddddddddddddddddd: " + thing.getMetadata().getPath();
    def tdescs = thing.doAction("getDescritporForNewThing", actionContext);
    if(tdescs != null){
       for(tdesc in tdescs){      
            if(desc == null){
                desc = tdesc.getMetadata().getPath();
            }else{
                if (tdesc instanceof Thing) {
                    desc = desc + "," + tdesc.getMetadata().getPath();
                } else if (tdesc instanceof String) {
                    desc = desc + "," + tdesc;   
                } else {
                    println "xworker.swt.xworker.prototype.ThingRegistSelector.p2031692892.getThings: unsupport type " + tdesc;
                }
            }
        }
    }
}

//println "desc=" + desc;
//println thing;
if(controlThing.getBoolean("descritporChilds")){
    for(des in desc.split("[,]")){    
        def th = world.getThing(des);
        if(th != null){
            for(t in th.getChilds()){
                addThings(things, t.getMetadata().getPath());
            }
        }
    }
}else{
    for(des in desc.split("[,]")){    
        addThings(things, des);
    }
}
addThings(things, "xworker.lang.content.QuickContent");
//addThings(things, "xworker.lang.util.ThingIndex");
//addThings(things, "xworker.swt.xworker.thingregist.Browser");
//addThings(things, "xworker.swt.xworker.thingregist.Composite");
//addThings(things, "xworker.swt.xworker.thingregist.ThingExampleAndTemplate");
//addThings(things, "xworker.swt.xworker.ThingRegistDynamicNode");

//println "getDescriptors type=" + _g.get("type")

return things;

def addThings(things, thing){
     if(things.contains(thing)){
         return;
     }else{
         things.add(thing);
     }
     
}
#$@text#$@
                  sai_needGenerate
                  false
                  sai_rootThingXml
                  true
                  sai_promptContainsVars
                  true
                  sinterpretationType
                  Action
                  screateLocalVarScope
                  false
                  ssaveReturn
                  false
                  sswitchResult
                  false
                  sdebugLog
                  false
                  sdescriptors
                  xworker.lang.actions.Actions/@GroovyAction
                  sinheritDescription
                  false
                  sth_createIndex
                  false
                  sth_registMyChilds
                  false
                  sth_registDisabled
                  false
                  sth_mark
                  false
                  sid
                  getThings
                  @/@thingTreePopMenu/@createNewThing/@listeners/@createNewThingSelection/@OpenShellDialog/@ActionDefined/@getDescriptor1/@actions/@ok
                  sname
                  ok
                  srefActionPath
                  xworker.swt.xworker.prototype.ThingRegistSelector/@thingTreePopMenu/@createNewThing/@listeners/@createNewThingSelection/@OpenShellDialog/@ActionDefined/@CreateThing
                  skeepSelf
                  true
                  sinterpretationType
                  Self
                  sattributeTemplate
                  false
                  schildsAttributeTemplate
                  false
                  svarScope
                  Local
                  sisSynchronized
                  false
                  sthrowException
                  true
                  screateLocalVarScope
                  false
                  ssaveReturn
                  false
                  sdisableGlobalContext
                  false
                  sdebugLog
                  false
                  sdescriptors
                  xworker.lang.actions.Actions/@RefAction
                  sinheritDescription
                  false
                  sth_createIndex
                  false
                  sth_registMyChilds
                  false
                  sth_registDisabled
                  false
                  sth_mark
                  false
                  sid
                  ok
              @/@thingTreePopMenu/@createNewThing/@listeners/@createNewThingSelection/@OpenShellDialog/@ActionDefined/@CreateThing
              sname
              openCreateThingDialog
              sshell
              ognl:searchButton.getShell()
              sdescriptor
              xworker.lang.MetaDescriptor3
              sinterpretationType
              Self
              sattributeTemplate
              false
              schildsAttributeTemplate
              false
              svarScope
              Local
              sisSynchronized
              false
              sthrowException
              true
              screateLocalVarScope
              false
              ssaveReturn
              false
              sdisableGlobalContext
              false
              sdebugLog
              false
              sdescriptors
              xworker.ide.worldexplorer.actions.ExplorerActions/@CreateThing
              sinheritDescription
              false
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_registDisabled
              false
              sth_mark
              false
              sid
              CreateThing
                @/@thingTreePopMenu/@createNewThing/@listeners/@createNewThingSelection/@OpenShellDialog/@ActionDefined/@CreateThing/@actions
                sname
                actions
                sdescriptors
                xworker.lang.actions.SelfAction/@actions1
                sinheritDescription
                false
                sth_createIndex
                false
                sth_registMyChilds
                false
                sth_registDisabled
                false
                sth_mark
                false
                sid
                actions
                  @/@thingTreePopMenu/@createNewThing/@listeners/@createNewThingSelection/@OpenShellDialog/@ActionDefined/@CreateThing/@actions/@getAttributes
                  sname
                  getAttributes
                  sisSynchronized
                  false
                  sthrowException
                  true
                  suseOtherAction
                  false
                  svarScope
                  Local
                  sdisableGlobalContext
                  false
                  Scode
#$@text#$@
import xworker.swt.util.SwtDialog;
import org.xmeta.ActionContext;
import org.xmeta.Thing;

def groups = create_groups;

def params = [:];
//println "getAttribute type=" + _g.get("type")
//println "controlThing=" + controlThing;
putAttrs(params, actionContext.get("thing"), actionContext);
putAttrs(params, actionContext.get("controlThing"), actionContext);
params.putAll([
     "th_createIndex":"true",
     "th_registThing":type + "|" + create_indexPath,
     "group":groups.group,
     "en_group":groups.en_group,
     "zh_group":groups.zh_group,
]);

return params;

def putAttrs(params, thing, actionContext){
    if(actionContext.get("thing") != null && thing.getActionThing("getNewThingAttributes") != null){
        def attrs = thing.doAction("getNewThingAttributes", actionContext);
        if(attrs != null){
            params.putAll(attrs);
        }
    }
}
#$@text#$@
                  sinterpretationType
                  Action
                  screateLocalVarScope
                  false
                  ssaveReturn
                  false
                  sdebugLog
                  false
                  sdescriptors
                  xworker.lang.actions.Actions/@GroovyAction
                  sinheritDescription
                  false
                  sth_createIndex
                  false
                  sth_registMyChilds
                  false
                  sth_registDisabled
                  false
                  sth_mark
                  false
                  sid
                  getAttributes
                  @/@thingTreePopMenu/@createNewThing/@listeners/@createNewThingSelection/@OpenShellDialog/@ActionDefined/@CreateThing/@actions/@getDescriptor
                  sname
                  getDescriptor
                  svarName
                  result
                  sinterpretationType
                  Self
                  sattributeTemplate
                  false
                  schildsAttributeTemplate
                  false
                  svarScope
                  Local
                  sisSynchronized
                  false
                  sthrowException
                  true
                  screateLocalVarScope
                  false
                  ssaveReturn
                  false
                  sdisableGlobalContext
                  false
                  sdebugLog
                  false
                  sdescriptors
                  xworker.lang.actions.Actions/@GetVariable1
                  sinheritDescription
                  false
                  sth_createIndex
                  false
                  sth_registMyChilds
                  false
                  sth_registDisabled
                  false
                  sth_mark
                  false
                  sid
                  getDescriptor
              @/@thingTreePopMenu/@createNewThing/@listeners/@createNewThingSelection/@OpenShellDialog/@ActionDefined/@ok
              sname
              openSetGroupDialog
              sasync
              true
              sdescription
              <p>设置分组。</p>
              sinterpretationType
              Self
              sattributeTemplate
              false
              schildsAttributeTemplate
              false
              svarScope
              Local
              sisSynchronized
              false
              sthrowException
              true
              screateLocalVarScope
              false
              ssaveReturn
              false
              sdisableGlobalContext
              false
              sdebugLog
              false
              sdescriptors
              xworker.swt.actions.ShellActions/@ShellDialog
              sinheritDescription
              false
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_registDisabled
              false
              sth_mark
              false
              sid
              ok
                @/@thingTreePopMenu/@createNewThing/@listeners/@createNewThingSelection/@OpenShellDialog/@ActionDefined/@ok/@actions
                sname
                actions
                sdescriptors
                xworker.lang.actions.SelfAction/@actions1
                sinheritDescription
                false
                sth_createIndex
                false
                sth_registMyChilds
                false
                sth_registDisabled
                false
                sth_mark
                false
                sid
                actions
                  @/@thingTreePopMenu/@createNewThing/@listeners/@createNewThingSelection/@OpenShellDialog/@ActionDefined/@ok/@actions/@getShell
                  sname
                  getShell
                  sisSynchronized
                  false
                  sthrowException
                  true
                  suseOtherAction
                  false
                  svarScope
                  Local
                  sdisableGlobalContext
                  false
                  Scode
#$@text#$@
import xworker.swt.util.SwtDialog;
import org.xmeta.ActionContext;
import org.xmeta.Thing;

//获取索引事物
def ac = new ActionContext();
ac.put("parent", thingTree.getShell());
ac.put("thing", thing);
ac.put("extraThings", actionContext.get("extraThings"));

def indexPath = result;
ac.put("result", null);
//设置分组信息
def groups = [:];
def item = thingTree.getSelection();
if(item != null && item.length > 0){
    item = item[0];
    //获取第一个事物
    while(!(item.getData() instanceof Thing)){
        def ok = false;
        for(it in item.getItems()){
            if(it.getData() instanceof Thing){
                item = it;
                ok = true;
                break;
            }
        }
        
        if(ok){
            break;
        }else{
            item = item.getItems()[0];
        }
    }
    
    //此时data肯定是Thing
    def data = item.getData();
    groups.put("group", data.getString("group"));
    groups.put("zh_group", data.getString("zh_group"));
    groups.put("en_group", data.getString("en_group"));
}

ac.put("parent", thingTree.getShell());
dthing = world.getThing("xworker.swt.xworker.prototype.ModifyGroupDialog");
shell = dthing.doAction("create", ac);
shell.setData("actionContext", ac);
ac.form.doAction("setValues", ac, "values", groups);
actionContext.g().put("create_indexPath", indexPath);

return shell;
#$@text#$@
                  sinterpretationType
                  Action
                  screateLocalVarScope
                  false
                  ssaveReturn
                  false
                  sdebugLog
                  false
                  sdescriptors
                  xworker.lang.actions.Actions/@GroovyAction
                  sinheritDescription
                  false
                  sth_createIndex
                  false
                  sth_registMyChilds
                  false
                  sth_registDisabled
                  false
                  sth_mark
                  false
                  sid
                  getShell
                  @/@thingTreePopMenu/@createNewThing/@listeners/@createNewThingSelection/@OpenShellDialog/@ActionDefined/@ok/@actions/@ok
                  sname
                  ok
                  srefActionPath
                  xworker.swt.xworker.prototype.ThingRegistSelector/@thingTreePopMenu/@createNewThing/@listeners/@createNewThingSelection/@OpenShellDialog/@ActionDefined/@getDescriptor1
                  skeepSelf
                  true
                  sinterpretationType
                  Self
                  sattributeTemplate
                  false
                  schildsAttributeTemplate
                  false
                  svarScope
                  Local
                  sisSynchronized
                  false
                  sthrowException
                  true
                  screateLocalVarScope
                  false
                  ssaveReturn
                  false
                  sdisableGlobalContext
                  false
                  sdebugLog
                  false
                  sdescriptors
                  xworker.lang.actions.Actions/@RefAction
                  sinheritDescription
                  false
                  sth_createIndex
                  false
                  sth_registMyChilds
                  false
                  sth_registDisabled
                  false
                  sth_mark
                  false
                  sid
                  ok
            @/@thingTreePopMenu/@createNewThing/@listeners/@createNewThingSelection/@OpenShellDialog/@actions
            sname
            actions
            sdescriptors
            xworker.lang.actions.SelfAction/@actions1
            sinheritDescription
            false
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_registDisabled
            false
            sth_mark
            false
            sid
            actions
              @/@thingTreePopMenu/@createNewThing/@listeners/@createNewThingSelection/@OpenShellDialog/@actions/@getShell
              sname
              getShell
              sisSynchronized
              false
              sthrowException
              true
              suseOtherAction
              false
              svarScope
              Local
              sdisableGlobalContext
              false
              Scode
#$@text#$@
import xworker.swt.util.SwtDialog;
import org.xmeta.ActionContext;
import org.xmeta.Thing;

//获取索引事物
def ac = new ActionContext();
ac.put("parent", thingTree.getShell());
ac.put("thing", thing);
ac.put("extraThings", actionContext.get("extraThings"));
//println "condition1 type=" + _g.get("type")
def dthing = world.getThing("xworker.swt.xworker.prototype.ThingRegistIndexShell");
def shell = dthing.doAction("create", ac);
shell.setData("actionContext", ac);

return shell;
#$@text#$@
              sinterpretationType
              Action
              screateLocalVarScope
              false
              ssaveReturn
              false
              sdebugLog
              false
              sdescriptors
              xworker.lang.actions.Actions/@GroovyAction
              sinheritDescription
              false
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_registDisabled
              false
              sth_mark
              false
              sid
              getShell
              @/@thingTreePopMenu/@createNewThing/@listeners/@createNewThingSelection/@OpenShellDialog/@actions/@ok
              sname
              ok
              srefActionPath
              xworker.swt.xworker.prototype.ThingRegistSelector/@thingTreePopMenu/@createNewThing/@listeners/@createNewThingSelection/@OpenShellDialog/@ActionDefined/@ok
              skeepSelf
              true
              sinterpretationType
              Self
              sattributeTemplate
              false
              schildsAttributeTemplate
              false
              svarScope
              Local
              sisSynchronized
              false
              sthrowException
              true
              screateLocalVarScope
              false
              ssaveReturn
              false
              sdisableGlobalContext
              false
              sdebugLog
              false
              sdescriptors
              xworker.lang.actions.Actions/@RefAction
              sinheritDescription
              false
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_registDisabled
              false
              sth_mark
              false
              sid
              ok
    @/@thingTreePopMenu/@openMenuItem
    sname
    openMenuItem
    stext
    label:xworker.swt.xworker.prototype.ThingRegistSelector/@resources/@I18nResource/@thingTreePopMenu/@openMenuItem
    sselected
    false
    senabled
    false
    sdescriptors
    xworker.swt.widgets.Menu/@MenuItem
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    openMenuItem
      @/@thingTreePopMenu/@openMenuItem/@listeners
      sname
      listeners
      sdescriptors
      xworker.swt.events.Listeners/@listeners
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_mark
      false
      sid
      listeners
        @/@thingTreePopMenu/@openMenuItem/@listeners/@openMenuItemSelection
        sname
        openMenuItemSelection
        stype
        Selection
        sdescriptors
        xworker.swt.events.Listeners/@listeners/@Listener
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        openMenuItemSelection
          @/@thingTreePopMenu/@openMenuItem/@listeners/@openMenuItemSelection/@OpenThing
          sname
          OpenThing
          screateIfNotExists
          false
          sinterpretationType
          Self
          sattributeTemplate
          false
          schildsAttributeTemplate
          false
          svarScope
          Local
          sisSynchronized
          false
          sthrowException
          true
          screateLocalVarScope
          false
          ssaveReturn
          false
          sdisableGlobalContext
          false
          sdebugLog
          false
          sdescriptors
          xworker.ide.worldexplorer.actions.ExplorerActions/@OpenThing
          sinheritDescription
          false
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_registDisabled
          false
          sth_mark
          false
          sid
          OpenThing
            @/@thingTreePopMenu/@openMenuItem/@listeners/@openMenuItemSelection/@OpenThing/@actions
            sname
            actions
            sdescriptors
            xworker.lang.actions.SelfAction/@actions1
            sinheritDescription
            false
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_registDisabled
            false
            sth_mark
            false
            sid
            actions
              @/@thingTreePopMenu/@openMenuItem/@listeners/@openMenuItemSelection/@OpenThing/@actions/@getThing
              sname
              getThing
              sisSynchronized
              false
              sthrowException
              true
              suseOtherAction
              false
              svarScope
              Local
              sdisableGlobalContext
              false
              Scode
#$@text#$@
import org.xmeta.Thing;
import xworker.lang.util.Clipboard;
import xworker.lang.util.XWorkerUtils;
import xworker.swt.util.SwtUtils;

if(thingTree.getSelection().length <= 0){
    return;
}

def treeItem = thingTree.getSelection()[0];
def data = treeItem.getData();
if(data instanceof String){
    return null;
}else{
    return data;
}
#$@text#$@
              sinterpretationType
              Action
              screateLocalVarScope
              false
              ssaveReturn
              false
              sdebugLog
              false
              sdescriptors
              xworker.lang.actions.Actions/@GroovyAction
              sinheritDescription
              false
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_registDisabled
              false
              sth_mark
              false
              sid
              getThing
    @/@thingTreePopMenu/@modifyThingInfoItem
    sname
    modifyThingInfoItem
    stext
    label:xworker.swt.xworker.prototype.ThingRegistSelector/@resources/@I18nResource/@thingTreePopMenu/@modifyThingInfoItem
    sselected
    false
    senabled
    false
    sdescriptors
    xworker.swt.widgets.Menu/@MenuItem
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    modifyThingInfoItem
      @/@thingTreePopMenu/@modifyThingInfoItem/@listeners
      sname
      listeners
      sdescriptors
      xworker.swt.events.Listeners/@listeners
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_mark
      false
      sid
      listeners
        @/@thingTreePopMenu/@modifyThingInfoItem/@listeners/@modifyGroupSelection
        sname
        modifyTingSelection
        stype
        Selection
        sdescriptors
        xworker.swt.events.Listeners/@listeners/@Listener
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        modifyGroupSelection
          @/@thingTreePopMenu/@modifyThingInfoItem/@listeners/@modifyGroupSelection/@GroovyAction
          sname
          GroovyAction
          sisSynchronized
          false
          sthrowException
          true
          suseOtherAction
          false
          svarScope
          Local
          sdisableGlobalContext
          false
          Scode
#$@text#$@
import org.xmeta.Thing;
import org.xmeta.ActionContext;

import xworker.lang.util.XWorkerUtils;
import xworker.swt.util.SwtUtils;

if(thingTree.getSelection().length <= 0){
    return;
}

def treeItem = thingTree.getSelection()[0];
def data = treeItem.getData();
if(data instanceof String){
}else{
    def ac = new ActionContext();
    ac.put("parent", thingTree.getShell());
    ac.put("thing", data);
    
    def thing = world.getThing("xworker.swt.xworker.prototype.ModifyGroupAndRegistShell");
    def shell = thing.doAction("create", ac);
    ac.thingForm.doAction("setValues", ac, ["values":data.getAttributes()]);
    shell.setVisible(true);
}
#$@text#$@
          sinterpretationType
          Action
          screateLocalVarScope
          false
          ssaveReturn
          false
          sdebugLog
          false
          sdescriptors
          xworker.lang.actions.Actions/@GroovyAction
          sinheritDescription
          false
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_registDisabled
          false
          sth_mark
          false
          sid
          GroovyAction
    @/@thingTreePopMenu/@executePopItem
    sname
    executePopItem
    stext
    label:xworker.swt.xworker.prototype.ThingRegistSelector/@resources/@I18nResource/@thingTreePopMenu/@executePopItem
    sselected
    false
    senabled
    false
    sdescriptors
    xworker.swt.widgets.Menu/@MenuItem
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    executePopItem
      @/@thingTreePopMenu/@executePopItem/@listeners
      sname
      listeners
      sdescriptors
      xworker.swt.events.Listeners/@listeners
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_mark
      false
      sid
      listeners
        @/@thingTreePopMenu/@executePopItem/@listeners/@showRegistTypeMenuItemSelection
        sname
        executePopMenuItemSelection
        stype
        Selection
        sdescriptors
        xworker.swt.events.Listeners/@listeners/@Listener
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        showRegistTypeMenuItemSelection
          @/@thingTreePopMenu/@executePopItem/@listeners/@showRegistTypeMenuItemSelection/@GroovyAction
          sname
          GroovyAction
          sisSynchronized
          false
          sthrowException
          true
          suseOtherAction
          false
          svarScope
          Local
          sdisableGlobalContext
          false
          Scode
#$@text#$@
import org.xmeta.Thing;
import org.xmeta.ActionContext;
import xworker.lang.util.XWorkerUtils;

if(thingTree.getSelection().length <= 0){
    return;
}

def treeItem = thingTree.getSelection()[0];
def data = treeItem.getData();
//println "data=" + data;
if(data instanceof String){
    return;
}else{
    //data是Thing
    XWorkerUtils.ideOpenThingTab(data);
    /*
    def quickContentEditor = world.getThing("xworker.swt.app.editors.QuickContentEditor");
    def params = ["thing": data];
    XWorkerUtils.openEditor("quickContent:" + data.getMetadata().getPath(),
         quickContentEditor, params);
    */
    // XWorkerUtils.ideOpenComposite(data, ["contentHandler": contentHandler]);
    //data;
    /*
    def ac = new ActionContext();
    ac.put("parentContext", actionContext);
    data.doAction("execute", ac);
    */
    //println("xxxxxxxxxxxxxxx");
//    actions.doAction("setClipboard", actionContext, ["content": data.getMetadata().getPath()]);
}
#$@text#$@
          sinterpretationType
          Action
          screateLocalVarScope
          false
          ssaveReturn
          false
          sswitchResult
          false
          sdebugLog
          false
          sdescriptors
          xworker.lang.actions.Actions/@GroovyAction
          sinheritDescription
          false
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_registDisabled
          false
          sth_mark
          false
          sid
          GroovyAction
    @/@thingTreePopMenu/@splimentMenuItem
    sname
    splimentMenuItem
    sstyle
    SEPARATOR
    sselected
    false
    senabled
    true
    sdescriptors
    xworker.swt.widgets.Menu/@MenuItem
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    splimentMenuItem
    @/@thingTreePopMenu/@modifyGroupListener
    sname
    modifyGroupItem
    stext
    label:xworker.swt.xworker.prototype.ThingRegistSelector/@resources/@I18nResource/@thingTreePopMenu/@modifyGroupItem
    sstyle
    PUSH
    sselected
    false
    senabled
    false
    sdescriptors
    xworker.swt.widgets.Menu/@MenuItem
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    modifyGroupListener
      @/@thingTreePopMenu/@modifyGroupListener/@listeners
      sname
      listeners
      sdescriptors
      xworker.swt.events.Listeners/@listeners
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_mark
      false
      sid
      listeners
        @/@thingTreePopMenu/@modifyGroupListener/@listeners/@modifyGroupSelection
        sname
        modifyGroupSelection
        stype
        Selection
        sdescriptors
        xworker.swt.events.Listeners/@listeners/@Listener
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        modifyGroupSelection
          @/@thingTreePopMenu/@modifyGroupListener/@listeners/@modifyGroupSelection/@GroovyAction
          sname
          GroovyAction
          sisSynchronized
          false
          sthrowException
          true
          suseOtherAction
          false
          svarScope
          Local
          sdisableGlobalContext
          false
          Scode
#$@text#$@
import org.xmeta.Thing;
import org.xmeta.ActionContext;

import xworker.lang.util.XWorkerUtils;
import xworker.swt.util.SwtUtils;
import xworker.swt.util.SwtDialog;

if(thingTree.getSelection().length <= 0){
    return;
}

//修改分组的对话框
def ac = new ActionContext();
ac.put("parent", thingTree.getShell());
def dialogThing = world.getThing("xworker.swt.xworker.prototype.ModifyGroupDialog");
def dialogShell = dialogThing.doAction("create", ac);
def values = [:];
def type = "thing";
def treeItem = thingTree.getSelection()[0];
def data = treeItem.getData();
if(data instanceof String){
    values.put("group", data);
    type = "string";
    
    //中文英文的分组设置无效
    ac.form.doAction("getInput", ac, "name", "en_group").setEnabled(false);
    ac.form.doAction("getInput", ac, "name", "zh_group").setEnabled(false); 
}else{
    def group = data.getStringBlankAsNull("group");
    if(group == null){
        group = "";
    }
    values.put("group", group);
    values.put("zh_group", data.get("zh_group"));
    values.put("en_group", data.get("en_group"));
}
//设置表单数据
ac.form.doAction("setValues", ac, "values", values);
def result = SwtDialog.open(dialogShell, ac);
if(result != null){
    if(type == "thing"){
        data.put("group", result.get("group"));
        data.put("zh_group", result.get("zh_group"));
        data.put("en_group", result.get("en_group"));
        data.save();
    }else{
        modifyItem(treeItem, data, result.get("group"), "group", [:]);
        modifyItem(treeItem, data, result.get("group"), "zh_group", [:]);
        modifyItem(treeItem, data, result.get("group"), "en_group", [:]);
        //if(values.get("zh_group") != null && values.get("zh_group") != ""){
        //    modifyItem(treeItem, data, values.get("zh_group"), "zh_group", [:]);
        //}
        //if(values.get("en_group") != null && values.get("en_group") != ""){
        //    modifyItem(treeItem, data, values.get("en_group"), "en_group", [:]);
        //}
    }
    
    actions.doAction("refresh", actionContext);
}


def modifyItem(treeItem, oldGroup, newGroup, attrName, result){
    def data = treeItem.getData();
    if(data instanceof Thing){
         def thing = world.getThing(data.getMetadata().getPath());
         if(thing.getMetadata().getThingManager().isSaveable() == false){
              return;
         }
         if(thing != null){
             def group = thing.getStringBlankAsNull(attrName);
             if(group != null){
                 def changed = false;
                 def gstr = null;
                 for(g in group.split("[,]")){
                     if(g.startsWith(oldGroup)){
                          g = newGroup + g.substring(oldGroup.length(), g.length());                          
                          changed = true;
                     }
                     if(gstr != null){
                          gstr = gstr + "," + g;
                      }else{
                          gstr = g;
                      }
                 }
                 
                 if(changed){
                     thing.set(attrName, gstr);
                     thing.save();
                 }
             }
         }
    }
    
    for(item in treeItem.getItems()){
        modifyItem(item, oldGroup, newGroup, attrName, result);
    }
}
#$@text#$@
          sinterpretationType
          Action
          screateLocalVarScope
          false
          ssaveReturn
          false
          sdebugLog
          false
          sdescriptors
          xworker.lang.actions.Actions/@GroovyAction
          sinheritDescription
          false
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_registDisabled
          false
          sth_mark
          false
          sid
          GroovyAction
    @/@thingTreePopMenu/@splitButton
    sname
    splitButton
    sstyle
    SEPARATOR
    sselected
    false
    senabled
    true
    sdescriptors
    xworker.swt.widgets.Menu/@MenuItem
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    splitButton
    @/@thingTreePopMenu/@copyPathMenu
    sname
    copyPathMenu
    stext
    label:xworker.swt.xworker.prototype.ThingRegistSelector/@resources/@I18nResource/@thingTreePopMenu/@copyPathMenu
    sselected
    false
    senabled
    false
    sdescriptors
    xworker.swt.widgets.Menu/@MenuItem
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    copyPathMenu
      @/@thingTreePopMenu/@copyPathMenu/@listeners
      sname
      listeners
      sdescriptors
      xworker.swt.events.Listeners/@listeners
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_mark
      false
      sid
      listeners
        @/@thingTreePopMenu/@copyPathMenu/@listeners/@modifyGroupSelection
        sname
        copyPathSelection
        stype
        Selection
        sdescriptors
        xworker.swt.events.Listeners/@listeners/@Listener
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        modifyGroupSelection
          @/@thingTreePopMenu/@copyPathMenu/@listeners/@modifyGroupSelection/@GroovyAction
          sname
          GroovyAction
          sisSynchronized
          false
          sthrowException
          true
          suseOtherAction
          false
          svarScope
          Local
          sdisableGlobalContext
          false
          Scode
#$@text#$@
import org.xmeta.Thing;
import xworker.lang.util.Clipboard;
import xworker.lang.util.XWorkerUtils;
import xworker.swt.util.SwtUtils;

if(thingTree.getSelection().length <= 0){
    return;
}

def treeItem = thingTree.getSelection()[0];
def data = treeItem.getData();
if(data instanceof String){
    actions.doAction("setClipboard", actionContext, ["content": data]);
}else{
    actions.doAction("setClipboard", actionContext, ["content": data.getMetadata().getPath()]);
}
#$@text#$@
          sinterpretationType
          Action
          screateLocalVarScope
          false
          ssaveReturn
          false
          sdebugLog
          false
          sdescriptors
          xworker.lang.actions.Actions/@GroovyAction
          sinheritDescription
          false
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_registDisabled
          false
          sth_mark
          false
          sid
          GroovyAction
    @/@thingTreePopMenu/@copyParentpathItem
    sname
    copyParentpathItem
    stext
    label:xworker.swt.xworker.prototype.ThingRegistSelector/@resources/@I18nResource/@thingTreePopMenu/@copyParentpathItem
    sselected
    false
    senabled
    true
    sdescriptors
    xworker.swt.widgets.Menu/@MenuItem
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    copyParentpathItem
      @/@thingTreePopMenu/@copyParentpathItem/@listeners
      sname
      listeners
      sdescriptors
      xworker.swt.events.Listeners/@listeners
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_mark
      false
      sid
      listeners
        @/@thingTreePopMenu/@copyParentpathItem/@listeners/@modifyGroupSelection
        sname
        copyPathSelection
        stype
        Selection
        sdescriptors
        xworker.swt.events.Listeners/@listeners/@Listener
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        modifyGroupSelection
          @/@thingTreePopMenu/@copyParentpathItem/@listeners/@modifyGroupSelection/@GroovyAction
          sname
          GroovyAction
          sisSynchronized
          false
          sthrowException
          true
          suseOtherAction
          false
          svarScope
          Local
          sdisableGlobalContext
          false
          Scode
#$@text#$@
import org.xmeta.Thing;
import xworker.lang.util.Clipboard;
import xworker.lang.util.XWorkerUtils;
import xworker.swt.util.SwtUtils;

if(thing != null){
    actions.doAction("setClipboard", actionContext, ["content": thing.getMetadata().getPath()]);
}
#$@text#$@
          sinterpretationType
          Action
          screateLocalVarScope
          false
          ssaveReturn
          false
          sdebugLog
          false
          sdescriptors
          xworker.lang.actions.Actions/@GroovyAction
          sinheritDescription
          false
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_registDisabled
          false
          sth_mark
          false
          sid
          GroovyAction
    @/@thingTreePopMenu/@splitMenu2
    sname
    splitMenu2
    sstyle
    SEPARATOR
    sselected
    false
    senabled
    true
    sdescriptors
    xworker.swt.widgets.Menu/@MenuItem
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    splitMenu2
    @/@thingTreePopMenu/@showRegistTypeMenuItem
    sname
    showRegistTypeMenuItem
    stext
    label:xworker.swt.xworker.prototype.ThingRegistSelector/@resources/@I18nResource/@thingTreePopMenu/@showRegistTypeMenuItem
    sselected
    false
    senabled
    true
    sdescriptors
    xworker.swt.widgets.Menu/@MenuItem
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    showRegistTypeMenuItem
      @/@thingTreePopMenu/@showRegistTypeMenuItem/@listeners
      sname
      listeners
      sdescriptors
      xworker.swt.events.Listeners/@listeners
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_mark
      false
      sid
      listeners
        @/@thingTreePopMenu/@showRegistTypeMenuItem/@listeners/@showRegistTypeMenuItemSelection
        sname
        showRegistTypeMenuItemSelection
        stype
        Selection
        sdescriptors
        xworker.swt.events.Listeners/@listeners/@Listener
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        showRegistTypeMenuItemSelection
          @/@thingTreePopMenu/@showRegistTypeMenuItem/@listeners/@showRegistTypeMenuItemSelection/@showTypeDialog
          sname
          showTypeDialog
          sisSynchronized
          false
          sthrowException
          true
          suseOtherAction
          false
          svarScope
          Local
          sdisableGlobalContext
          false
          Scode
#$@text#$@
import org.xmeta.ActionContext;
import xworker.lang.util.ThingUtils;

def shellThing = world.getThing("xworker.swt.xworker.prototype.ThingRegistSelectorTypeViewer");
def types = ThingUtils.getRegistTypes(thing, [], false, actionContext);
def ac = new ActionContext();
ac.put("parent", searchButton.getShell());
ac.put("types", types);
ac.put("parentContext", actionContext);

def shell = shellThing.doAction("create", ac);
for(rtype in types){
     ac.combo.add(rtype);  
}
ac.combo.setText(type);
shell.setVisible(true);
#$@text#$@
          sinterpretationType
          Action
          screateLocalVarScope
          false
          ssaveReturn
          false
          sdebugLog
          false
          sdescriptors
          xworker.lang.actions.Actions/@GroovyAction
          sinheritDescription
          false
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_registDisabled
          false
          sth_mark
          false
          sid
          showTypeDialog
    @/@thingTreePopMenu/@refershMenuItem
    sname
    refershMenuItem
    stext
    lang:d=刷新&en=Refresh
    sselected
    false
    senabled
    true
    sdescriptors
    xworker.swt.widgets.Menu/@MenuItem
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_noThingRegistViewer
    false
    sth_fileMonitor
    false
    sth_mark
    false
    sth_registQueryOnlySelf
    false
    snotXmlAttribute
    false
    sjson_isArray
    false
    sgroupDescriptor
    false
    sid
    refershMenuItem
      @/@thingTreePopMenu/@refershMenuItem/@listeners
      sname
      listeners
      sdescriptors
      xworker.swt.events.Listeners/@listeners
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_noThingRegistViewer
      false
      sth_fileMonitor
      false
      sth_mark
      false
      sth_registQueryOnlySelf
      false
      snotXmlAttribute
      false
      sjson_isArray
      false
      sgroupDescriptor
      false
      sid
      listeners
        @/@thingTreePopMenu/@refershMenuItem/@listeners/@refreshMenuItemSelection
        sname
        refreshMenuItemSelection
        stype
        Selection
        sref
        xworker.swt.xworker.prototype.ThingRegistSelector/@actions/@refresh
        sexceptionDialog
        false
        sdescriptors
        xworker.swt.events.Listeners/@listeners/@Listener
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_noThingRegistViewer
        false
        sth_fileMonitor
        false
        sth_mark
        false
        sth_registQueryOnlySelf
        false
        snotXmlAttribute
        false
        sjson_isArray
        false
        sgroupDescriptor
        false
        sid
        refreshMenuItemSelection
    @/@thingTreePopMenu/@splitMenu3
    sname
    splitMenu3
    sstyle
    SEPARATOR
    sselected
    false
    senabled
    true
    sdescriptors
    xworker.swt.widgets.Menu/@MenuItem
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    splitMenu3
    @/@thingTreePopMenu/@showGroupMenuItem
    sname
    showGroupMenuItem
    stext
    label:xworker.swt.xworker.prototype.ThingRegistSelector/@resources/@I18nResource/@thingTreePopMenu/@showGroupMenuItem
    sselected
    false
    senabled
    true
    sdescriptors
    xworker.swt.widgets.Menu/@MenuItem
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    showGroupMenuItem
      @/@thingTreePopMenu/@showGroupMenuItem/@listeners
      sname
      listeners
      sdescriptors
      xworker.swt.events.Listeners/@listeners
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_mark
      false
      sid
      listeners
        @/@thingTreePopMenu/@showGroupMenuItem/@listeners/@showGroupMenuItemSelection
        sname
        showGroupMenuItemSelection
        stype
        Selection
        sdescriptors
        xworker.swt.events.Listeners/@listeners/@Listener
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        showGroupMenuItemSelection
          @/@thingTreePopMenu/@showGroupMenuItem/@listeners/@showGroupMenuItemSelection/@GroovyAction
          sname
          GroovyAction
          sisSynchronized
          false
          sthrowException
          true
          suseOtherAction
          false
          svarScope
          Local
          sdisableGlobalContext
          false
          Scode
#$@text#$@
if(thingTree.getSelection().length <= 0){
    return;
}

def treeItem = thingTree.getSelection()[0];
def keys = null;
while(treeItem != null){
    def data = treeItem.getData();
    if(data instanceof String){
         if(keys == null){
             keys = treeItem.getText();
         }else{
             keys =  treeItem.getText() + " " + keys ;
         }
    }
    
    treeItem = treeItem.getParentItem();
}

if(keys != null){
    searchText.setText(keys);
    actions.doAction("refresh", actionContext);
}
#$@text#$@
          sinterpretationType
          Action
          screateLocalVarScope
          false
          ssaveReturn
          false
          sdebugLog
          false
          sdescriptors
          xworker.lang.actions.Actions/@GroovyAction
          sinheritDescription
          false
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_registDisabled
          false
          sth_mark
          false
          sid
          GroovyAction
    @/@thingTreePopMenu/@showHomeMenuItem
    sname
    showHomeMenuItem
    stext
    label:xworker.swt.xworker.prototype.ThingRegistSelector/@resources/@I18nResource/@thingTreePopMenu/@showHomeMenuItem
    sstyle
    PUSH
    sselected
    false
    senabled
    true
    sdescriptors
    xworker.swt.widgets.Menu/@MenuItem
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    showHomeMenuItem
      @/@thingTreePopMenu/@showHomeMenuItem/@listeners
      sname
      listeners
      sdescriptors
      xworker.swt.events.Listeners/@listeners
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_mark
      false
      sid
      listeners
        @/@thingTreePopMenu/@showHomeMenuItem/@listeners/@showHomeMenuItemSelection
        sname
        showHomeMenuItemSelection
        stype
        Selection
        sdescriptors
        xworker.swt.events.Listeners/@listeners/@Listener
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        showHomeMenuItemSelection
          @/@thingTreePopMenu/@showHomeMenuItem/@listeners/@showHomeMenuItemSelection/@GroovyAction
          sname
          GroovyAction
          sisSynchronized
          false
          sthrowException
          true
          suseOtherAction
          false
          svarScope
          Local
          sdisableGlobalContext
          false
          scode
          actions.doAction("openHome");
          sinterpretationType
          Action
          screateLocalVarScope
          false
          ssaveReturn
          false
          sdebugLog
          false
          sdescriptors
          xworker.lang.actions.Actions/@GroovyAction
          sinheritDescription
          false
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_registDisabled
          false
          sth_mark
          false
          sid
          GroovyAction
