如何从Windows中删除视图 - >显示视图列表?

时间:2014-03-27 08:10:31

标签: swt eclipse-rcp jface

我认为我正在永久地设定我的观点。 此视图无法关闭,无法从Windows打开 - >显示观点

我从Windows中删除View - >查看清单。

我将如何实现这一目标?

我尝试了你的解决方案它正在做的事情,但它也从视角中删除视图。以下是我遵循的步骤..

我在plugin.XML中添加了以下视图

<view
     allowMultiple="false"
     category="org.view.ui.IDECategory"
     class="org.view.ui.BannerInformationView"    
     id="org.view.ui.BannerInformationView"
     name="BannerInfo"
     restorable="true">
</view>

在此之后,我在我的观点中添加了这个视图

public void defineLayout( IPageLayout layout )
    {
        layout.setEditorAreaVisible( true );
        layout.addStandaloneView( BANNER_INFO_VIEW_ID, false, IPageLayout.TOP, 0.03f, layout.getEditorArea() );
        IViewLayout viewLayout = layout.getViewLayout( BANNER_INFO_VIEW_ID );
        viewLayout.setMoveable( false );
    }

现在我已添加活动以隐藏我的视图名称,从显示视图菜单

<extension point="org.eclipse.ui.activities">
     <activity
           id="activity.ide"
           name="ide">
     </activity>
     <activityPatternBinding
           activityId="activity.ide"
           isEqualityPattern="true"
           pattern="org.view.ui.IDECategory.pluginid/org.view.ui.BannerInformationView">
     </activityPatternBinding>
  </extension>

现在我的问题是,从窗口隐藏视图条目 - &gt;显示视图,它也隐藏了我的视角。

我想隐藏显示视图中的唯一条目,以便用户无法对其执行任何操作,但应始终在我的视角中显示。

1 个答案:

答案 0 :(得分:3)

视图列表由activities列表过滤。因此,您可以定义一个活动来取消视图:

<extension point="org.eclipse.ui.activities">  
  <activity id="activity.id" name="Name">
  </activity>
  <activityPatternBinding
     activityId="activity.id"
     isEqualityPattern="true"
     pattern="plugin.id/view.id">
  </activityPatternBinding>
 </extension>

注意:pattern值是&#39;贡献插件ID /视图ID&#39;,常见的错误是遗漏了插件ID。