^1680057568439
@
sname
GroovyAction
slabel
ProjectTreemenu
sdescriptors
xworker.swt.widgets.Display
  @/@shell
  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
  400
  sheight
  300
  scenterScreen
  true
  spack
  false
  smaximized
  false
  slabel
  shell
  sdescriptors
  xworker.swt.widgets.Display/@Shell
  sid
  shell
    @/@shell/@dataCenterComposite
    sname
    dataCenterComposite
    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
    dataCenterComposite
    sdescriptors
    xworker.swt.Widgets/@Composite
    sid
    dataCenterComposite
      @/@shell/@dataCenterComposite/@dataCenterMenu
      sname
      dataCenterMenu
      sstyle
      DROP_DOWN
      sNO_RADIO_GROUP
      false
      salign
      LEFT_TO_RIGHT
      slabel
      dataCenterMenu
      sdescriptors
      xworker.swt.Commons/@Menu
      sid
      dataCenterMenu
        @/@shell/@dataCenterComposite/@dataCenterMenu/@addProject
        sname
        addProject
        stext
        lang:d=新建项目&en=New Project
        sselected
        false
        senabled
        true
        slabel
        addProject
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sid
        addProject
          @/@shell/@dataCenterComposite/@dataCenterMenu/@addProject/@listeners
          sname
          listeners
          slabel
          listeners
          sdescriptors
          xworker.swt.events.Listeners/@listeners
          sid
          listeners
            @/@shell/@dataCenterComposite/@dataCenterMenu/@addProject/@listeners/@addProjectSelection
            sname
            addProjectSelection
            stype
            Selection
            slabel
            addProjectSelection
            sdescriptors
            xworker.swt.events.Listeners/@listeners/@Listener
            sid
            addProjectSelection
              @/@shell/@dataCenterComposite/@dataCenterMenu/@addProject/@listeners/@addProjectSelection/@GroovyAction
              sname
              GroovyAction
              slabel
              GroovyAction
              sisSynchronized
              false
              sthrowException
              false
              suseOtherAction
              false
              svarScope
              Local
              sdisableGlobalContext
              false
              Scode
#$@text#$@
import org.xmeta.Thing;
import org.xmeta.ActionContext;

import xworker.swt.util.SwtDialog;

Thing dialogObject = world.getThing("xworker.ide.worldexplorer.swt.dialogs.NewProjectDialog/@shellt");

def treeItem = projectTree.getSelection()[0];
def parentShell = treeItem.getParent().getShell();

ActionContext newContext = new ActionContext();
newContext.put("treeItem", treeItem);
newContext.put("explorerContxt", explorerActionContext);
newContext.put("explorerActions", explorerActions);
newContext.put("parent", parentShell);

def newShell = dialogObject.doAction("create", newContext);

SwtDialog dialog = new SwtDialog(parentShell, newShell, newContext);
dialog.open();
#$@text#$@
              sinterpretationType
              Action
              screateLocalVarScope
              false
              ssaveReturn
              false
              sswitchResult
              false
              sdebugLog
              false
              sdescriptors
              xworker.lang.actions.Actions/@GroovyAction
              sid
              GroovyAction
        @/@shell/@dataCenterComposite/@dataCenterMenu/@splitMenu
        sname
        splitMenu
        stext
        ""
        sstyle
        SEPARATOR
        slabel
        splitMenu
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sid
        splitMenu
        @/@shell/@dataCenterComposite/@dataCenterMenu/@refreshMenu
        sname
        refreshMenu
        stext
        lang:d=刷新&en=Refresh
        sselected
        false
        senabled
        true
        slabel
        refreshMenu
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sid
        refreshMenu
          @/@shell/@dataCenterComposite/@dataCenterMenu/@refreshMenu/@listeners
          sname
          listeners
          slabel
          listeners
          sdescriptors
          xworker.swt.events.Listeners/@listeners
          sid
          listeners
            @/@shell/@dataCenterComposite/@dataCenterMenu/@refreshMenu/@listeners/@refreshSelection
            sname
            refreshSelection
            stype
            Selection
            slabel
            refreshSelection
            sdescriptors
            xworker.swt.events.Listeners/@listeners/@Listener
            sid
            refreshSelection
              @/@shell/@dataCenterComposite/@dataCenterMenu/@refreshMenu/@listeners/@refreshSelection/@GroovyAction
              sname
              GroovyAction
              slabel
              GroovyAction
              sisSynchronized
              false
              sthrowException
              false
              suseOtherAction
              false
              svarScope
              Local
              sdisableGlobalContext
              false
              scode
              explorerActions.doAction("refreshProjectTree");
              sdescriptors
              xworker.lang.actions.Actions/@GroovyAction
              sid
              GroovyAction
    @/@shell/@projectComposite
    sname
    projectComposite
    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
    projectComposite
    sdescriptors
    xworker.swt.Widgets/@Composite
    sid
    projectComposite
      @/@shell/@projectComposite/@projectMenu
      sname
      projectMenu
      sstyle
      DROP_DOWN
      sNO_RADIO_GROUP
      false
      salign
      LEFT_TO_RIGHT
      slabel
      projectMenu
      sdescriptors
      xworker.swt.Widgets/@Menu
      sid
      projectMenu
        @/@shell/@projectComposite/@projectMenu/@addFactoryMenuitem
        sname
        addThingManagerItem
        stext
        lang:d=新建项目&en=New Project
        sstyle
        PUSH
        sselected
        false
        senabled
        true
        slabel
        addThingManagerItem
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        addFactoryMenuitem
          @/@shell/@projectComposite/@projectMenu/@addFactoryMenuitem/@listeners
          sname
          listeners
          slabel
          listeners
          sdescriptors
          xworker.swt.events.Listeners/@listeners
          sid
          listeners
            @/@shell/@projectComposite/@projectMenu/@addFactoryMenuitem/@listeners/@addFactoryMenuItemSelection
            sname
            addThingManagerItemSelection
            stype
            Selection
            slabel
            addFactoryMenuItemSelection
            sdescriptors
            xworker.swt.events.Listeners/@listeners/@Listener
            sid
            addFactoryMenuItemSelection
              @/@shell/@projectComposite/@projectMenu/@addFactoryMenuitem/@listeners/@addFactoryMenuItemSelection/@GroovyAction
              sname
              GroovyAction
              slabel
              GroovyAction
              sisSynchronized
              false
              sthrowException
              false
              suseOtherAction
              false
              svarScope
              Local
              sdisableGlobalContext
              false
              Scode
#$@text#$@
import org.xmeta.Thing;
import org.xmeta.ActionContext;

import xworker.swt.util.SwtDialog;

Thing dialogObject = world.getThing("xworker.ide.worldexplorer.swt.dialogs.NewProjectDialog");

def treeItem = projectTree.getSelection()[0];
def parentShell = treeItem.getParent().getShell();

ActionContext newContext = new ActionContext();
newContext.put("treeItem", treeItem);
newContext.put("explorerContxt", actionContext.get("explorerActionContext"));
newContext.put("explorerActions", actionContext.get("explorerActions"));
newContext.put("parent", parentShell);

def newShell = dialogObject.doAction("create", newContext);

SwtDialog dialog = new SwtDialog(parentShell, newShell, newContext);
dialog.open();
#$@text#$@
              sinterpretationType
              Action
              screateLocalVarScope
              false
              ssaveReturn
              false
              sswitchResult
              false
              sdebugLog
              false
              sdescriptors
              xworker.lang.actions.Actions/@GroovyAction
              sid
              GroovyAction
        @/@shell/@projectComposite/@projectMenu/@importProjectsItem
        sname
        importProjectsItem
        stext
        lang:d=导入项目&en=Import Projects
        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
        importProjectsItem
          @/@shell/@projectComposite/@projectMenu/@importProjectsItem/@listeners
          sname
          listeners
          slabel
          listeners
          sdescriptors
          xworker.swt.events.Listeners/@listeners
          sid
          listeners
            @/@shell/@projectComposite/@projectMenu/@importProjectsItem/@listeners/@addFactoryMenuItemSelection
            sname
            importProjectItemSelection
            stype
            Selection
            slabel
            addFactoryMenuItemSelection
            sdescriptors
            xworker.swt.events.Listeners/@listeners/@Listener
            sid
            addFactoryMenuItemSelection
              @/@shell/@projectComposite/@projectMenu/@importProjectsItem/@listeners/@addFactoryMenuItemSelection/@GroovyAction
              sname
              GroovyAction
              slabel
              GroovyAction
              sisSynchronized
              false
              sthrowException
              false
              suseOtherAction
              false
              svarScope
              Local
              sdisableGlobalContext
              false
              Scode
#$@text#$@
import org.xmeta.Thing;
import org.xmeta.ActionContext;

import xworker.swt.util.SwtDialog;

Thing dialogObject = world.getThing("xworker.ide.worldexplorer.swt.dialogs.ImportProjectDialog");

def treeItem = projectTree.getSelection()[0];
def parentShell = treeItem.getParent().getShell();

ActionContext newContext = new ActionContext();
newContext.put("treeItem", treeItem);
newContext.put("explorerContxt", explorerActionContext);
newContext.put("explorerActions", explorerActions);
newContext.put("parent", parentShell);

def newShell = dialogObject.doAction("create", newContext);

SwtDialog dialog = new SwtDialog(parentShell, newShell, newContext);
dialog.open();
#$@text#$@
              sinterpretationType
              Action
              screateLocalVarScope
              false
              ssaveReturn
              false
              sswitchResult
              false
              sdebugLog
              false
              sdescriptors
              xworker.lang.actions.Actions/@GroovyAction
              sid
              GroovyAction
        @/@shell/@projectComposite/@projectMenu/@projectSep2
        sname
        projectSep2
        sstyle
        SEPARATOR
        slabel
        projectSep2
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sid
        projectSep2
        @/@shell/@projectComposite/@projectMenu/@workingSetITem
        sname
        workingSetMenuItem
        stext
        label:xworker.swt.ide.worldexplorer.swt.i18n.I18nResource/@projectTreePopMenu/@EditWorkingSet
        sselected
        false
        senabled
        true
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sth_createIndex
        false
        sth_mark
        false
        sid
        workingSetITem
          @/@shell/@projectComposite/@projectMenu/@workingSetITem/@listeners
          sname
          listeners
          sdescriptors
          xworker.swt.events.Listeners/@listeners
          sth_createIndex
          false
          sth_mark
          false
          sid
          listeners
            @/@shell/@projectComposite/@projectMenu/@workingSetITem/@listeners/@workingSetItemSelection
            sname
            workingSetMenuItemSelection
            stype
            Selection
            sdescriptors
            xworker.swt.events.Listeners/@listeners/@Listener
            sth_createIndex
            false
            sth_mark
            false
            sid
            workingSetItemSelection
              @/@shell/@projectComposite/@projectMenu/@workingSetITem/@listeners/@workingSetItemSelection/@Begin
              sname
              Begin
              schangeSelf
              false
              sinterpretationType
              Self
              sattributeTemplate
              false
              schildsAttributeTemplate
              false
              svarScope
              Local
              sisSynchronized
              false
              sthrowException
              true
              screateLocalVarScope
              false
              ssaveReturn
              false
              sdisableGlobalContext
              false
              sdescriptors
              xworker.lang.actions.Actions/@ActionGroup
              sth_createIndex
              false
              sth_mark
              false
              sid
              Begin
                @/@shell/@projectComposite/@projectMenu/@workingSetITem/@listeners/@workingSetItemSelection/@Begin/@actions
                sname
                actions
                sdescriptors
                xworker.lang.actions.Begin/@actions
                sth_createIndex
                false
                sth_mark
                false
                sid
                actions
                  @/@shell/@projectComposite/@projectMenu/@workingSetITem/@listeners/@workingSetItemSelection/@Begin/@actions/@checkThing
                  sname
                  checkThing
                  sthingManager
                  _local
                  sthingPath
                  _local.xworker.worldExplorer.WorkingSet
                  screateThing
                  true
                  sthingDescriptor
                  xworker.ide.worldexplorer.things.WorkingSet
                  sinterpretationType
                  Self
                  sattributeTemplate
                  false
                  schildsAttributeTemplate
                  false
                  svarScope
                  Local
                  sisSynchronized
                  false
                  sthrowException
                  true
                  screateLocalVarScope
                  false
                  ssaveReturn
                  false
                  sdisableGlobalContext
                  false
                  sdescriptors
                  xworker.ide.worldexplorer.actions.ExplorerActions/@CheckThingExists
                  sth_createIndex
                  false
                  sth_mark
                  false
                  sid
                  checkThing
                  @/@shell/@projectComposite/@projectMenu/@workingSetITem/@listeners/@workingSetItemSelection/@Begin/@actions/@openWorkingSet
                  sname
                  openWorkingSet
                  sthingPath
                  _local.xworker.worldExplorer.WorkingSet
                  sinterpretationType
                  Self
                  sattributeTemplate
                  false
                  schildsAttributeTemplate
                  false
                  svarScope
                  Local
                  sisSynchronized
                  false
                  sthrowException
                  true
                  screateLocalVarScope
                  false
                  ssaveReturn
                  false
                  sdisableGlobalContext
                  false
                  sdescriptors
                  xworker.ide.worldexplorer.actions.ExplorerActions/@OpenThing
                  sth_createIndex
                  false
                  sth_mark
                  false
                  sid
                  openWorkingSet
        @/@shell/@projectComposite/@projectMenu/@projectSep1
        sname
        projectSep1
        stext
        ""
        sstyle
        SEPARATOR
        slabel
        projectSep1
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sid
        projectSep1
        @/@shell/@projectComposite/@projectMenu/@refreshMenuItem
        sname
        refreshMenuItem
        stext
        lang:d=刷新&en=Refresh
        sstyle
        PUSH
        sselected
        false
        senabled
        true
        slabel
        refreshMenuItem
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sid
        refreshMenuItem
          @/@shell/@projectComposite/@projectMenu/@refreshMenuItem/@listeners
          sname
          listeners
          slabel
          listeners
          sdescriptors
          xworker.swt.events.Listeners/@listeners
          sid
          listeners
            @/@shell/@projectComposite/@projectMenu/@refreshMenuItem/@listeners/@refreshSelection
            sname
            refreshMenuItemSelection
            stype
            Selection
            slabel
            refreshSelection
            sdescriptors
            xworker.swt.events.Listeners/@listeners/@Listener
            sid
            refreshSelection
              @/@shell/@projectComposite/@projectMenu/@refreshMenuItem/@listeners/@refreshSelection/@GroovyAction
              sname
              GroovyAction
              slabel
              GroovyAction
              sisSynchronized
              false
              sthrowException
              false
              suseOtherAction
              true
              sotherActionPath
              xworker.ide.worldexplorer.swt.dataExplorerParts.ProjectTreeMenu/@shell/@dataCenterComposite/@dataCenterMenu/@refreshMenu/@listeners/@refreshSelection/@GroovyAction
              svarScope
              Local
              sdisableGlobalContext
              false
              sinterpretationType
              Action
              screateLocalVarScope
              false
              ssaveReturn
              false
              sswitchResult
              false
              sdebugLog
              false
              sdescriptors
              xworker.lang.actions.Actions/@GroovyAction
              sid
              GroovyAction
        @/@shell/@projectComposite/@projectMenu/@projectSep21
        sname
        projectSep2
        sstyle
        SEPARATOR
        slabel
        projectSep2
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sid
        projectSep21
        @/@shell/@projectComposite/@projectMenu/@editMenuItem
        sname
        editMenuItem
        stext
        label:xworker.swt.ide.worldexplorer.swt.i18n.I18nResource/@projectTreeMenu/@editCuffentMenu
        sstyle
        PUSH
        sselected
        false
        senabled
        true
        slabel
        editMenuItem
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sid
        editMenuItem
          @/@shell/@projectComposite/@projectMenu/@editMenuItem/@listeners
          sname
          listeners
          slabel
          listeners
          sdescriptors
          xworker.swt.events.Listeners/@listeners
          sid
          listeners
            @/@shell/@projectComposite/@projectMenu/@editMenuItem/@listeners/@rebulidThingIndexSelection
            sname
            editMenuItemSelection
            stype
            Selection
            sref
            xworker.ide.worldexplorer.swt.dataExplorerParts.ProjectTreeMenu/@shell/@actions/@editMenuSelection
            sexceptionDialog
            false
            slabel
            editMenuSelection
            sdescriptors
            xworker.swt.events.Listeners/@listeners/@Listener
            sid
            rebulidThingIndexSelection
    @/@shell/@cactoryComposite
    sname
    thingManagerComposite
    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
    thingManagerComposite
    scapture
    false
    senabled
    true
    sredraw
    true
    svisible
    true
    sdescriptors
    xworker.swt.Widgets/@Composite
    sid
    cactoryComposite
      @/@shell/@cactoryComposite/@facotyMenu
      sname
      facotyMenu
      sstyle
      DROP_DOWN
      sNO_RADIO_GROUP
      false
      salign
      LEFT_TO_RIGHT
      slabel
      facotyMenu
      sdescriptors
      xworker.swt.Commons/@Menu
      sid
      facotyMenu
        @/@shell/@cactoryComposite/@facotyMenu/@newDataObjectMenuitem
        sname
        newThingMenuItem
        stext
        label:xworker.swt.ide.worldexplorer.swt.i18n.I18nResource/@common/@newModel
        sstyle
        PUSH
        sselected
        false
        senabled
        true
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        newDataObjectMenuitem
          @/@shell/@cactoryComposite/@facotyMenu/@newDataObjectMenuitem/@listeners
          sname
          listeners
          slabel
          listeners
          sdescriptors
          xworker.swt.events.Listeners/@listeners
          sid
          listeners
            @/@shell/@cactoryComposite/@facotyMenu/@newDataObjectMenuitem/@listeners/@newDataSelection
            sname
            newThingMenuItemSelection
            stype
            Selection
            sdescriptors
            xworker.swt.events.Listeners/@listeners/@Listener
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_mark
            false
            sid
            newDataSelection
              @/@shell/@cactoryComposite/@facotyMenu/@newDataObjectMenuitem/@listeners/@newDataSelection/@GroovyAction
              sname
              GroovyAction
              slabel
              GroovyAction
              sisSynchronized
              false
              sthrowException
              false
              suseOtherAction
              false
              svarScope
              Global
              sdisableGlobalContext
              false
              Scode
#$@text#$@
import org.xmeta.Thing;
import org.xmeta.ActionContext;
import org.xmeta.ThingManager;
import org.xmeta.Category;

import xworker.swt.util.SwtDialog;
import xworker.lang.system.message.MessageCenter;
import xworker.swt.util.SwtDialogCallback;

Thing dialogObject = world.getThing("xworker.ide.worldexplorer.swt.dialogs.NewThingDialog/@shell");

def treeItem = projectTree.getSelection()[0];
def index = treeItem.getData();
def indexObject = index.getIndexObject()
def saveable = true;
if(indexObject instanceof ThingManager){
    saveable = indexObject.isSaveable();
}else if(indexObject instanceof Category){
    saveable = indexObject.getThingManager().isSaveable();
}
if(!saveable){
    //只读的模型管理器，不能创建模型
    readOnly(actionContext);
    return;
}

def parentShell = treeItem.getParent().getShell();

ActionContext newContext = new ActionContext();
newContext.put("treeItem", treeItem);
newContext.put("index", treeItem.getData());
newContext.put("explorerContxt", actionContext.get("explorerActionContext"));
newContext.put("explorerActions", actionContext.get("explorerActions"));
newContext.put("categoryPath", treeItem.getData().getPath());
newContext.put("parent", parentShell);

def newShell = dialogObject.doAction("create", newContext);

world.setData("__xworker_ide_newThingDialog__", newContext);
SwtDialog dialog = new SwtDialog(parentShell, newShell, newContext);
dialog.open((SwtDialogCallback) null);

MessageCenter.publish("/xworker/ide/projecttree/opennewthingdialog", dialog, actionContext);
#$@text#$@
              sinterpretationType
              Action
              screateLocalVarScope
              false
              ssaveReturn
              false
              sswitchResult
              false
              sdebugLog
              false
              sdescriptors
              xworker.lang.actions.Actions/@GroovyAction
              sid
              GroovyAction
                @/@shell/@cactoryComposite/@facotyMenu/@newDataObjectMenuitem/@listeners/@newDataSelection/@GroovyAction/@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
                  @/@shell/@cactoryComposite/@facotyMenu/@newDataObjectMenuitem/@listeners/@newDataSelection/@GroovyAction/@ActionDefined/@readOnly
                  sname
                  readOnly
                  sshell
                  ognl:projectTree.getShell()
                  sicon
                  ICON_WARNING
                  sbuttons
                  OK
                  stitle
                  lang:d=新建模型&en=New  Model
                  smessage
                  lang:d=当前目录是只读状态，请选择其它目录来创建模型。&en=The current directory is read-only, please select another directory to create the model.
                  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/@MessageBox
                  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
                  readOnly
        @/@shell/@cactoryComposite/@facotyMenu/@newPackageMenuIitem
        sname
        newCategoryMenuItem
        stext
        lang:d=新建目录&en=New Category
        sstyle
        PUSH
        sselected
        false
        senabled
        true
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        newPackageMenuIitem
          @/@shell/@cactoryComposite/@facotyMenu/@newPackageMenuIitem/@listeners
          sname
          listeners
          slabel
          listeners
          sdescriptors
          xworker.swt.events.Listeners/@listeners
          sid
          listeners
            @/@shell/@cactoryComposite/@facotyMenu/@newPackageMenuIitem/@listeners/@newPackageMenuItemSelection
            sname
            newCategoryMenuItemSelection
            stype
            Selection
            sdescriptors
            xworker.swt.events.Listeners/@listeners/@Listener
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_mark
            false
            sid
            newPackageMenuItemSelection
              @/@shell/@cactoryComposite/@facotyMenu/@newPackageMenuIitem/@listeners/@newPackageMenuItemSelection/@GroovyAction
              sname
              GroovyAction
              slabel
              GroovyAction
              sisSynchronized
              false
              sthrowException
              false
              suseOtherAction
              false
              svarScope
              Global
              sdisableGlobalContext
              false
              Scode
#$@text#$@
import org.xmeta.Thing;
import org.xmeta.ActionContext;

import xworker.swt.util.SwtDialog;
import xworker.lang.system.message.MessageCenter;
import xworker.swt.util.SwtDialogCallback;

Thing dialogObject = world.getThing("xworker.ide.worldexplorer.swt.dialogs.NewCategoryDialog/@shellt");

def treeItem = projectTree.getSelection()[0];
def parentShell = treeItem.getParent().getShell();

ActionContext newContext = new ActionContext();
newContext.put("treeItem", treeItem);
newContext.put("explorerContxt", actionContext.get("explorerActionContext"));
newContext.put("explorerActions", actionContext.get("explorerActions"));
newContext.put("parent", parentShell);

def newShell = dialogObject.doAction("create", newContext);

SwtDialog dialog = new SwtDialog(parentShell, newShell, newContext);
dialog.open((SwtDialogCallback) null);

MessageCenter.publish("/xworker/ide/projecttree/opennewcategorydialog", dialog, actionContext);
#$@text#$@
              sinterpretationType
              Action
              screateLocalVarScope
              false
              ssaveReturn
              false
              sswitchResult
              false
              sdebugLog
              false
              sdescriptors
              xworker.lang.actions.Actions/@GroovyAction
              sid
              GroovyAction
        @/@shell/@cactoryComposite/@facotyMenu/@newFileMenuItem
        sname
        newFileMenuItem
        stext
        label:xworker.swt.ide.worldexplorer.swt.i18n.I18nResource/@projectTreePopMenu/@NewFile
        sstyle
        PUSH
        sselected
        false
        senabled
        true
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        newFileMenuItem
          @/@shell/@cactoryComposite/@facotyMenu/@newFileMenuItem/@listeners
          sname
          listeners
          slabel
          listeners
          sdescriptors
          xworker.swt.events.Listeners/@listeners
          sid
          listeners
            @/@shell/@cactoryComposite/@facotyMenu/@newFileMenuItem/@listeners/@newPackageMenuItemSelection
            sname
            newFileMenuItemSelection
            stype
            Selection
            sdescriptors
            xworker.swt.events.Listeners/@listeners/@Listener
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_mark
            false
            sid
            newPackageMenuItemSelection
              @/@shell/@cactoryComposite/@facotyMenu/@newFileMenuItem/@listeners/@newPackageMenuItemSelection/@GroovyAction
              sname
              GroovyAction
              slabel
              GroovyAction
              sisSynchronized
              false
              sthrowException
              false
              suseOtherAction
              false
              svarScope
              Global
              sdisableGlobalContext
              false
              Scode
#$@text#$@
import org.xmeta.Thing;
import org.xmeta.ActionContext;

import xworker.swt.util.SwtDialog;
import xworker.swt.util.SwtDialogCallback;
import xworker.lang.system.message.MessageCenter;

Thing dialogObject = world.getThing("xworker.ide.worldexplorer.swt.dialogs.NewFileDialog");

def treeItem = projectTree.getSelection()[0];
def parentShell = treeItem.getParent().getShell();

ActionContext newContext = new ActionContext();
newContext.put("treeItem", treeItem);
newContext.put("explorerContxt", actionContext.get("explorerActionContext"));
newContext.put("explorerActions", actionContext.get("explorerActions"));
newContext.put("parent", parentShell);

def newShell = dialogObject.doAction("create", newContext);

SwtDialog dialog = new SwtDialog(parentShell, newShell, newContext);
dialog.open((SwtDialogCallback) null);

MessageCenter.publish("/xworker/ide/projecttree/opennewfiledialog", dialog, actionContext);
#$@text#$@
              sinterpretationType
              Action
              screateLocalVarScope
              false
              ssaveReturn
              false
              sswitchResult
              false
              sdebugLog
              false
              sdescriptors
              xworker.lang.actions.Actions/@GroovyAction
              sid
              GroovyAction
        @/@shell/@cactoryComposite/@facotyMenu/@thingManagerSplit
        sname
        thingManagerSplit
        sstyle
        SEPARATOR
        slabel
        thingManagerSplit
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sid
        thingManagerSplit
        @/@shell/@cactoryComposite/@facotyMenu/@thingManageDeleteItem
        sname
        thingManagerDeleteMenuItem
        stext
        lang:d=删除&en=Delete
        sstyle
        PUSH
        sselected
        false
        senabled
        true
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        thingManageDeleteItem
          @/@shell/@cactoryComposite/@facotyMenu/@thingManageDeleteItem/@listeners
          sname
          listeners
          slabel
          listeners
          sdescriptors
          xworker.swt.events.Listeners/@listeners
          sid
          listeners
            @/@shell/@cactoryComposite/@facotyMenu/@thingManageDeleteItem/@listeners/@thingManagerDeleteSelection
            sname
            thingManagerDeleteMenuItemSelection
            stype
            Selection
            sdescriptors
            xworker.swt.events.Listeners/@listeners/@Listener
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_mark
            false
            sid
            thingManagerDeleteSelection
              @/@shell/@cactoryComposite/@facotyMenu/@thingManageDeleteItem/@listeners/@thingManagerDeleteSelection/@GroovyAction
              sname
              GroovyAction
              slabel
              GroovyAction
              sisSynchronized
              false
              sthrowException
              false
              suseOtherAction
              false
              svarScope
              Global
              sdisableGlobalContext
              false
              Scode
#$@text#$@
import org.xmeta.ActionContext;
import xworker.lang.util.XWorkerUtils;

import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.MessageBox;
import xworker.lang.system.message.MessageCenter;

def ac = new ActionContext();
ac.put("parent", XWorkerUtils.getIDEShell());
ac.put("thingManager", treeItem.getData().getIndexObject());
def thing = world.getThing("xworker.ide.worldexplorer.swt.dialogs.DeleteProjectDialog");
thing.doAction("run", ac);
MessageCenter.publish("/xworker/ide/projecttree/thingmanager/delete/dialog", ac, actionContext);
return;

def index = treeItem.getData();
MessageBox box = new MessageBox(event.widget.parent.shell, SWT.CANCEL | SWT.OK | SWT.ICON_WARNING);
box.setText(world.getThing("xworker.ide.worldexplorer.swt.i18n.I18nResource/@projectTreePopMenu/@warningTitle").metadata.label);
box.setMessage(world.getThing("xworker.ide.worldexplorer.swt.i18n.I18nResource/@projectTreePopMenu/@confirmDeleteThingManager").metadata.label + 
    "事物管理器：" + index.label);

if(SWT.OK == box.open()){
    box = new MessageBox(event.widget.parent.shell, SWT.YES | SWT.NO);
    box.setText("删除资源");
    box.setMessage("是否同时删除文件等资源?");
    def deleteRes = false;
    if(box.open() == SWT.YES){
        box = new MessageBox(event.widget.parent.shell, SWT.CANCEL | SWT.OK | SWT.ICON_WARNING);
        box.setText(world.getThing("xworker.ide.worldexplorer.swt.i18n.I18nResource/@projectTreePopMenu/@warningTitle").metadata.label);
        box.setMessage(world.getThing("xworker.ide.worldexplorer.swt.i18n.I18nResource/@projectTreePopMenu/@confireDeleteThingMnagerAgain").metadata.label);
        if(box.open() == SWT.CANCEL) return;
        deleteRes = true;
    }
    
    //取当前索引    
    world.removeThingManager(index.getIndexObject(), deleteRes);
    index.getParent().refresh();
    
    //从WrkingSet中删除索引   
    def workingSet = world.getThing("_local.xworker.worldExplorer.WorkingSet");
    if(workingSet != null){
        deleteWorkingSet(workingSet, index.getIndexObject().getName());
    }
    
    treeItem.dispose();
}

def deleteWorkingSet(thing, thingManagerName){
    def ok = false;
    def list = [];
    for(child in thing.getChilds()){
        if(child.getThingName() == "ThingManager"){
            if(child.getString("name") == thingManagerName){
                list.add(child);
            }
        }else{
            ok = ok | deleteWorkingSet(child, thingManagerName);
        }
    }
    
    for(delChild in list){
        thing.removeChild(delChild);
        ok = true;
    }
    
    return ok;
}
#$@text#$@
              sinterpretationType
              Action
              screateLocalVarScope
              false
              ssaveReturn
              false
              sswitchResult
              false
              sdebugLog
              false
              sdescriptors
              xworker.lang.actions.Actions/@GroovyAction
              sid
              GroovyAction
        @/@shell/@cactoryComposite/@facotyMenu/@factorySpet1
        sname
        factorySpet1
        stext
        ""
        sstyle
        SEPARATOR
        slabel
        factorySpet1
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sid
        factorySpet1
        @/@shell/@cactoryComposite/@facotyMenu/@refreshMenuItem
        sname
        refreshMenuItem
        stext
        lang:d=刷新&en=Refresh
        sstyle
        PUSH
        sselected
        false
        senabled
        true
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        refreshMenuItem
          @/@shell/@cactoryComposite/@facotyMenu/@refreshMenuItem/@listeners
          sname
          listeners
          slabel
          listeners
          sdescriptors
          xworker.swt.events.Listeners/@listeners
          sid
          listeners
            @/@shell/@cactoryComposite/@facotyMenu/@refreshMenuItem/@listeners/@refreshMenuSelction
            sname
            refreshMenuItemSelection
            stype
            Selection
            sdescriptors
            xworker.swt.events.Listeners/@listeners/@Listener
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_mark
            false
            sid
            refreshMenuSelction
              @/@shell/@cactoryComposite/@facotyMenu/@refreshMenuItem/@listeners/@refreshMenuSelction/@GroovyAction
              sname
              GroovyAction
              slabel
              GroovyAction
              sisSynchronized
              false
              sthrowException
              false
              suseOtherAction
              true
              sotherActionPath
              xworker.ide.worldexplorer.swt.dataExplorerParts.ProjectTreeMenu/@shell/@dataCenterComposite/@dataCenterMenu/@refreshMenu/@listeners/@refreshSelection/@GroovyAction
              svarScope
              Local
              sdisableGlobalContext
              false
              sinterpretationType
              Action
              screateLocalVarScope
              false
              ssaveReturn
              false
              sswitchResult
              false
              sdebugLog
              false
              sdescriptors
              xworker.lang.actions.Actions/@GroovyAction
              sid
              GroovyAction
        @/@shell/@cactoryComposite/@facotyMenu/@attributeMenuItem
        sname
        attributeMenuItem
        stext
        label:xworker.swt.ide.worldexplorer.swt.i18n.I18nResource/@projectTreePopMenu/@Attribute
        sstyle
        PUSH
        sselected
        false
        senabled
        true
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        attributeMenuItem
          @/@shell/@cactoryComposite/@facotyMenu/@attributeMenuItem/@listeners
          sname
          listeners
          sdescriptors
          xworker.swt.events.Listeners/@listeners
          sinheritDescription
          false
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          listeners
            @/@shell/@cactoryComposite/@facotyMenu/@attributeMenuItem/@listeners/@attributeMenuItem
            sname
            attributeMenuItem
            stype
            Selection
            sdescriptors
            xworker.swt.events.Listeners/@listeners/@Listener
            sinheritDescription
            false
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_mark
            false
            sid
            attributeMenuItem
              @/@shell/@cactoryComposite/@facotyMenu/@attributeMenuItem/@listeners/@attributeMenuItem/@MessageBox
              sname
              MessageBox
              sshell
              ognl:projectTree.getShell()
              sicon
              ICON_INFORMATION
              sbuttons
              OK
              stitle
              lang:d=事物管理器&en=ThingManager
              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.MessageBoxActions/@MessageBox
              sinheritDescription
              false
              sth_createIndex
              false
              sth_registMyChilds
              false
              sth_registDisabled
              false
              sth_noThingRegistViewer
              false
              sth_fileMonitor
              false
              sth_mark
              false
              sth_registQueryOnlySelf
              false
              sid
              MessageBox
                @/@shell/@cactoryComposite/@facotyMenu/@attributeMenuItem/@listeners/@attributeMenuItem/@MessageBox/@actions
                sname
                actions
                sdescriptors
                xworker.lang.actions.SelfAction/@actions1
                sinheritDescription
                false
                sth_createIndex
                false
                sth_registMyChilds
                false
                sth_registDisabled
                false
                sth_noThingRegistViewer
                false
                sth_fileMonitor
                false
                sth_mark
                false
                sth_registQueryOnlySelf
                false
                sid
                actions
                  @/@shell/@cactoryComposite/@facotyMenu/@attributeMenuItem/@listeners/@attributeMenuItem/@MessageBox/@actions/@attributeMenuItemSelection
                  sname
                  getMessage
                  sisSynchronized
                  false
                  sthrowException
                  true
                  suseOtherAction
                  false
                  svarScope
                  Local
                  sdisableGlobalContext
                  false
                  Scode
#$@text#$@
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.MessageBox;

def treeItem = projectTree.getSelection()[0];
def thingManager = treeItem.getData().getIndexObject();
//println(thingManager);
return thingManager.toString();
#$@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_mark
                  false
                  sid
                  attributeMenuItemSelection
        @/@shell/@cactoryComposite/@facotyMenu/@factorySpet2
        sname
        factorySpet2
        sstyle
        SEPARATOR
        slabel
        factorySpet2
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sid
        factorySpet2
        @/@shell/@cactoryComposite/@facotyMenu/@versionMenu
        sname
        rebuildIndexMenuItem
        stext
        label:xworker.swt.ide.worldexplorer.swt.i18n.I18nResource/@projectTreeMenu/@reindexMenuItem
        sstyle
        CASCADE
        sselected
        false
        senabled
        true
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        versionMenu
          @/@shell/@cactoryComposite/@facotyMenu/@versionMenu/@listeners
          sname
          listeners
          slabel
          listeners
          sdescriptors
          xworker.swt.events.Listeners/@listeners
          sid
          listeners
            @/@shell/@cactoryComposite/@facotyMenu/@versionMenu/@listeners/@versionMenuSelection
            sname
            rebuildIndexMenuItemSelection
            stype
            Selection
            sdescriptors
            xworker.swt.events.Listeners/@listeners/@Listener
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_mark
            false
            sid
            versionMenuSelection
              @/@shell/@cactoryComposite/@facotyMenu/@versionMenu/@listeners/@versionMenuSelection/@GroovyAction
              sname
              GroovyAction
              sisSynchronized
              false
              sthrowException
              true
              suseOtherAction
              false
              svarScope
              Global
              sdisableGlobalContext
              false
              Scode
#$@text#$@
import org.xmeta.ActionContext;
import org.xmeta.Index;

import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.MessageBox;
import xworker.lang.system.message.MessageCenter;

import xworker.lang.util.XWorkerUtils;
import xworker.ide.index.ThingIndexUtils;

import xworker.lang.executor.Executor;

//通过索引找到updateindex的目录
def index = treeItem.getData();
def thingManager = null;

if(index.getType() == "thingManager"){
    thingManager = index.getIndexObject();
}else if(index.getType() == "category"){
    thingManager = index.getIndexObject().getThingManager();
}

if(thingManager != null){
    new Thread({
        def logLevel = Executor.getLogLevel();
        Executor.setLogLevel(Executor.DEBUG);
        try{
            Executor.info("RebuldIndex", "Start rebuiling thing index, thingManager=" + thingManager.getName());
            ThingIndexUtils.rebuildThingIndex(thingManager, actionContext);
        }finally{
            Executor.setLogLevel(logLevel);
            Executor.info("RebuldIndex", "Rebuild index finsihed, thingManager=" + thingManager.getName());
            
        }
    }).start();
}

/*
def filePath = world.getPath() + "/work/updateindex/";
if(index.getType() == "thingManager"){
    filePath = filePath + index.getName();
}else if(index.getType() == "category"){
    def thingManager = index.getIndexObject();
    def path = index.path.replace(':', '/');
    path = path.replace('.', '/');
    filePath = filePath + thingManager.getName() + "/" + path;
}

//删除所有文件
deleteFile(new File(filePath));

def world = world;
new Thread({
     def updater = world.getThing("xworker.ide.db.dbindex.actions.ThingIndexUpdater");
     def thingManager = index.getIndexObject(); 
     if(thingManager instanceof org.xmeta.Category){
         thingManager = thingManager.getThingManager();
     }
     updater.doAction("updateThingManagerIndex", actionContext, "thingManager", thingManager);
}).start();

tip(actionContext);
MessageCenter.publish("/xworker/ide/projecttree/index/rebuild", index, actionContext);

def deleteFile(file){
    if(file.isDirectory()){
        for(childFile in file.listFiles()){
            deleteFile(childFile);
        }
    }
    
    file.delete();
}*/
#$@text#$@
              sinterpretationType
              Action
              screateLocalVarScope
              false
              ssaveReturn
              false
              sswitchResult
              false
              sdebugLog
              false
              sdescriptors
              xworker.lang.actions.Actions/@GroovyAction
              sid
              GroovyAction
                @/@shell/@cactoryComposite/@facotyMenu/@versionMenu/@listeners/@versionMenuSelection/@GroovyAction/@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
                sid
                ActionDefined
                  @/@shell/@cactoryComposite/@facotyMenu/@versionMenu/@listeners/@versionMenuSelection/@GroovyAction/@ActionDefined/@tip
                  sname
                  tip
                  sshell
                  var:shell
                  sicon
                  ICON_INFORMATION
                  sbuttons
                  OK
                  stitle
                  lang:d=更新索引&en=Update Index
                  smessage
                  lang:d=请耐心等待索引更新完毕再做其它操作，否则SQLite可能会出错。&en=Please wait patiently for the index update to complete before doing other operations, otherwise SQLite may make errors.
                  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.MessageBoxActions/@MessageBox
                  sinheritDescription
                  false
                  sth_createIndex
                  false
                  sth_registMyChilds
                  false
                  sth_registDisabled
                  false
                  sth_noThingRegistViewer
                  false
                  sth_fileMonitor
                  false
                  sth_mark
                  false
                  sth_registQueryOnlySelf
                  false
                  sid
                  tip
        @/@shell/@cactoryComposite/@facotyMenu/@factorySpet4
        sname
        factorySpet4
        sstyle
        SEPARATOR
        slabel
        factorySpet4
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sid
        factorySpet4
        @/@shell/@cactoryComposite/@facotyMenu/@editMenuItem
        sname
        editMenuItem
        stext
        label:xworker.swt.ide.worldexplorer.swt.i18n.I18nResource/@projectTreeMenu/@editCuffentMenu
        sstyle
        PUSH
        sselected
        false
        senabled
        true
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        editMenuItem
          @/@shell/@cactoryComposite/@facotyMenu/@editMenuItem/@listeners
          sname
          listeners
          slabel
          listeners
          sdescriptors
          xworker.swt.events.Listeners/@listeners
          sid
          listeners
            @/@shell/@cactoryComposite/@facotyMenu/@editMenuItem/@listeners/@rebulidThingIndexSelection
            sname
            editMenuItemSelection
            stype
            Selection
            sref
            xworker.ide.worldexplorer.swt.dataExplorerParts.ProjectTreeMenu/@shell/@actions/@editMenuSelection
            sexceptionDialog
            false
            sdescriptors
            xworker.swt.events.Listeners/@listeners/@Listener
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_mark
            false
            sid
            rebulidThingIndexSelection
    @/@shell/@packageComposite
    sname
    categoryComposite
    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
    categoryComposite
    scapture
    false
    senabled
    true
    sredraw
    true
    svisible
    true
    sdescriptors
    xworker.swt.Widgets/@Composite
    sid
    packageComposite
      @/@shell/@packageComposite/@packageMenu
      sname
      packageMenu
      sstyle
      DROP_DOWN
      sNO_RADIO_GROUP
      false
      salign
      LEFT_TO_RIGHT
      slabel
      packageMenu
      sdescriptors
      xworker.swt.Commons/@Menu
      sid
      packageMenu
        @/@shell/@packageComposite/@packageMenu/@newDataObjectMenuItem
        sname
        newThingMenuItem
        stext
        label:xworker.swt.ide.worldexplorer.swt.i18n.I18nResource/@common/@newModel
        sstyle
        PUSH
        sselected
        false
        senabled
        true
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        newDataObjectMenuItem
          @/@shell/@packageComposite/@packageMenu/@newDataObjectMenuItem/@listeners
          sname
          listeners
          slabel
          listeners
          sdescriptors
          xworker.swt.events.Listeners/@listeners
          sid
          listeners
            @/@shell/@packageComposite/@packageMenu/@newDataObjectMenuItem/@listeners/@newDataObjectSelection
            sname
            newThingMenuItemSelection
            stype
            Selection
            sdescriptors
            xworker.swt.events.Listeners/@listeners/@Listener
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_mark
            false
            sid
            newDataObjectSelection
              @/@shell/@packageComposite/@packageMenu/@newDataObjectMenuItem/@listeners/@newDataObjectSelection/@GroovyAction
              sname
              GroovyAction
              slabel
              GroovyAction
              sisSynchronized
              false
              sthrowException
              false
              suseOtherAction
              true
              sotherActionPath
              xworker.ide.worldexplorer.swt.dataExplorerParts.ProjectTreeMenu/@shell/@cactoryComposite/@facotyMenu/@newDataObjectMenuitem/@listeners/@newDataSelection/@GroovyAction
              svarScope
              Local
              sdisableGlobalContext
              false
              sinterpretationType
              Action
              screateLocalVarScope
              false
              ssaveReturn
              false
              sswitchResult
              false
              sdebugLog
              false
              sdescriptors
              xworker.lang.actions.Actions/@GroovyAction
              sid
              GroovyAction
        @/@shell/@packageComposite/@packageMenu/@newPackageMenuItem
        sname
        newCategoryMenuItem
        stext
        lang:d=新建目录&en=New Category
        sstyle
        PUSH
        sselected
        false
        senabled
        true
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        newPackageMenuItem
          @/@shell/@packageComposite/@packageMenu/@newPackageMenuItem/@listeners
          sname
          listeners
          slabel
          listeners
          sdescriptors
          xworker.swt.events.Listeners/@listeners
          sid
          listeners
            @/@shell/@packageComposite/@packageMenu/@newPackageMenuItem/@listeners/@newPackageSelection
            sname
            newCategoryMenuItemSelection
            stype
            Selection
            sdescriptors
            xworker.swt.events.Listeners/@listeners/@Listener
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_mark
            false
            sid
            newPackageSelection
              @/@shell/@packageComposite/@packageMenu/@newPackageMenuItem/@listeners/@newPackageSelection/@GroovyAction
              sname
              GroovyAction
              slabel
              GroovyAction
              sisSynchronized
              false
              sthrowException
              false
              suseOtherAction
              true
              sotherActionPath
              xworker.ide.worldexplorer.swt.dataExplorerParts.ProjectTreeMenu/@shell/@cactoryComposite/@facotyMenu/@newPackageMenuIitem/@listeners/@newPackageMenuItemSelection/@GroovyAction
              svarScope
              Local
              sdisableGlobalContext
              false
              sinterpretationType
              Action
              screateLocalVarScope
              false
              ssaveReturn
              false
              sswitchResult
              false
              sdebugLog
              false
              sdescriptors
              xworker.lang.actions.Actions/@GroovyAction
              sid
              GroovyAction
        @/@shell/@packageComposite/@packageMenu/@newFileMenuItem
        sname
        newFileMenuItem
        stext
        label:xworker.swt.ide.worldexplorer.swt.i18n.I18nResource/@projectTreePopMenu/@NewFile
        sstyle
        PUSH
        sselected
        false
        senabled
        true
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        newFileMenuItem
          @/@shell/@packageComposite/@packageMenu/@newFileMenuItem/@listeners
          sname
          listeners
          sdescriptors
          xworker.swt.events.Listeners/@listeners
          sinheritDescription
          false
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          listeners
            @/@shell/@packageComposite/@packageMenu/@newFileMenuItem/@listeners/@Listener
            sname
            Listener
            stype
            Selection
            sref
            xworker.ide.worldexplorer.swt.dataExplorerParts.ProjectTreeMenu/@shell/@cactoryComposite/@facotyMenu/@newFileMenuItem/@listeners/@newPackageMenuItemSelection/@GroovyAction
            sexceptionDialog
            false
            sdescriptors
            xworker.swt.events.Listeners/@listeners/@Listener
            sinheritDescription
            false
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_mark
            false
            sid
            Listener
        @/@shell/@packageComposite/@packageMenu/@packageSpet1
        sname
        packageSpet1
        stext
        ""
        sstyle
        SEPARATOR
        slabel
        packageSpet1
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sid
        packageSpet1
        @/@shell/@packageComposite/@packageMenu/@deletePackageItem
        sname
        deleteCategoryMenuItem
        stext
        lang:d=删除目录&en=Delete Category
        sstyle
        PUSH
        sselected
        false
        senabled
        true
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        deletePackageItem
          @/@shell/@packageComposite/@packageMenu/@deletePackageItem/@listeners
          sname
          listeners
          slabel
          listeners
          sdescriptors
          xworker.swt.events.Listeners/@listeners
          sid
          listeners
            @/@shell/@packageComposite/@packageMenu/@deletePackageItem/@listeners/@deletePackageItemSelection
            sname
            deleteCategoryMenuItemSelection
            stype
            Selection
            sdescriptors
            xworker.swt.events.Listeners/@listeners/@Listener
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_mark
            false
            sid
            deletePackageItemSelection
              @/@shell/@packageComposite/@packageMenu/@deletePackageItem/@listeners/@deletePackageItemSelection/@confirm
              sname
              confirm
              sshell
              ognl:treeItem.getParent().getShell()
              sicon
              ICON_QUESTION
              sbuttons
              OK | CANCEL
              stitle
              lang:d=删除目录&en=Delete Category
              svariables
              treeItem
              smessage
              template:lang:d=确定要删除目录:${treeItem.getData().getPath()}吗?&en=Are you sure to delete category: ${treeItem.getData().getPath()}?
              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/@MessageBox
              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
              confirm
                @/@shell/@packageComposite/@packageMenu/@deletePackageItem/@listeners/@deletePackageItemSelection/@confirm/@actions
                sname
                actions
                sdescriptors
                xworker.swt.actions.MessageBoxActions/@MessageBox/@actions1
                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
                actions
                  @/@shell/@packageComposite/@packageMenu/@deletePackageItem/@listeners/@deletePackageItemSelection/@confirm/@actions/@confirm
                  sname
                  ok
                  sshell
                  ognl:treeItem.getParent().getShell()
                  sicon
                  ICON_QUESTION
                  sbuttons
                  OK | CANCEL
                  stitle
                  lang:d=删除目录&en=Delete Category
                  svariables
                  treeItem
                  smessage
                  template:lang:d=目录删除后不能恢复，确定要删除目录:${treeItem.getData().getPath()}吗?&en=Category deleted can not be restore. Are you sure to delete category: ${treeItem.getData().getPath()}?
                  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/@MessageBox
                  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
                  confirm
                    @/@shell/@packageComposite/@packageMenu/@deletePackageItem/@listeners/@deletePackageItemSelection/@confirm/@actions/@confirm/@actions
                    sname
                    actions
                    sdescriptors
                    xworker.swt.actions.MessageBoxActions/@MessageBox/@actions1
                    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
                    actions
                      @/@shell/@packageComposite/@packageMenu/@deletePackageItem/@listeners/@deletePackageItemSelection/@confirm/@actions/@confirm/@actions/@GroovyAction
                      sname
                      ok
                      slabel
                      GroovyAction
                      sisSynchronized
                      false
                      sthrowException
                      false
                      suseOtherAction
                      false
                      svarScope
                      Global
                      sdisableGlobalContext
                      false
                      Scode
#$@text#$@
//取当前索引    
def index = treeItem.getData();
def category = index.getIndexObject();//world.get(index.getPath());
category.getThingManager().removeCategory(category.getName());
index.getParent().refresh();
   
treeItem.dispose();
#$@text#$@
                      sinterpretationType
                      Action
                      screateLocalVarScope
                      false
                      ssaveReturn
                      false
                      sswitchResult
                      false
                      sdebugLog
                      false
                      sdescriptors
                      xworker.lang.actions.Actions/@GroovyAction
                      sid
                      GroovyAction
        @/@shell/@packageComposite/@packageMenu/@packageSpt2
        sname
        packageSpt2
        stext
        ""
        sstyle
        SEPARATOR
        slabel
        packageSpt2
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sid
        packageSpt2
        @/@shell/@packageComposite/@packageMenu/@refreshMenuItem
        sname
        refreshMenuItem
        stext
        lang:d=刷新&en=Refresh
        sstyle
        PUSH
        sselected
        false
        senabled
        true
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        refreshMenuItem
          @/@shell/@packageComposite/@packageMenu/@refreshMenuItem/@listeners
          sname
          listeners
          slabel
          listeners
          sdescriptors
          xworker.swt.events.Listeners/@listeners
          sid
          listeners
            @/@shell/@packageComposite/@packageMenu/@refreshMenuItem/@listeners/@refreshSelection
            sname
            refreshMenuItemSelection
            stype
            Selection
            sdescriptors
            xworker.swt.events.Listeners/@listeners/@Listener
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_mark
            false
            sid
            refreshSelection
              @/@shell/@packageComposite/@packageMenu/@refreshMenuItem/@listeners/@refreshSelection/@GroovyAction
              sname
              GroovyAction
              slabel
              GroovyAction
              sisSynchronized
              false
              sthrowException
              false
              suseOtherAction
              true
              sotherActionPath
              xworker.ide.worldexplorer.swt.dataExplorerParts.ProjectTreeMenu/@shell/@dataCenterComposite/@dataCenterMenu/@refreshMenu/@listeners/@refreshSelection/@GroovyAction
              svarScope
              Local
              sdisableGlobalContext
              false
              sinterpretationType
              Action
              screateLocalVarScope
              false
              ssaveReturn
              false
              sswitchResult
              false
              sdebugLog
              false
              sdescriptors
              xworker.lang.actions.Actions/@GroovyAction
              sid
              GroovyAction
        @/@shell/@packageComposite/@packageMenu/@packageSt3
        sname
        packageSt3
        sstyle
        SEPARATOR
        slabel
        packageSt3
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sid
        packageSt3
        @/@shell/@packageComposite/@packageMenu/@versionMenu
        sname
        rebuildIndexMenuItem
        stext
        label:xworker.swt.ide.worldexplorer.swt.i18n.I18nResource/@projectTreeMenu/@reindexMenuItem
        sstyle
        CASCADE
        sselected
        false
        senabled
        true
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        versionMenu
          @/@shell/@packageComposite/@packageMenu/@versionMenu/@listeners
          sname
          listeners
          slabel
          listeners
          sdescriptors
          xworker.swt.events.Listeners/@listeners
          sid
          listeners
            @/@shell/@packageComposite/@packageMenu/@versionMenu/@listeners/@versionMenuSelection
            sname
            rebuildIndexMenuItemSelection
            stype
            Selection
            sdescriptors
            xworker.swt.events.Listeners/@listeners/@Listener
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_mark
            false
            sid
            versionMenuSelection
              @/@shell/@packageComposite/@packageMenu/@versionMenu/@listeners/@versionMenuSelection/@GroovyAction
              sname
              GroovyAction
              sisSynchronized
              false
              sthrowException
              true
              suseOtherAction
              true
              sotherActionPath
              xworker.ide.worldexplorer.swt.dataExplorerParts.ProjectTreeMenu/@shell/@cactoryComposite/@facotyMenu/@versionMenu/@listeners/@versionMenuSelection/@GroovyAction
              svarScope
              Global
              sdisableGlobalContext
              false
              sinterpretationType
              Action
              screateLocalVarScope
              false
              ssaveReturn
              false
              sswitchResult
              false
              sdebugLog
              false
              sdescriptors
              xworker.lang.actions.Actions/@GroovyAction
              sid
              GroovyAction
        @/@shell/@packageComposite/@packageMenu/@packageSt5
        sname
        packageSt5
        sstyle
        SEPARATOR
        slabel
        packageSt5
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sid
        packageSt5
        @/@shell/@packageComposite/@packageMenu/@editMenuItem
        sname
        editMenuItem
        stext
        label:xworker.swt.ide.worldexplorer.swt.i18n.I18nResource/@projectTreeMenu/@editCuffentMenu
        sstyle
        PUSH
        sselected
        false
        senabled
        true
        slabel
        editMenuItem
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sid
        editMenuItem
          @/@shell/@packageComposite/@packageMenu/@editMenuItem/@listeners
          sname
          listeners
          slabel
          listeners
          sdescriptors
          xworker.swt.events.Listeners/@listeners
          sid
          listeners
            @/@shell/@packageComposite/@packageMenu/@editMenuItem/@listeners/@rebulidThingIndexSelection
            sname
            editMenuItemSelection
            stype
            Selection
            sref
            xworker.ide.worldexplorer.swt.dataExplorerParts.ProjectTreeMenu/@shell/@actions/@editMenuSelection
            sexceptionDialog
            false
            sdescriptors
            xworker.swt.events.Listeners/@listeners/@Listener
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_mark
            false
            sid
            rebulidThingIndexSelection
    @/@shell/@dataObjectComposite
    sname
    dataObjectComposite
    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
    dataObjectComposite
    sdescriptors
    xworker.swt.Widgets/@Composite
    sid
    dataObjectComposite
      @/@shell/@dataObjectComposite/@dataObjectMenuItem
      sname
      dataObjectMenuItem
      sstyle
      DROP_DOWN
      sNO_RADIO_GROUP
      false
      salign
      LEFT_TO_RIGHT
      slabel
      dataObjectMenuItem
      sdescriptors
      xworker.swt.Commons/@Menu
      sid
      dataObjectMenuItem
        @/@shell/@dataObjectComposite/@dataObjectMenuItem/@openMenuItem
        sname
        openMenuItem
        stext
        lang:d=打开&en=Open
        sstyle
        PUSH
        sselected
        false
        senabled
        true
        slabel
        openMenuItem
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sid
        openMenuItem
        @/@shell/@dataObjectComposite/@dataObjectMenuItem/@dataObjecSpte1
        sname
        dataObjecSpte1
        stext
        ""
        sstyle
        SEPARATOR
        slabel
        dataObjecSpte1
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sid
        dataObjecSpte1
        @/@shell/@dataObjectComposite/@dataObjectMenuItem/@deleteMenuItem
        sname
        deleteMenuItem
        stext
        lang:d=删除&en=Delete
        sstyle
        PUSH
        sselected
        false
        senabled
        true
        slabel
        deleteMenuItem
        sdescriptors
        xworker.swt.widgets.Menu/@MenuItem
        sid
        deleteMenuItem
          @/@shell/@dataObjectComposite/@dataObjectMenuItem/@deleteMenuItem/@listeners
          sname
          listeners
          slabel
          listeners
          sdescriptors
          xworker.swt.events.Listeners/@listeners
          sid
          listeners
            @/@shell/@dataObjectComposite/@dataObjectMenuItem/@deleteMenuItem/@listeners/@deleteSelection
            sname
            deleteSelection
            stype
            Selection
            slabel
            deleteSelection
            sdescriptors
            xworker.swt.events.Listeners/@listeners/@Listener
            sid
            deleteSelection
              @/@shell/@dataObjectComposite/@dataObjectMenuItem/@deleteMenuItem/@listeners/@deleteSelection/@script
              sname
              script
              slabel
              script
              sdescriptors
              xworker.swt.events.Listeners/@listeners/@Listener/@script
              sid
              script
    @/@shell/@actions
    sname
    actions
    slabel
    actions
    sdescriptors
    xworker.swt.Widgets/@actions
    sid
    actions
      @/@shell/@actions/@updateDbIndex
      sname
      updateDbIndex
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      svarScope
      Global
      sdisableGlobalContext
      false
      Scode
#$@text#$@
import org.xmeta.ActionContext;
import org.xmeta.ThingManager;

def index = treeItem.getData();
def path = index.path;
def obj = world.get(path);
def thingIndexActions = world.getThing("xworker.ide.db.dbindex.actions.ThingIndexActions");

new Thread([
    run:{
        def ac = new ActionContext();
        if(obj instanceof ThingManager){
            for(thing in obj.iterator("", true)){
                thingIndexActions.doAction("updateThingIndex", ac, ["thing":thing]);
                println "update thing index: " + thing.metadata.path;
            }
        }else{
            for(thing in obj.iterator("", true)){
                thingIndexActions.doAction("updateThingIndex", ac, ["thing":thing]);
                println "update thing index: " + thing.metadata.path;
            }
        }
        
        println "update thing index finished";
    }
] as Runnable).start();
#$@text#$@
      sdescriptors
      xworker.lang.actions.Actions/@GroovyAction
      sid
      updateDbIndex
      @/@shell/@actions/@rebulidDbIndex
      sname
      rebulidDbIndex
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      svarScope
      Global
      sdisableGlobalContext
      false
      Scode
#$@text#$@
import org.xmeta.ActionContext;
import org.xmeta.ThingManager;

def index = treeItem.getData();
def path = index.path;
def obj = world.get(path);
def thingIndexActions = world.getThing("xworker.ide.db.dbindex.actions.ThingIndexActions");

new Thread([
    run:{
        def ac = new ActionContext();
        if(obj instanceof ThingManager){
            for(thing in obj.iterator("", true)){
                thingIndexActions.doAction("updateThingIndex", ac, ["thing":thing, "rebulid":true]);
                println "update thing index: " + thing.metadata.path;
            }
        }else{
            for(thing in obj.iterator("", true)){
                thingIndexActions.doAction("updateThingIndex", ac, ["thing":thing, "rebulid":true]);
                println "update thing index: " + thing.metadata.path;
            }
        }
        
        println "update thing index finished";
    }
] as Runnable).start();
#$@text#$@
      sdescriptors
      xworker.lang.actions.Actions/@GroovyAction
      sid
      rebulidDbIndex
      @/@shell/@actions/@editMenuSelection
      sname
      editMenuSelection
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      svarScope
      Global
      sdisableGlobalContext
      false
      Scode
#$@text#$@
import org.xmeta.ActionContext;
import org.xmeta.ThingManager;

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

println actionContext.getObject("explorerActions");
def menu = world.getThing(menuPath);
if(menu != null){
    explorerActions.doAction("openThing", ["thing":menu]);
}
#$@text#$@
      sinterpretationType
      Action
      screateLocalVarScope
      false
      ssaveReturn
      false
      sswitchResult
      false
      sdebugLog
      false
      sdescriptors
      xworker.lang.actions.Actions/@GroovyAction
      sid
      editMenuSelection
      @/@shell/@actions/@exportToXml
      sname
      exportToXml
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      svarScope
      Global
      sdisableGlobalContext
      false
      Scode
#$@text#$@
import xworker.util.UtilXerXml;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.DirectoryDialog;

def parentShell = treeItem.getParent().getShell();
def index = treeItem.getData();
def xerPath = world.get(index.path).getFilePath();

def dialog = new DirectoryDialog(parentShell);
dialog.setMessage("请选择要导出的XML目录。");
def xmlPath = dialog.open();
if(xmlPath != null){
    def xerDir = new java.io.File(xerPath);
    def xmlDir = new java.io.File(xmlPath);
    new Thread({
        UtilXerXml.batchConvertXerToXml(xerDir, xmlDir);
        println "export end!!!";
    }).start();
}
#$@text#$@
      sdescriptors
      xworker.lang.actions.Actions/@GroovyAction
      sid
      exportToXml
      @/@shell/@actions/@importFromXml
      sname
      importFromXml
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      svarScope
      Global
      sdisableGlobalContext
      false
      Scode
#$@text#$@
import xworker.util.UtilXerXml;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.DirectoryDialog;

def parentShell = treeItem.getParent().getShell();
def index = treeItem.getData();
def xerPath = world.get(index.path).getFilePath();

def dialog = new DirectoryDialog(parentShell);
dialog.setMessage("请选择要导出的XML目录。");
def xmlPath = dialog.open();
if(xmlPath != null){
    def xerFile = new File(xerPath);
    def xmlFile = new File(xmlPath);
    new Thread({
        UtilXerXml.batchConvertXmlToXer(xmlFile, xerFile);
        println "import end!!!";
    }).start();
}
#$@text#$@
      sdescriptors
      xworker.lang.actions.Actions/@GroovyAction
      sid
      importFromXml
