^1640696286384
@
sname
FakeExplorer
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
1024
sheight
768
scenterScreen
true
spack
false
smaximized
false
sfullScreen
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
FakeExplorer
scapture
false
senabled
true
sredraw
true
svisible
true
sdescriptors
xworker.swt.widgets.Shell
sinheritDescription
false
sth_createIndex
false
sth_registMyChilds
false
sth_mark
false
  @/@FillLayout
  sname
  FillLayout
  stype
  SWT.HORIZONTAL
  sdescriptors
  xworker.swt.Layouts/@FillLayout
  sinheritDescription
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  FillLayout
  @/@mainComposite
  sname
  mainComposite
  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
  slabel
  mainComposite
  scapture
  false
  senabled
  true
  sredraw
  true
  svisible
  true
  sdescriptors
  xworker.swt.Widgets/@Composite
  sinheritDescription
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  mainComposite
    @/@mainComposite/@resources
    sname
    resources
    slabel
    resources
    sdescriptors
    xworker.swt.Widgets/@Resource
    sid
    resources
      @/@mainComposite/@resources/@saveImage
      sname
      saveImage
      stype
      Image
      simageFile
      /xworker/ide/images/save.gif
      sdescriptors
      xworker.swt.util.Resource/@Image
      sid
      saveImage
      @/@mainComposite/@resources/@newImage
      sname
      newImage
      stype
      Image
      simageFile
      /xworker/ide/images/new.gif
      sdescriptors
      xworker.swt.util.Resource/@Image
      sid
      newImage
      @/@mainComposite/@resources/@openImage
      sname
      openImage
      stype
      Image
      simageFile
      /xworker/ide/images/open.gif
      sdescriptors
      xworker.swt.util.Resource/@Image
      sid
      openImage
      @/@mainComposite/@resources/@tabSelectBackground
      sname
      tabSelectBackground
      srgb
      "#D2E9FF"
      sdescriptors
      xworker.swt.util.Resource/@Color
      sid
      tabSelectBackground
      @/@mainComposite/@resources/@flowImage
      sname
      flowImage
      stype
      Image
      simageFile
      /xworker/ide/images/thingFlow.GIF
      sdescriptors
      xworker.swt.util.Resource/@Image
      sid
      flowImage
      @/@mainComposite/@resources/@xImage
      sname
      xImage
      stype
      Image
      simageFile
      icons/application_key.png
      sdescriptors
      xworker.swt.util.Resource/@Image
      sid
      xImage
      @/@mainComposite/@resources/@openThingImage
      sname
      openThingImage
      stype
      Image
      simageFile
      /xworker/ide/images/openThing.gif
      sdescriptors
      xworker.swt.util.Resource/@Image
      sid
      openThingImage
      @/@mainComposite/@resources/@openActionImage
      sname
      openActionImage
      stype
      Image
      simageFile
      /xworker/ide/images/openAction.gif
      sdescriptors
      xworker.swt.util.Resource/@Image
      sid
      openActionImage
      @/@mainComposite/@resources/@manong
      sname
      manongImage
      stype
      Image
      simageFile
      icons/world.png
      sdescriptors
      xworker.swt.util.Resource/@Image
      sth_createIndex
      false
      sth_mark
      false
      sid
      manong
      @/@mainComposite/@resources/@taskImage
      sname
      taskImage
      stype
      Image
      simageFile
      icons/clock_go.png
      sdescriptors
      xworker.swt.util.Resource/@Image
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      taskImage
      @/@mainComposite/@resources/@flowTaskImage
      sname
      flowTaskImage
      stype
      Image
      simageFile
      icons/chart_curve_go.png
      sdescriptors
      xworker.swt.util.Resource/@Image
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      flowTaskImage
      @/@mainComposite/@resources/@guideImage
      sname
      guideImage
      stype
      Image
      simageFile
      icons/user.png
      sdescriptors
      xworker.swt.util.Resource/@Image
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      guideImage
      @/@mainComposite/@resources/@templateImage
      sname
      templateImage
      stype
      Image
      simageFile
      icons/shape_move_forwards.png
      sdescriptors
      xworker.swt.util.Resource/@Image
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      templateImage
      @/@mainComposite/@resources/@noteImage
      sname
      noteImage
      stype
      Image
      simageFile
      icons/note_edit.png
      sdescriptors
      xworker.swt.util.Resource/@Image
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      noteImage
      @/@mainComposite/@resources/@monitorImage
      sname
      monitorImage
      stype
      Image
      simageFile
      icons/clock_pause.png
      sdescriptors
      xworker.swt.util.Resource/@Image
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      monitorImage
      @/@mainComposite/@resources/@debugEditImage
      sname
      debugEditImage
      stype
      Image
      simageFile
      icons/bug_edit.png
      sdescriptors
      xworker.swt.util.Resource/@Image
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      debugEditImage
      @/@mainComposite/@resources/@functionImage
      sname
      functionImage
      stype
      Image
      simageFile
      icons/page_white_actionscript.png
      sdescriptors
      xworker.swt.util.Resource/@Image
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      functionImage
      @/@mainComposite/@resources/@topicImage
      sname
      topicImage
      stype
      Image
      simageFile
      icons/application_home.png
      sdescriptors
      xworker.swt.util.Resource/@Image
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      topicImage
    @/@mainComposite/@mainCompositeFillLayout
    sname
    mainCompositeFillLayout
    snumColumns
    2
    smakeColumnsEqualWidth
    false
    smarginWidth
    5
    smarginHeight
    5
    smarginLeft
    0
    smarginTop
    0
    smarginRight
    0
    smarginBottom
    0
    shorizontalSpacing
    5
    sverticalSpacing
    5
    slabel
    mainCompositeFillLayout
    sdescriptors
    xworker.swt.layout.GridLayout,xworker.swt.Layouts/@FillLayout
    sid
    mainCompositeFillLayout
    @/@mainComposite/@mainCoolBar
    sname
    mainCoolBar
    stype
    HORIZONTAL
    sBORDER
    false
    sFLAT
    true
    sdescriptors
    xworker.swt.Widgets/@CoolBar
    sid
    mainCoolBar
      @/@mainComposite/@mainCoolBar/@mainCoolBarGridData
      sname
      mainCoolBarGridData
      sstyle
      FILL_HORIZONTAL
      shorizontalIndent
      0
      swidth
      -1
      sheight
      -1
      shorizontalAlignment
      BEGINNING
      sverticalAlignment
      CENTER
      shorizontalSpan
      1
      sverticalSpan
      1
      sgrabExcessHorizontalSpace
      false
      sgrabExcessVerticalSpace
      false
      slabel
      mainCoolBarGridData
      sdescriptors
      xworker.swt.Commons/@GridData
      sid
      mainCoolBarGridData
      @/@mainComposite/@mainCoolBar/@mainCollItem
      sname
      mainCollItem
      sDROP_DOWN
      false
      slabel
      mainCollItem
      sdescriptors
      xworker.swt.widgets.CoolBar/@CoolItem
      sid
      mainCollItem
        @/@mainComposite/@mainCoolBar/@mainCollItem/@mainToolBar
        sname
        mainToolBar
        stype
        HORIZONTAL
        sFLAT
        true
        sWRAP
        false
        sBORDER
        false
        sSHADOW_OUT
        false
        sRIGHT
        false
        slabel
        mainToolBar
        sdescriptors
        xworker.swt.widgets.CoolBar/@CoolItem/@ToolBar
        sid
        mainToolBar
          @/@mainComposite/@mainCoolBar/@mainCollItem/@mainToolBar/@topicToolItem
          sname
          topicToolItem
          stype
          PUSH
          simage
          topicImage
          stoolTiptext
          主题
          senabled
          true
          sdescriptors
          xworker.swt.widgets.ToolBar/@ToolItem
          sinheritDescription
          false
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          topicToolItem
          @/@mainComposite/@mainCoolBar/@mainCollItem/@mainToolBar/@openToolItem
          sname
          openToolItem
          stype
          PUSH
          simage
          openThingImage
          stoolTiptext
          res:res.w_exp:toolBarItemOpenThing:打开事物
          senabled
          true
          slabel
          openToolItem
          sdescriptors
          xworker.swt.widgets.ToolBar/@ToolItem
          sid
          openToolItem
          @/@mainComposite/@mainCoolBar/@mainCollItem/@mainToolBar/@saveToolItem
          sname
          openActionItem
          stype
          PUSH
          simage
          openActionImage
          stoolTiptext
          打开动作
          senabled
          true
          slabel
          openActionItem
          sdescriptors
          xworker.swt.widgets.ToolBar/@ToolItem
          sid
          saveToolItem
          @/@mainComposite/@mainCoolBar/@mainCollItem/@mainToolBar/@specator
          sname
          specator
          stype
          SEPARATOR
          senabled
          true
          sdescriptors
          xworker.swt.widgets.ToolBar/@ToolItem
          sth_createIndex
          false
          sth_mark
          false
          sid
          specator
          @/@mainComposite/@mainCoolBar/@mainCollItem/@mainToolBar/@workFlow1
          sname
          tasksItem
          stype
          PUSH
          simage
          taskImage
          stoolTiptext
          任务监控管理
          senabled
          true
          sdescriptors
          xworker.swt.widgets.ToolBar/@ToolItem
          sth_createIndex
          false
          sth_mark
          false
          sid
          workFlow1
          @/@mainComposite/@mainCoolBar/@mainCollItem/@mainToolBar/@workFlow11
          sname
          floatTasksItem
          stype
          PUSH
          simage
          flowTaskImage
          stoolTiptext
          流程监控管理
          senabled
          true
          sdescriptors
          xworker.swt.widgets.ToolBar/@ToolItem
          sth_createIndex
          false
          sth_mark
          false
          sid
          workFlow11
          @/@mainComposite/@mainCoolBar/@mainCollItem/@mainToolBar/@monitorItem
          sname
          monitorItem
          stype
          PUSH
          simage
          monitorImage
          stoolTiptext
          用户任务
          senabled
          true
          sdescriptors
          xworker.swt.widgets.ToolBar/@ToolItem
          sinheritDescription
          false
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          monitorItem
          @/@mainComposite/@mainCoolBar/@mainCollItem/@mainToolBar/@specator3
          sname
          specator3
          stype
          SEPARATOR
          senabled
          true
          sdescriptors
          xworker.swt.widgets.ToolBar/@ToolItem
          sinheritDescription
          false
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          specator3
          @/@mainComposite/@mainCoolBar/@mainCollItem/@mainToolBar/@functionToolitem
          sname
          functionToolitem
          stype
          PUSH
          simage
          functionImage
          stoolTiptext
          函数交互式编程
          senabled
          true
          sdescriptors
          xworker.swt.widgets.ToolBar/@ToolItem
          sinheritDescription
          false
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          functionToolitem
          @/@mainComposite/@mainCoolBar/@mainCollItem/@mainToolBar/@debugEditToolItem
          sname
          debugEditToolItem
          stype
          PUSH
          simage
          debugEditImage
          stoolTiptext
          编辑调试信息
          senabled
          true
          sdescriptors
          xworker.swt.widgets.ToolBar/@ToolItem
          sinheritDescription
          false
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          debugEditToolItem
          @/@mainComposite/@mainCoolBar/@mainCollItem/@mainToolBar/@specator1
          sname
          specator2
          stype
          SEPARATOR
          senabled
          true
          sdescriptors
          xworker.swt.widgets.ToolBar/@ToolItem
          sth_createIndex
          false
          sth_mark
          false
          sid
          specator1
          @/@mainComposite/@mainCoolBar/@mainCollItem/@mainToolBar/@openFunctionsItem
          sname
          openFunctionsItem
          stype
          PUSH
          simage
          xImage
          stoolTiptext
          功能列表
          senabled
          true
          slabel
          openFunctionsItem
          sdescriptors
          xworker.swt.widgets.ToolBar/@ToolItem
          sid
          openFunctionsItem
          @/@mainComposite/@mainCoolBar/@mainCollItem/@mainToolBar/@workFlow
          sname
          manonglItem
          stype
          PUSH
          simage
          manongImage
          stoolTiptext
          码农的世界
          senabled
          true
          sdescriptors
          xworker.swt.widgets.ToolBar/@ToolItem
          sth_createIndex
          false
          sth_mark
          false
          sid
          workFlow
    @/@mainComposite/@mainCoolBar1
    sname
    rightCoolBar
    stype
    HORIZONTAL
    sBORDER
    false
    sFLAT
    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/@CoolBar
    sid
    mainCoolBar1
      @/@mainComposite/@mainCoolBar1/@mainCoolBarGridData
      sname
      mainCoolBarGridData
      sstyle
      FILL_HORIZONTAL
      shorizontalIndent
      0
      swidth
      300
      sheight
      -1
      shorizontalAlignment
      END
      sverticalAlignment
      CENTER
      shorizontalSpan
      1
      sverticalSpan
      1
      sgrabExcessHorizontalSpace
      false
      sgrabExcessVerticalSpace
      false
      slabel
      mainCoolBarGridData
      sdescriptors
      xworker.swt.Commons/@GridData
      sid
      mainCoolBarGridData
      @/@mainComposite/@mainCoolBar1/@mainCollItem
      sname
      mainCollItem
      sDROP_DOWN
      false
      slabel
      mainCollItem
      sdescriptors
      xworker.swt.widgets.CoolBar/@CoolItem
      sid
      mainCollItem
        @/@mainComposite/@mainCoolBar1/@mainCollItem/@mainToolBar
        sname
        rightMainToolBar
        stype
        HORIZONTAL
        sFLAT
        true
        sWRAP
        false
        sBORDER
        false
        sSHADOW_OUT
        false
        sRIGHT
        true
        slabel
        mainToolBar
        sdescriptors
        xworker.swt.widgets.CoolBar/@CoolItem/@ToolBar
        sid
        mainToolBar
          @/@mainComposite/@mainCoolBar1/@mainCollItem/@mainToolBar/@openFunctionsItem
          sname
          assistorGuideItem
          stype
          PUSH
          simage
          guideImage
          stext
          向导（0）
          stoolTiptext
          相关向导
          swidth
          80
          senabled
          true
          slabel
          assistorGuideItem
          sdescriptors
          xworker.swt.widgets.ToolBar/@ToolItem
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          openFunctionsItem
            @/@mainComposite/@mainCoolBar1/@mainCollItem/@mainToolBar/@openFunctionsItem/@listeners
            sname
            listeners
            slabel
            listeners
            sdescriptors
            xworker.swt.events.Listeners/@listeners
            sid
            listeners
              @/@mainComposite/@mainCoolBar1/@mainCollItem/@mainToolBar/@openFunctionsItem/@listeners/@openFunctionsItemSelection
              sname
              openFunctionsItemSelection
              stype
              Selection
              slabel
              openFunctionsItemSelection
              sdescriptors
              xworker.swt.events.Listeners/@listeners/@Listener
              sid
              openFunctionsItemSelection
                @/@mainComposite/@mainCoolBar1/@mainCollItem/@mainToolBar/@openFunctionsItem/@listeners/@openFunctionsItemSelection/@GroovyAction
                sname
                GroovyAction
                sisSynchronized
                false
                sthrowException
                true
                suseOtherAction
                false
                svarScope
                Global
                sdisableGlobalContext
                false
                Scode
#$@text#$@
import org.xmeta.ActionContext;

if(assistorInfo != null){
    for(info in assistorInfo.infos){
        if(info.getType() == "guide" && info.getCount() > 0){        
            def datas = assistorInfo.datas;
            ActionContext context = assistorActions.doAction("createNewContext", actionContext, ["datas": datas]);
            
            def shellThing = world.getThing("xworker.swt.ide.worldexplorer.swt.guide.ThingGuide");
            def newShell = shellThing.doAction("create", context);
            if(newShell != null){
                if(newShell.getData("menuShellDispose") == true){
                    newShell.dispose();
                }else{
                    newShell.open();
                }
            }
        }
    }
}
#$@text#$@
                sinterpretationType
                Action
                screateLocalVarScope
                false
                ssaveReturn
                false
                sdescriptors
                xworker.lang.actions.Actions/@GroovyAction
                sid
                GroovyAction
          @/@mainComposite/@mainCoolBar1/@mainCollItem/@mainToolBar/@openToolItem
          sname
          assistorTemplateToolItem
          stype
          PUSH
          simage
          templateImage
          stext
          模板（0)
          stoolTiptext
          相关模板
          swidth
          80
          senabled
          true
          slabel
          assistorTemplateToolItem
          sdescriptors
          xworker.swt.widgets.ToolBar/@ToolItem
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          openToolItem
            @/@mainComposite/@mainCoolBar1/@mainCollItem/@mainToolBar/@openToolItem/@listeners
            sname
            listeners
            slabel
            listeners
            sdescriptors
            xworker.swt.events.Listeners/@listeners
            sid
            listeners
              @/@mainComposite/@mainCoolBar1/@mainCollItem/@mainToolBar/@openToolItem/@listeners/@openToolItemSelection
              sname
              openToolItemSelection
              stype
              Selection
              slabel
              openToolItemSelection
              sdescriptors
              xworker.swt.events.Listeners/@listeners/@Listener
              sid
              openToolItemSelection
                @/@mainComposite/@mainCoolBar1/@mainCollItem/@mainToolBar/@openToolItem/@listeners/@openToolItemSelection/@GroovyAction
                sname
                GroovyAction
                sisSynchronized
                false
                sthrowException
                true
                suseOtherAction
                false
                svarScope
                Global
                sdisableGlobalContext
                false
                Scode
#$@text#$@
import org.xmeta.ActionContext;

if(assistorInfo != null){
    for(info in assistorInfo.infos){
        if(info.getType() == "template" && info.getCount() > 0){
            def datas = assistorInfo.datas;
            ActionContext context = assistorActions.doAction("createNewContext", actionContext, ["datas": datas]);
            
            //def shellThing = world.getThing("xworker.swt.ide.worldexplorer.swt.guide.ThingGuide");  
            def shellThing = world.getThing("xworker.core.relations.TemplateCompoiste/@shell");
            def newShell = shellThing.doAction("create", context);
            if(newShell != null){
                if(newShell.getData("menuShellDispose") == true){
                    newShell.dispose();
                }else{
                    newShell.open();
                }
            }
        }
    }
}
#$@text#$@
                sinterpretationType
                Action
                screateLocalVarScope
                false
                ssaveReturn
                false
                sdescriptors
                xworker.lang.actions.Actions/@GroovyAction
                sid
                GroovyAction
          @/@mainComposite/@mainCoolBar1/@mainCollItem/@mainToolBar/@saveToolItem
          sname
          assitorNoteItem
          stype
          PUSH
          simage
          noteImage
          stext
          笔记（0）
          stoolTiptext
          相关笔记
          swidth
          80
          senabled
          true
          slabel
          assitorNoteItem
          sdescriptors
          xworker.swt.widgets.ToolBar/@ToolItem
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          saveToolItem
            @/@mainComposite/@mainCoolBar1/@mainCollItem/@mainToolBar/@saveToolItem/@listeners
            sname
            listeners
            slabel
            listeners
            sdescriptors
            xworker.swt.events.Listeners/@listeners
            sid
            listeners
              @/@mainComposite/@mainCoolBar1/@mainCollItem/@mainToolBar/@saveToolItem/@listeners/@saveToolItemSelection
              sname
              saveToolItemSelection
              stype
              Selection
              slabel
              saveToolItemSelection
              sdescriptors
              xworker.swt.events.Listeners/@listeners/@Listener
              sid
              saveToolItemSelection
                @/@mainComposite/@mainCoolBar1/@mainCollItem/@mainToolBar/@saveToolItem/@listeners/@saveToolItemSelection/@GroovyAction
                sname
                GroovyAction
                sisSynchronized
                false
                sthrowException
                true
                suseOtherAction
                false
                svarScope
                Global
                sdisableGlobalContext
                false
                Scode
#$@text#$@
if(assistorInfo != null){
    for(info in assistorInfo.infos){
        if(info.getType() == "notes" && info.getCount() > 0){
            def datas = assistorInfo.datas;
            def context = assistorActions.doAction("createNewContext", actionContext, ["datas": datas]);
            
            //def shellThing = world.getThing("xworker.swt.ide.worldexplorer.swt.guide.ThingGuide");  
            def shellThing = world.getThing("xworker.swt.ide.worldexplorer.swt.guide.ThingNotes");
            def newShell = shellThing.doAction("create", context);
            if(newShell != null){
                if(newShell.getData("menuShellDispose") == true){
                    newShell.dispose();
                }else{
                    newShell.open();
                }
            }
        }
    }
}
#$@text#$@
                sinterpretationType
                Action
                screateLocalVarScope
                false
                ssaveReturn
                false
                sdescriptors
                xworker.lang.actions.Actions/@GroovyAction
                sid
                GroovyAction
    @/@mainComposite/@topSash
    sname
    topSash
    sstyle
    VERTICAL
    sSMOOTH
    false
    sweights
    80,20
    slabel
    topSash
    sdescriptors
    xworker.swt.Widgets/@SashForm
    sid
    topSash
      @/@mainComposite/@topSash/@topSashGridData
      sname
      topSashGridData
      sstyle
      FILL_BOTH
      shorizontalIndent
      0
      swidth
      -1
      sheight
      -1
      shorizontalAlignment
      BEGINNING
      sverticalAlignment
      CENTER
      shorizontalSpan
      2
      sverticalSpan
      1
      sgrabExcessHorizontalSpace
      false
      sgrabExcessVerticalSpace
      false
      slabel
      topSashGridData
      sdescriptors
      xworker.swt.Commons/@GridData
      sid
      topSashGridData
      @/@mainComposite/@topSash/@mainSash
      sname
      mainSash
      sstyle
      HORIZONTAL
      sSMOOTH
      false
      sweights
      30,50,20
      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
      slabel
      mainSash
      scapture
      false
      senabled
      true
      sredraw
      true
      svisible
      true
      sdescriptors
      xworker.swt.Widgets/@SashForm
      sid
      mainSash
        @/@mainComposite/@topSash/@mainSash/@leftSash
        sname
        leftSash
        sstyle
        HORIZONTAL
        sSMOOTH
        false
        slabel
        leftSash
        sdescriptors
        xworker.swt.Widgets/@SashForm
        sid
        leftSash
          @/@mainComposite/@topSash/@mainSash/@leftSash/@leftCTablFolder
          sname
          leftTabFolder
          sstyle
          TOP
          sBORDER
          true
          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
          slabel
          leftTabFolder
          scapture
          false
          senabled
          true
          sredraw
          true
          svisible
          true
          sdescriptors
          xworker.swt.Widgets/@CTabFolder
          sid
          leftCTablFolder
            @/@mainComposite/@topSash/@mainSash/@leftSash/@leftCTablFolder/@projectTreeTab
            sname
            projectTreeTab
            stext
            res:res.w_exp:projectNavTree:项目导航
            sCLOSE
            false
            slabel
            projectTreeTab
            sdescriptors
            xworker.swt.custom.CTabFolder/@CTabItem
            sid
            projectTreeTab
              @/@mainComposite/@topSash/@mainSash/@leftSash/@leftCTablFolder/@projectTreeTab/@projectTree
              sname
              projectTree
              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
              slabel
              projectTree
              sdescriptors
              xworker.swt.Widgets/@Tree
              sinheritDescription
              false
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_mark
              false
              sid
              projectTree
                @/@mainComposite/@topSash/@mainSash/@leftSash/@leftCTablFolder/@projectTreeTab/@projectTree/@Resource
                sname
                resources
                slabel
                resources
                sdescriptors
                xworker.swt.Widgets/@Resource
                sid
                Resource
                  @/@mainComposite/@topSash/@mainSash/@leftSash/@leftCTablFolder/@projectTreeTab/@projectTree/@Resource/@projectImage
                  sname
                  projectImage
                  slabel
                  projectImage
                  stype
                  Image
                  simageFile
                  /xworker/ide/images/project.gif
                  sdescriptors
                  xworker.swt.util.Resource/@Image
                  sid
                  projectImage
                  @/@mainComposite/@topSash/@mainSash/@leftSash/@leftCTablFolder/@projectTreeTab/@projectTree/@Resource/@project1
                  sname
                  project1Image
                  slabel
                  project1Image
                  stype
                  Image
                  simageFile
                  /xworker/ide/images/project1.gif
                  sdescriptors
                  xworker.swt.util.Resource/@Image
                  sid
                  project1
                  @/@mainComposite/@topSash/@mainSash/@leftSash/@leftCTablFolder/@projectTreeTab/@projectTree/@Resource/@factoryImage
                  sname
                  factoryImage
                  slabel
                  factoryImage
                  stype
                  Image
                  simageFile
                  /xworker/ide/images/factory.gif
                  sdescriptors
                  xworker.swt.util.Resource/@Image
                  sid
                  factoryImage
                  @/@mainComposite/@topSash/@mainSash/@leftSash/@leftCTablFolder/@projectTreeTab/@projectTree/@Resource/@packageIamge
                  sname
                  packageImage
                  slabel
                  packageImage
                  stype
                  Image
                  simageFile
                  /xworker/ide/images/package.gif
                  sdescriptors
                  xworker.swt.util.Resource/@Image
                  sid
                  packageIamge
                  @/@mainComposite/@topSash/@mainSash/@leftSash/@leftCTablFolder/@projectTreeTab/@projectTree/@Resource/@dataObjectImage
                  sname
                  dataObjectImage
                  slabel
                  dataObjectImage
                  stype
                  Image
                  simageFile
                  /xworker/ide/images/dataObject.gif
                  sdescriptors
                  xworker.swt.util.Resource/@Image
                  sid
                  dataObjectImage
                @/@mainComposite/@topSash/@mainSash/@leftSash/@leftCTablFolder/@projectTreeTab/@projectTree/@listeners
                sname
                listeners
                slabel
                listeners
                sdescriptors
                xworker.swt.events.Listeners/@listeners
                sid
                listeners
                  @/@mainComposite/@topSash/@mainSash/@leftSash/@leftCTablFolder/@projectTreeTab/@projectTree/@listeners/@projectTreeMenudetect
                  sname
                  projectTreeMenudetect
                  stype
                  MenuDetect
                  slabel
                  projectTreeMenudetect
                  sdescriptors
                  xworker.swt.events.Listeners/@listeners/@Listener
                  sid
                  projectTreeMenudetect
                    @/@mainComposite/@topSash/@mainSash/@leftSash/@leftCTablFolder/@projectTreeTab/@projectTree/@listeners/@projectTreeMenudetect/@ProjectTreeMenuDetect
                    sname
                    ProjectTreeMenuDetect
                    slabel
                    ProjectTreeMenuDetect
                    sisSynchronized
                    false
                    sthrowException
                    false
                    suseOtherAction
                    false
                    svarScope
                    Global
                    sdisableGlobalContext
                    false
                    Scode
#$@text#$@
import org.xmeta.Thing;
import org.xmeta.ActionContext;

for(item in projectTreeMenu.getItems()){
    item.dispose();
}

//设置弹出菜单的变量
def treeItem = projectTree.getSelection()[0];

def data = treeItem.getData();
//log.info(data.type);
String menuPath = "";
switch(data.type){
    case "world":  
    case "workingSet": 
        menuPath = "xworker.swt.ide.worldexplorer.swt.dataExplorerParts.ProjectTreeMenu/@shell/@projectComposite/@projectMenu";
        break;
    case "plugins":
    case "projects":
    case "virtuals":
        menuPath = "xworker.swt.ide.worldexplorer.swt.dataExplorerParts.ProjectTreeMenu/@shell/@dataCenterComposite/@dataCenterMenu";
        break;
    case "thingManager":
        menuPath = "xworker.swt.ide.worldexplorer.swt.dataExplorerParts.ProjectTreeMenu/@shell/@cactoryComposite/@facotyMenu";
        break;
    case "category":
        menuPath = "xworker.swt.ide.worldexplorer.swt.dataExplorerParts.ProjectTreeMenu/@shell/@packageComposite/@packageMenu";
        break;
    case "thing":
        menuPath = "xworker.swt.ide.worldexplorer.swt.dataExplorerParts.ProjectTreeMenu/@shell/@dataObjectComposite/@dataObjectMenuItem";
        break;
}

ActionContext newContext = new ActionContext();
newContext.put("parent", projectTreeMenu);
newContext.put("explorerActions", actions);
newContext.put("explorerActionContext", actionContext);
newContext.put("treeItem", treeItem);
newContext.put("projectTree", projectTree);

Thing menuObj = world.getThing(menuPath);
if(menuObj != null){
    for(child in menuObj.childs){
        if(child.name == "versionMenu"){
            continue;
        }
        child.doAction("create", newContext);
    }
}

projectTreeMenu.setData("menuContext", newContext);
return newContext;
#$@text#$@
                    sinterpretationType
                    Action
                    screateLocalVarScope
                    false
                    ssaveReturn
                    false
                    sdescriptors
                    xworker.lang.actions.Actions/@GroovyAction
                    sid
                    ProjectTreeMenuDetect
                  @/@mainComposite/@topSash/@mainSash/@leftSash/@leftCTablFolder/@projectTreeTab/@projectTree/@listeners/@projectTreeSelection
                  sname
                  projectTreeSelection
                  stype
                  Selection
                  slabel
                  projectTreeSelection
                  sdescriptors
                  xworker.swt.events.Listeners/@listeners/@Listener
                  sid
                  projectTreeSelection
                    @/@mainComposite/@topSash/@mainSash/@leftSash/@leftCTablFolder/@projectTreeTab/@projectTree/@listeners/@projectTreeSelection/@GroovyAction
                    sname
                    GroovyAction
                    slabel
                    GroovyAction
                    sisSynchronized
                    false
                    sthrowException
                    false
                    suseOtherAction
                    false
                    svarScope
                    Global
                    sdisableGlobalContext
                    false
                    Scode
#$@text#$@
import xworker.swt.ide.assistor.Assistor;

import xworker.ide.worldexplorer.actions.ProjectTreeActions;

ProjectTreeActions.setSelectedIndex(projectTree.getSelection()[0].getData());

//println(projectTree.getSelection()[0].getData().getPath());
actions.doAction("openPackageViewer", ["index":projectTree.getSelection()[0].getData(), "projectTree":projectTree]);
actions.doAction("expandProjectTreeItem");

//通知辅助者触发事件
Assistor.projectTreeSelected(projectTree.getSelection()[0], projectTree.getSelection()[0].getData());
#$@text#$@
                    sinterpretationType
                    Action
                    screateLocalVarScope
                    false
                    ssaveReturn
                    false
                    sdescriptors
                    xworker.lang.actions.Actions/@GroovyAction
                    sid
                    GroovyAction
                  @/@mainComposite/@topSash/@mainSash/@leftSash/@leftCTablFolder/@projectTreeTab/@projectTree/@listeners/@projectTreeExpand
                  sname
                  projectTreeExpand
                  stype
                  Expand
                  sdescriptors
                  xworker.swt.events.Listeners/@listeners/@Listener
                  sinheritDescription
                  false
                  sth_createIndex
                  false
                  sth_registMyChilds
                  false
                  sth_mark
                  false
                  sid
                  projectTreeExpand
                    @/@mainComposite/@topSash/@mainSash/@leftSash/@leftCTablFolder/@projectTreeTab/@projectTree/@listeners/@projectTreeExpand/@JavaAction
                    sname
                    JavaAction
                    sisSynchronized
                    false
                    sthrowException
                    true
                    suseOtherAction
                    false
                    suseOuterJava
                    true
                    souterClassName
                    xworker.ide.worldexplorer.actions.ProjectTreeActions
                    smethodName
                    projectTreeExpand
                    sdisableGlobalContext
                    false
                    sattributeTemplate
                    false
                    sinterpretationType
                    Action
                    svarScope
                    Global
                    screateLocalVarScope
                    false
                    ssaveReturn
                    false
                    sdescriptors
                    xworker.lang.actions.Actions/@JavaAction
                    sinheritDescription
                    false
                    sth_createIndex
                    false
                    sth_registMyChilds
                    false
                    sth_mark
                    false
                    sid
                    JavaAction
                  @/@mainComposite/@topSash/@mainSash/@leftSash/@leftCTablFolder/@projectTreeTab/@projectTree/@listeners/@projectTreeCollapse
                  sname
                  projectTreeCollapse
                  stype
                  Collapse
                  sdescriptors
                  xworker.swt.events.Listeners/@listeners/@Listener
                  sinheritDescription
                  false
                  sth_createIndex
                  false
                  sth_registMyChilds
                  false
                  sth_mark
                  false
                  sid
                  projectTreeCollapse
                    @/@mainComposite/@topSash/@mainSash/@leftSash/@leftCTablFolder/@projectTreeTab/@projectTree/@listeners/@projectTreeCollapse/@JavaAction
                    sname
                    JavaAction
                    sisSynchronized
                    false
                    sthrowException
                    true
                    suseOtherAction
                    false
                    suseOuterJava
                    true
                    souterClassName
                    xworker.ide.worldexplorer.actions.ProjectTreeActions
                    smethodName
                    projectTreeCollapse
                    sdisableGlobalContext
                    false
                    sattributeTemplate
                    false
                    sinterpretationType
                    Action
                    svarScope
                    Global
                    screateLocalVarScope
                    false
                    ssaveReturn
                    false
                    sdescriptors
                    xworker.lang.actions.Actions/@JavaAction
                    sinheritDescription
                    false
                    sth_createIndex
                    false
                    sth_registMyChilds
                    false
                    sth_mark
                    false
                    sid
                    JavaAction
                @/@mainComposite/@topSash/@mainSash/@leftSash/@leftCTablFolder/@projectTreeTab/@projectTree/@projectTreeMenu
                sname
                projectTreeMenu
                sstyle
                DROP_DOWN
                sNO_RADIO_GROUP
                false
                salign
                LEFT_TO_RIGHT
                slabel
                projectTreeMenu
                sdescriptors
                xworker.swt.Commons/@Menu
                sid
                projectTreeMenu
                @/@mainComposite/@topSash/@mainSash/@leftSash/@leftCTablFolder/@projectTreeTab/@projectTree/@projectTreeDragSource
                sname
                projectTreeDragSource
                sDROP_NONE
                false
                sDROP_COPY
                true
                sDROP_MOVE
                true
                sDROP_LINK
                true
                sdescriptors
                xworker.swt.widgets.Control/@DragSource
                sid
                projectTreeDragSource
                  @/@mainComposite/@topSash/@mainSash/@leftSash/@leftCTablFolder/@projectTreeTab/@projectTree/@projectTreeDragSource/@prjTxtTransfer
                  sname
                  prjTxtTransfer
                  stype
                  Text
                  sdescriptors
                  xworker.swt.dnd.DragSource/@Transfer
                  sid
                  prjTxtTransfer
                  @/@mainComposite/@topSash/@mainSash/@leftSash/@leftCTablFolder/@projectTreeTab/@projectTree/@projectTreeDragSource/@prjTreeDragStrat
                  sname
                  prjTreeDragStrat
                  stype
                  DragStart
                  sdescriptors
                  xworker.swt.dnd.DragSource/@Listener
                  sid
                  prjTreeDragStrat
                    @/@mainComposite/@topSash/@mainSash/@leftSash/@leftCTablFolder/@projectTreeTab/@projectTree/@projectTreeDragSource/@prjTreeDragStrat/@run
                    sname
                    run
                    sisSynchronized
                    false
                    sthrowException
                    true
                    suseOtherAction
                    false
                    svarScope
                    Global
                    sdisableGlobalContext
                    false
                    Scode
#$@text#$@
import org.xmeta.Index;

def selection = projectTree.getSelection();
if (selection.length > 0) {
    def item = selection[0];
    if(item.getData().type != Index.TYPE_CATEGORY){
        event.doit = false;
    }else{
        event.doit = true;
    }
} else {
    event.doit = false;
}
#$@text#$@
                    sdescriptors
                    xworker.lang.actions.Actions/@GroovyAction
                    sid
                    run
                  @/@mainComposite/@topSash/@mainSash/@leftSash/@leftCTablFolder/@projectTreeTab/@projectTree/@projectTreeDragSource/@prjTreeSetData
                  sname
                  prjTreeSetData
                  stype
                  DragSetData
                  sdescriptors
                  xworker.swt.dnd.DragSource/@Listener
                  sid
                  prjTreeSetData
                    @/@mainComposite/@topSash/@mainSash/@leftSash/@leftCTablFolder/@projectTreeTab/@projectTree/@projectTreeDragSource/@prjTreeSetData/@run
                    sname
                    run
                    sisSynchronized
                    false
                    sthrowException
                    true
                    suseOtherAction
                    false
                    svarScope
                    Global
                    sdisableGlobalContext
                    false
                    Scode
#$@text#$@
def item = projectTree.getSelection()[0];
def index = item.getData();
event.data = index.indexObject.thingManager.getName() + ":" + item.getData().getPath();
#$@text#$@
                    sdescriptors
                    xworker.lang.actions.Actions/@GroovyAction
                    sid
                    run
                @/@mainComposite/@topSash/@mainSash/@leftSash/@leftCTablFolder/@projectTreeTab/@projectTree/@projectTreeDrogTarget
                sname
                projectTreeDrogTarget
                sDROP_NONE
                false
                sDROP_COPY
                true
                sDROP_MOVE
                true
                sDROP_LINK
                true
                sdescriptors
                xworker.swt.widgets.Control/@DropTarget
                sid
                projectTreeDrogTarget
                  @/@mainComposite/@topSash/@mainSash/@leftSash/@leftCTablFolder/@projectTreeTab/@projectTree/@projectTreeDrogTarget/@prjTTextTransfer
                  sname
                  prjTTextTransfer
                  stype
                  Text
                  sdescriptors
                  xworker.swt.dnd.DropTarget/@Transfer
                  sid
                  prjTTextTransfer
                  @/@mainComposite/@topSash/@mainSash/@leftSash/@leftCTablFolder/@projectTreeTab/@projectTree/@projectTreeDrogTarget/@prjTreeDragOver
                  sname
                  prjTreeDragOver
                  stype
                  DragOver
                  sdescriptors
                  xworker.swt.dnd.DropTarget/@Listener
                  sid
                  prjTreeDragOver
                    @/@mainComposite/@topSash/@mainSash/@leftSash/@leftCTablFolder/@projectTreeTab/@projectTree/@projectTreeDrogTarget/@prjTreeDragOver/@run
                    sname
                    run
                    sisSynchronized
                    false
                    sthrowException
                    true
                    suseOtherAction
                    false
                    svarScope
                    Global
                    sdisableGlobalContext
                    false
                    Scode
#$@text#$@
import org.eclipse.swt.dnd.DND;
import org.xmeta.Index;

event.feedback = DND.FEEDBACK_EXPAND | DND.FEEDBACK_SCROLL | DND.FEEDBACK_SELECT;;
if(event.item != null){
    //如果没有展开的节点，展开
    //actions.doAction("expandProjectTreeItem", ["itemForExpand":event.item]);
    
    if(event.item.getData().type == Index.TYPE_CATEGORY || event.item.getData().type == Index.TYPE_THINGMANAGER){
        event.detail = DND.DROP_MOVE;
    }else{
        event.detail = DND.DROP_NONE;
    }
}
#$@text#$@
                    sdescriptors
                    xworker.lang.actions.Actions/@GroovyAction
                    sid
                    run
                  @/@mainComposite/@topSash/@mainSash/@leftSash/@leftCTablFolder/@projectTreeTab/@projectTree/@projectTreeDrogTarget/@prjTreeDrop
                  sname
                  prjTreeDrop
                  stype
                  Drop
                  sdescriptors
                  xworker.swt.dnd.DropTarget/@Listener
                  sid
                  prjTreeDrop
                    @/@mainComposite/@topSash/@mainSash/@leftSash/@leftCTablFolder/@projectTreeTab/@projectTree/@projectTreeDrogTarget/@prjTreeDrop/@run
                    sname
                    run
                    sisSynchronized
                    false
                    sthrowException
                    true
                    suseOtherAction
                    false
                    svarScope
                    Global
                    sdisableGlobalContext
                    false
                    Scode
#$@text#$@
import org.eclipse.swt.SWT;

import org.xmeta.ActionContext;
import org.xmeta.ThingManager;

if(event.item != null){
    def srcPath = event.data;
    def srcName = srcPath;
    if(srcPath.lastIndexOf(".") != -1){
        srcName = srcPath.substring(srcPath.lastIndexOf(".") + 1);
    }else{
        srcName = srcPath.substring(srcPath.lastIndexOf(":") + 1);
    }
    def targetIndexObject = event.item.getData().getIndexObject();
    def targetCategory = targetIndexObject;
    if(targetIndexObject instanceof ThingManager){
        targetCategory = targetIndexObject.getCategory(null);
    }
    
    def targPath = targetCategory.getThingManager().getName() + ":" ;
    if(targetCategory.name == null || targetCategory.name == ""){
        targPath = targPath + srcName;
    }else{
        targPath = targPath + targetCategory.name + "." + srcName;
    }
    
    def ac = new ActionContext();
    ac.put("parent", shell);
    ac.put("srcPath", srcPath);
    ac.put("targPath", targPath);
    ac.put("sourceTreeItem", projectTree.getSelection()[0]);
    
    def shellThing = world.get("xworker.swt.ide.worldexplorer.swt.dialogs.ThingRefactorDialog/@shell");
    def shell = shellThing.doAction("create", ac);
    shell.open();
    
    def display = shell.display;
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch()) display.sleep();
    }
    
    if(ac.get("executed") == "true"){
        //如果原始目录已移除，那么删除项目树中间的节点        
        if(world.get(srcPath) == null && srcPath == projectTree.getSelection()[0].getData().path){
            projectTree.getSelection()[0].dispose();
        }
        projectTree.setSelection(event.item);
        
        actions.doAction("refreshProjectTree");
    }
}
#$@text#$@
                    sdescriptors
                    xworker.lang.actions.Actions/@GroovyAction
                    sid
                    run
                  @/@mainComposite/@topSash/@mainSash/@leftSash/@leftCTablFolder/@projectTreeTab/@projectTree/@projectTreeDrogTarget/@prjTreeTargetEffect
                  sname
                  prjTreeTargetEffect
                  stype
                  TreeDropTargetEffect
                  sdescriptors
                  xworker.swt.dnd.DropTarget/@DragSourceEffect
                  sid
                  prjTreeTargetEffect
            @/@mainComposite/@topSash/@mainSash/@leftSash/@leftCTablFolder/@listeners
            sname
            listeners
            slabel
            listeners
            sdescriptors
            xworker.swt.events.Listeners/@listeners
            sid
            listeners
              @/@mainComposite/@topSash/@mainSash/@leftSash/@leftCTablFolder/@listeners/@leftTabFolderMouseDoubleClick
              sname
              leftTabFolderMouseDoubleClick
              stype
              MouseDoubleClick
              sref
              mainTabFolderMouseDoubleClick
              slabel
              leftTabFolderMouseDoubleClick
              sdescriptors
              xworker.swt.events.Listeners/@listeners/@Listener
              sid
              leftTabFolderMouseDoubleClick
        @/@mainComposite/@topSash/@mainSash/@contentComposite
        sname
        contentComposite
        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
        slabel
        contentComposite
        scapture
        false
        senabled
        true
        sredraw
        true
        svisible
        true
        sdescriptors
        xworker.swt.Widgets/@Composite
        sid
        contentComposite
          @/@mainComposite/@topSash/@mainSash/@contentComposite/@contentCompoisteFillLayout
          sname
          contentCompoisteFillLayout
          stype
          SWT.HORIZONTAL
          slabel
          contentCompoisteFillLayout
          sdescriptors
          xworker.swt.Layouts/@FillLayout
          sid
          contentCompoisteFillLayout
          @/@mainComposite/@topSash/@mainSash/@contentComposite/@centerTabFolder
          sname
          centerTabFolder
          sstyle
          TOP
          sBORDER
          true
          sFLAT
          false
          sCLOSE
          true
          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
          slabel
          centerTabFolder
          scapture
          false
          senabled
          true
          sredraw
          true
          svisible
          true
          sdescriptors
          xworker.swt.Widgets/@CTabFolder
          sid
          centerTabFolder
            @/@mainComposite/@topSash/@mainSash/@contentComposite/@centerTabFolder/@listeners
            sname
            listeners
            slabel
            listeners
            sdescriptors
            xworker.swt.events.Listeners/@listeners
            sid
            listeners
              @/@mainComposite/@topSash/@mainSash/@contentComposite/@centerTabFolder/@listeners/@mainTabSelection
              sname
              mainTabSelection
              stype
              Selection
              slabel
              mainTabSelection
              sdescriptors
              xworker.swt.events.Listeners/@listeners/@Listener
              sid
              mainTabSelection
                @/@mainComposite/@topSash/@mainSash/@contentComposite/@centerTabFolder/@listeners/@mainTabSelection/@GroovyAction
                sname
                GroovyAction
                slabel
                GroovyAction
                sisSynchronized
                false
                sthrowException
                false
                suseOtherAction
                false
                svarScope
                Global
                sdisableGlobalContext
                false
                Scode
#$@text#$@
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.TreeItem;

import xworker.swt.ide.assistor.Assistor;

def outlineTree = event.item.getData("outlineTree");
if(outlineTree == null){
    outlineStackLayout.topControl = blankTree;
    outlineComposite.layout();
}else{
    outlineStackLayout.topControl = outlineTree;
    outlineComposite.layout();
    
    //通知辅助者选中了一个事物编辑器
    def thingEditorActions = event.item.getData("scripts");
    def thingEditorActionContext = event.item.getData("actionContext");
    if(thingEditorActions != null && thingEditorActionContext != null){
        Assistor.thingEditorSelected(event.item, thingEditorActionContext, thingEditorActions);
    }
}


return;

//Tab上的事物路径，如果有，那么项目树选中该事物节点
def thingPath = event.item.getData("thingPath");
if(thingPath != null){
    String[] tps = thingPath.split("[:]");
    def project = world.getProject(tps[0]);
    if(project == null){
        return;
    }
    def thingManager = project.getThingManager(tps[1]);
    if(thingManager == null){
        return;
    }
    def thing = thingManager.getThing(tps[2]);
    if(thing == null){
        return;
    }
    
    def currentTreeItem = null;
    for(item in projectTree.getItems()){
        if(project.isPlugIn() && item.getData().getName() == "plug-ins"){
             currentTreeItem = item;
             break;
        }else if(!project.isPlugIn() && item.getData().getName() == "projects"){
             currentTreeItem = item;    
             break;
        }
    } 
    
    if(currentTreeItem == null) return;
    
    projectTree.setSelection(currentTreeItem);
    for(item in currentTreeItem.getItems()){
        if(item.getData().getName() == project.getName()){
             currentTreeItem = item;
             projectTree.setSelection(currentTreeItem);
             break;
        }    
    }
    
    if(currentTreeItem == null) return;
    projectTree.setSelection(currentTreeItem);
    for(item in currentTreeItem.getItems()){
        if(item.getData().getName() == thingManager.getName()){
             currentTreeItem = item;
             projectTree.setSelection(currentTreeItem);
             break;
        }    
    }
    
    String categoryName = thing.getMetadata().getCategory().getName();
    if(categoryName != null && categoryName != ""){
        String[] cs = categoryName.split("[.]");
        for(c in cs){
            def temItem = null;
            if(currentTreeItem.getItems() == 0){
                actions.doAction("expandProjectTreeItem");
            }
            for(item in currentTreeItem.getItems()){
                if(item.getData().getName() == c && item.getData().getType() == "category"){
                    temItem = item;
                    projectTree.setSelection(temItem);
                    break;
                }    
            }
            
            if(temItem == null){
                def treeItem = new TreeItem(projectTree, SWT.NONE);
                return;
            }else{
                currentTreeItem = temItem;
            }
        }
    }
}
#$@text#$@
                sinterpretationType
                Action
                screateLocalVarScope
                false
                ssaveReturn
                false
                sdescriptors
                xworker.lang.actions.Actions/@GroovyAction
                sid
                GroovyAction
              @/@mainComposite/@topSash/@mainSash/@contentComposite/@centerTabFolder/@listeners/@mainTabFolderMouseDoubleClick
              sname
              mainTabFolderMouseDoubleClick
              stype
              MouseDoubleClick
              slabel
              mainTabFolderMouseDoubleClick
              sdescriptors
              xworker.swt.events.Listeners/@listeners/@Listener
              sid
              mainTabFolderMouseDoubleClick
                @/@mainComposite/@topSash/@mainSash/@contentComposite/@centerTabFolder/@listeners/@mainTabFolderMouseDoubleClick/@GroovyAction
                sname
                GroovyAction
                slabel
                GroovyAction
                sisSynchronized
                false
                sthrowException
                false
                suseOtherAction
                false
                svarScope
                Global
                sdisableGlobalContext
                false
                Scode
#$@text#$@
def tabFolder = event.widget;

//如果是鼠标中键什么也不做
if(event.button == 2) return;

switch(tabFolder){
    case leftTabFolder:
        if(tabFolder.getData("maxStatus") == "max"){
            def oldLeftSashWeights = leftSash.getData("oldWeights");
            leftSash.setWeights(oldLeftSashWeights);
        }else{
            def oldLeftSashWeights = leftSash.getWeights();
            leftSash.setData("oldWeights", oldLeftSashWeights);
            leftSash.setWeights([100] as int[]);
        }
        break;
        
    case rightTopTabFolder:
        if(tabFolder.getData("maxStatus") == "max"){
            def oldSashWeights = mainSash.getData("oldWeights");
            mainSash.setWeights(oldSashWeights);
        }else{
            def oldSashWeights = mainSash.getWeights();
            mainSash.setData("oldWeights", oldSashWeights);
            mainSash.setWeights([0,0, 100] as int[]);
        }
        break;
    case centerTabFolder:
        if(tabFolder.getData("maxStatus") == "max"){
            def oldSashWeights = mainSash.getData("oldWeights");
            mainSash.setWeights(oldSashWeights);
        }else{
            def oldSashWeights = mainSash.getWeights();
            mainSash.setData("oldWeights", oldSashWeights);
            mainSash.setWeights([0, 100, 0] as int[]);
        }
        break;
}

if(tabFolder.getData("maxStatus") == "max"){
    def oldWeights = mainSash.getData("oldWeights");
    mainSash.setWeights(oldWeights);
    
    def topWeights = topSash.getData("oldWeigths");
    if(topWeights != null){
        topSash.setWeights(topWeights);
    }
    tabFolder.setData("maxStatus", "normal");
}else{
    def topWeights = topSash.getWeights();
    topSash.setData("oldWeigths", topWeights);
    topSash.setWeights([100, 0] as int[]);
    
    def oldWeights = mainSash.getWeights();
    mainSash.setData("oldWeights", oldWeights);
    switch(tabFolder){
        case leftTabFolder:
            mainSash.setWeights([100, 0, 0] as int[]);
            break;
        case centerTabFolder:
            mainSash.setWeights([0, oldWeights[1], oldWeights[2]] as int[]);
            break;
        case rightTopTabFolder:
        case rightBottomTabFolder:
            mainSash.setWeights([0, 0, 100] as int[]);
            break;
    }
    tabFolder.setData("maxStatus", "max");
}
#$@text#$@
                sinterpretationType
                Action
                screateLocalVarScope
                false
                ssaveReturn
                false
                sdebugLog
                false
                sdescriptors
                xworker.lang.actions.Actions/@GroovyAction
                sid
                GroovyAction
            @/@mainComposite/@topSash/@mainSash/@contentComposite/@centerTabFolder/@centerTabFolderMenu
            sname
            centerTabFolderMenu
            sstyle
            POP_UP
            sNO_RADIO_GROUP
            false
            salign
            LEFT_TO_RIGHT
            slabel
            centerTabFolderMenu
            sdescriptors
            xworker.swt.Widgets/@Menu
            sid
            centerTabFolderMenu
              @/@mainComposite/@topSash/@mainSash/@contentComposite/@centerTabFolder/@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
                @/@mainComposite/@topSash/@mainSash/@contentComposite/@centerTabFolder/@centerTabFolderMenu/@cn_closeSelfItem/@listeners
                sname
                listeners
                slabel
                listeners
                sdescriptors
                xworker.swt.events.Listeners/@listeners
                sid
                listeners
                  @/@mainComposite/@topSash/@mainSash/@contentComposite/@centerTabFolder/@centerTabFolderMenu/@cn_closeSelfItem/@listeners/@cnTabMenuSelection
                  sname
                  cnTabMenuSelection
                  stype
                  Selection
                  slabel
                  cnTabMenuSelection
                  sdescriptors
                  xworker.swt.events.Listeners/@listeners/@Listener
                  sid
                  cnTabMenuSelection
                    @/@mainComposite/@topSash/@mainSash/@contentComposite/@centerTabFolder/@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 = centerTabFolder.getSelection();
    disposeItem(item);
}else if(event.widget == cn_closeOtherItem){
    def item = centerTabFolder.getSelection();
    for(it in centerTabFolder.getItems()){
        if(it != item){
            disposeItem(it);
        }
    }
}else if(event.widget == cnCloseAllItem){
    for(item in centerTabFolder.getItems()){
        disposeItem(item);
    }
}

def disposeItem(item){
    //销毁CtabItem相关的内容
    if(item.getControl() != null){
        item.getControl().dispose();
    }
    def outlineTree = item.getData("outlineTree");
    def childComposite = item.getData("childComposite");
    
    if(outlineTree != null){
        outlineTree.dispose();
    }
    if(childComposite != null){
        childComposite.dispose();
    }
    item.dispose();   
}
#$@text#$@
                    sdescriptors
                    xworker.lang.actions.Actions/@GroovyAction
                    sid
                    GroovyAction
              @/@mainComposite/@topSash/@mainSash/@contentComposite/@centerTabFolder/@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
                @/@mainComposite/@topSash/@mainSash/@contentComposite/@centerTabFolder/@centerTabFolderMenu/@cn_closeOtherItem/@listeners
                sname
                listeners
                slabel
                listeners
                sdescriptors
                xworker.swt.events.Listeners/@listeners
                sid
                listeners
                  @/@mainComposite/@topSash/@mainSash/@contentComposite/@centerTabFolder/@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
              @/@mainComposite/@topSash/@mainSash/@contentComposite/@centerTabFolder/@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
                @/@mainComposite/@topSash/@mainSash/@contentComposite/@centerTabFolder/@centerTabFolderMenu/@cnCloseAllItem/@listeners
                sname
                listeners
                slabel
                listeners
                sdescriptors
                xworker.swt.events.Listeners/@listeners
                sid
                listeners
                  @/@mainComposite/@topSash/@mainSash/@contentComposite/@centerTabFolder/@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
        @/@mainComposite/@topSash/@mainSash/@rightTopTabFolder
        sname
        rightTopTabFolder
        sstyle
        TOP
        sBORDER
        true
        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
        slabel
        rightTopTabFolder
        scapture
        false
        senabled
        true
        sredraw
        true
        svisible
        true
        sdescriptors
        xworker.swt.custom.CTabFolder
        sid
        rightTopTabFolder
          @/@mainComposite/@topSash/@mainSash/@rightTopTabFolder/@outlineTab
          sname
          outlineTab
          stext
          res:res.w_exp:outlineNavTab:概要
          sCLOSE
          false
          slabel
          outlineTab
          sdescriptors
          ,xworker.swt.custom.CTabFolder/@CTabItem
          sid
          outlineTab
            @/@mainComposite/@topSash/@mainSash/@rightTopTabFolder/@outlineTab/@outlineComposite
            sname
            outlineComposite
            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
            slabel
            outlineComposite
            sdescriptors
            xworker.swt.Widgets/@Composite
            sid
            outlineComposite
              @/@mainComposite/@topSash/@mainSash/@rightTopTabFolder/@outlineTab/@outlineComposite/@outlineStackLayout
              sname
              outlineStackLayout
              slabel
              outlineStackLayout
              sdescriptors
              xworker.swt.Layouts/@StackLayout
              sid
              outlineStackLayout
              @/@mainComposite/@topSash/@mainSash/@rightTopTabFolder/@outlineTab/@outlineComposite/@blankTree
              sname
              blankTree
              sselectStyle
              SINGLE
              sV_SCROLL
              true
              sH_SCROLL
              true
              sCHECK
              false
              sFULL_SELECTION
              true
              sHIDE_SELECTION
              false
              sBORDER
              false
              slineVisible
              false
              smultipleColumns
              false
              sheaderVisible
              false
              ssortIndicator
              false
              smoveableColumns
              false
              sheadImages
              false
              ssubImages
              false
              slabel
              blankTree
              sdescriptors
              xworker.swt.Widgets/@Tree
              sid
              blankTree
          @/@mainComposite/@topSash/@mainSash/@rightTopTabFolder/@listeners
          sname
          listeners
          slabel
          listeners
          sdescriptors
          xworker.swt.events.Listeners/@listeners
          sid
          listeners
            @/@mainComposite/@topSash/@mainSash/@rightTopTabFolder/@listeners/@rightTopTabFolderMouseDoubleClcik
            sname
            rightTopTabFolderMouseDoubleClcik
            stype
            MouseDoubleClick
            sref
            mainTabFolderMouseDoubleClick
            slabel
            rightTopTabFolderMouseDoubleClcik
            sdescriptors
            xworker.swt.events.Listeners/@listeners/@Listener
            sid
            rightTopTabFolderMouseDoubleClcik
      @/@mainComposite/@topSash/@bottomTabFolder
      sname
      bottomTabFolder
      sstyle
      TOP
      sBORDER
      true
      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
      slabel
      bottomTabFolder
      scapture
      false
      senabled
      true
      sredraw
      true
      svisible
      true
      sdescriptors
      xworker.swt.Widgets/@CTabFolder
      sid
      bottomTabFolder
        @/@mainComposite/@topSash/@bottomTabFolder/@consoleTabItem
        sname
        consoleTabItem
        stext
        res:res.w_exp:consoleTab:控制台
        sCLOSE
        false
        slabel
        consoleTabItem
        sdescriptors
        xworker.swt.custom.CTabFolder/@CTabItem
        sid
        consoleTabItem
          @/@mainComposite/@topSash/@bottomTabFolder/@consoleTabItem/@consoleText
          sname
          consoleText
          sstyle
          MULTI
          sFULL_SELECTION
          false
          sREAD_ONLY
          false
          sWRAP
          false
          sH_SCROLL
          true
          sV_SCROLL
          true
          sBORDER
          false
          salign
          LEFT
          slabel
          consoleText
          sdescriptors
          xworker.swt.Widgets/@StyledText
          sid
          consoleText
            @/@mainComposite/@topSash/@bottomTabFolder/@consoleTabItem/@consoleText/@font
            sname
            font
            slabel
            font
            sdescriptors
            xworker.swt.Commons/@font
            sid
            font
              @/@mainComposite/@topSash/@bottomTabFolder/@consoleTabItem/@consoleText/@font/@consoleText
              sname
              consoleTextFont
              slabel
              consoleTextFont
              sdescriptors
              xworker.swt.Commons/@font/@Font
              sid
              consoleText
            @/@mainComposite/@topSash/@bottomTabFolder/@consoleTabItem/@consoleText/@consoleTextMenu
            sname
            consoleTextMenu
            sstyle
            DROP_DOWN
            sNO_RADIO_GROUP
            false
            salign
            LEFT_TO_RIGHT
            slabel
            consoleTextMenu
            sdescriptors
            xworker.swt.Commons/@Menu
            sid
            consoleTextMenu
              @/@mainComposite/@topSash/@bottomTabFolder/@consoleTabItem/@consoleText/@consoleTextMenu/@clearMenuItem
              sname
              consoleTextClearMenuItem
              stext
              Clear
              sstyle
              PUSH
              sselected
              false
              senabled
              true
              slabel
              consoleTextClearMenuItem
              sdescriptors
              xworker.swt.widgets.Menu/@MenuItem
              sid
              clearMenuItem
                @/@mainComposite/@topSash/@bottomTabFolder/@consoleTabItem/@consoleText/@consoleTextMenu/@clearMenuItem/@listeners
                sname
                listeners
                slabel
                listeners
                sdescriptors
                xworker.swt.events.Listeners/@listeners
                sid
                listeners
                  @/@mainComposite/@topSash/@bottomTabFolder/@consoleTabItem/@consoleText/@consoleTextMenu/@clearMenuItem/@listeners/@consoleTextClearMenuSelection
                  sname
                  consoleTextClearMenuSelection
                  stype
                  Selection
                  slabel
                  consoleTextClearMenuSelection
                  sdescriptors
                  xworker.swt.events.Listeners/@listeners/@Listener
                  sid
                  consoleTextClearMenuSelection
                    @/@mainComposite/@topSash/@bottomTabFolder/@consoleTabItem/@consoleText/@consoleTextMenu/@clearMenuItem/@listeners/@consoleTextClearMenuSelection/@GroovyAction
                    sname
                    GroovyAction
                    slabel
                    GroovyAction
                    sisSynchronized
                    false
                    sthrowException
                    false
                    suseOtherAction
                    false
                    scode
                    consoleText.setText("");
                    sdescriptors
                    xworker.lang.actions.Actions/@GroovyAction
                    sid
                    GroovyAction
        @/@mainComposite/@topSash/@bottomTabFolder/@progressTabItem
        sname
        progressTabItem
        stext
        进度
        stoolTipText
        用户任务的进度
        sCLOSE
        false
        sdescriptors
        xworker.swt.custom.CTabFolder/@CTabItem
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        progressTabItem
          @/@mainComposite/@topSash/@bottomTabFolder/@progressTabItem/@ExtendWidget
          sname
          ExtendWidget
          sextendWidgetPath
          xworker.ide.task.UserTaskManagerTabItem/@progressComposite
          snewActionContext
          true
          snewActionContextName
          progressTabContext
          sdescriptors
          xworker.swt.Widgets/@ExtendWidget
          sinheritDescription
          false
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          ExtendWidget
        @/@mainComposite/@topSash/@bottomTabFolder/@learning
        sname
        learningTabItem
        stext
        机器学习
        stoolTipText
        机器学习的进度
        sCLOSE
        false
        sdescriptors
        xworker.swt.custom.CTabFolder/@CTabItem
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        learning
          @/@mainComposite/@topSash/@bottomTabFolder/@learning/@ExtendWidget
          sname
          ExtendWidget
          sextendWidgetPath
          xworker.ai.neural.manager.NeuralLearningManager/@mainCimposite
          snewActionContext
          true
          sdescriptors
          xworker.swt.Widgets/@ExtendWidget
          sinheritDescription
          false
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          ExtendWidget
        @/@mainComposite/@topSash/@bottomTabFolder/@colorerTabItem
        sname
        colorerTabItem
        sCLOSE
        false
        sdescriptors
        xworker.swt.custom.CTabFolder/@CTabItem
        sth_createIndex
        false
        sth_mark
        false
        sid
        colorerTabItem
          @/@mainComposite/@topSash/@bottomTabFolder/@colorerTabItem/@colorComposite
          sname
          colorComposite
          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
          colorComposite
            @/@mainComposite/@topSash/@bottomTabFolder/@colorerTabItem/@colorComposite/@colorerText
            sname
            colorerText
            scodeName
            java
            scodeType
            java
            sWRAP
            false
            sdescriptors
            xworker.swt.Widgets/@CodeEditor
            sth_createIndex
            false
            sth_mark
            false
            sid
            colorerText
            @/@mainComposite/@topSash/@bottomTabFolder/@colorerTabItem/@colorComposite/@colorerCompositeFillLayout
            sname
            colorerCompositeFillLayout
            stype
            SWT.HORIZONTAL
            sdescriptors
            xworker.swt.Layouts/@FillLayout
            sth_createIndex
            false
            sth_mark
            false
            sid
            colorerCompositeFillLayout
        @/@mainComposite/@topSash/@bottomTabFolder/@listeners
        sname
        listeners
        slabel
        listeners
        sdescriptors
        xworker.swt.events.Listeners/@listeners
        sid
        listeners
          @/@mainComposite/@topSash/@bottomTabFolder/@listeners/@bottomTabFolderMouseDoubleClick
          sname
          bottomTabFolderMouseDoubleClick
          stype
          MouseDoubleClick
          slabel
          bottomTabFolderMouseDoubleClick
          sdescriptors
          xworker.swt.events.Listeners/@listeners/@Listener
          sid
          bottomTabFolderMouseDoubleClick
            @/@mainComposite/@topSash/@bottomTabFolder/@listeners/@bottomTabFolderMouseDoubleClick/@GroovyAction
            sname
            GroovyAction
            slabel
            GroovyAction
            sisSynchronized
            false
            sthrowException
            false
            suseOtherAction
            false
            svarScope
            Global
            Scode
#$@text#$@
//如果是鼠标中键什么也不做
if(event.button == 2) return;

if(bottomTabFolder.getData("maxStatus") == "max"){
    def topWeights = topSash.getData("oldWeigths");
    if(topWeights != null){
        topSash.setWeights(topWeights);
    }
    bottomTabFolder.setData("maxStatus", "normal");
}else{
    def topWeights = topSash.getWeights();
    topSash.setData("oldWeigths", topWeights);
    topSash.setWeights([0, 100] as int[]);
    bottomTabFolder.setData("maxStatus", "max");
}
#$@text#$@
            sdescriptors
            xworker.lang.actions.Actions/@GroovyAction
            sid
            GroovyAction
    @/@mainComposite/@actions
    sname
    actions
    sextendWidgetPath
    xworker.swt.ide.worldexplorer.swt.SimpleExplorer/@shell1/@scripts
    snewActionContext
    false
    sdescriptors
    xworker.swt.Widgets/@ExtendWidget
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    actions
    @/@mainComposite/@initCode1
    sname
    initCode
    slabel
    initCode
    sisSynchronized
    false
    sthrowException
    false
    suseOtherAction
    false
    svarScope
    Global
    sdisableGlobalContext
    false
    Scode
#$@text#$@
import org.xmeta.Action;
import org.xmeta.ActionContext;
import org.xmeta.Index;

def actions = world.getAction("xworker.swt.ide.worldexplorer.swt.SimpleExplorer/@shell1/@scripts/@initProjectTreeItem");

Index index = Index.getInstance();
projectTree.setData(index);
for(subIndex in index.childs){
    actions.run(actionContext, 
        ["item": projectTree, "index": subIndex]);  
}

//设置outlinetree，一个默认的空树，为了美观
outlineStackLayout.topControl = blankTree;
outlineComposite.layout();
#$@text#$@
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sdebugLog
    false
    sdescriptors
    xworker.swt.Widgets/@Code
    sid
    initCode1
