如何根据透视图启用和禁用actionSet

时间:2016-04-17 16:03:36

标签: eclipse-plugin

我想隐藏用户创建的搜索项。即搜索> xxx_item。此项应仅对用户定义的透视图启用。下面是用于相同的actionSet。请为我提供可行的解决方案。

<extension point="org.eclipse.ui.actionSets">
    <actionSet
        id="org.eclipse.search.searchActionSet1"
        label="Search"
        visible="true">

    <menu
            id="org.eclipse.search.menu"
            label="Search"
            path="navigate">
            <groupMarker name="xxxGroup"/>   
    </menu>
    <action id="com.xxx.udt.ui.MCPOpenFileSearchPage"
            definitionId="com.xxx.udt.ui.MCPOpenFileSearchPage"
            menubarPath="org.eclipse.search.menu/mcpGroup"
            label="%action.MCPFileSearch"
            icon="icons/full/search/MCPSearchDialog.png"
            helpContextId="file_search_action_context"
            class="com.xxx.udt.ui.MCPOpenFileSearchPage" >

    </action>
    </actionSet>
</extension>

1 个答案:

答案 0 :(得分:1)

使用org.eclipse.ui.perspectiveExtensions扩展点。

在操作集的org.eclipse.ui.actionSets定义中,指定visible="false"以使操作集默认为不显示。

例如,这是Eclipse调试断点操作集:

<extension point="org.eclipse.ui.actionSets">
    <actionSet
        label="%BreakpointActionSet.label"
        visible="false"
        id="org.eclipse.debug.ui.breakpointActionSet">

然后在透视图扩展中指定要在其中显示集合的透视图中设置的操作。

例如,使用以下命令在调试透视图中显示调试断点操作集:

<extension
     point="org.eclipse.ui.perspectiveExtensions">
  <perspectiveExtension
        targetID="org.eclipse.debug.ui.DebugPerspective">
     <actionSet
           id="org.eclipse.debug.ui.breakpointActionSet">
     </actionSet>