org.eclipse.ui.perspectives

我们已经了解了工作台允许用户控制插件功能的外观所采用的一些方法。可以使用透视图 -> 显示视图菜单来隐藏或显示视图。可以使用透视图 -> 定制...菜单来隐藏或显示操作集。这些功能部件帮助用户以微粒级别来组织工作台中的聚集。

透视图

透视图提供了组织的附加层。当用户在任务之间移动时,他们可以在透视图之间进行切换。透视图定义视图的初始集合和布局,当用户首次切换到该透视图时,就应该使用视图的初始集合和布局。它还定义初始可视操作集。

平台本身会定义一个透视图:资源透视图。其他平台插件(例如,帮助系统和 Java 工具)定义其他透视图。通过向 org.eclipse.ui.perspectives 扩展点进行添加,插件可以定义它自己的透视图。

plugin.xml 中的透视图的规范是简单明了的。工作台使用以下标记来定义它自己的资源透视图。

<extension
    point="org.eclipse.ui.perspectives">
    <perspective
        id="org.eclipse.ui.resourcePerspective"
        name="Resource"
        class="org.eclipse.ui.internal.ResourcePerspective">
    </perspective>
</extension>

插件必须提供透视图的标识名称,并且提供实现透视图的的名称。还可以指定图标。透视图类应当实现 IPerspectiveFactory

我们可以从标记中了解到在代码中发生了实际工作。透视图生成器的接口是简单明了的。IPerspectiveFactory 的实现者应该利用描述透视图及其透视图页面布局的信息来配置 IPageLayout

工作台部件布局

IPageLayout 的其中一项主要工作就是描述工作台窗口中的编辑器和视图的布置。注意,这些布局不同于 SWT 中的布局类。尽管 IPageLayout布局解决相似的问题(缩放和定位大型区域中的小窗口), 但是,您不需要了解 SWT 布局就可以提供透视图页面布局。

利用一个区域来初始化透视图页面布局,以便显示编辑器。透视图生成器负责添加与编辑器相关的附加视图。根据与另一个部件存在的关系(顶部、底部、左边和右边)将视图添加到布局中。还可为不是最初显示的视图添加占位符(空白空间)。

IFolderLayout 可以用来将视图组成选项卡式的文件夹。例如,“资源”透视图将文件夹内的资源导航器放在工作台的左上角。占位符常用于文件夹布局。“资源”透视图为与资源导航器处于同一个文件夹中的书签视图定义占位符。如果用户显示书签视图,则它将与导航器出现在同一文件夹中,每个视图都有一个标记。

IPageLayout 也允许您将操作集添加到透视图中。还可以将许多快捷方式添加至与透视图相关的菜单。新向导快捷方式会将新条目添加至透视图的文件 -> 新建菜单并调用相应的向导。 当透视图活动时,视图快捷方式添加应该出现在透视图 -> 显示视图菜单中的视图的名称。当透视图活动时,透视图快捷方式添加应该出现在透视图 -> 打开菜单中的透视图的名称。