操作和添加项

操作类允许您定义用户命令而不考虑它们在用户界面中的表示。这使您能够灵活地更改操作在插件中的表示,不必在选择某个命令时更改实际执行该命令的代码。添加项类用来管理表示命令的实际用户界面项。您不需要对添加项类编程,但是,您将在某些工作台和 JFace API 中看到它们。

操作

操作(IAction)表示可以由最终用户触发的命令。操作通常与按钮、菜单项和工具栏中的项相关联。

尽管操作本身不放置在用户界面中,但是它们确实具有面向用户界面的属性,例如,工具提示文本、标签文本和图像。这允许其它类为操作的表示构造窗口小部件。

当用户触发用户界面中的操作时,就会调用该操作的 run 方法来执行实际工作。run 方法中的常见模式是查询工作台选择并处理所选的对象。另一种常见模式是在选择操作时启动向导或对话框。

您不必直接实现 IAction 接口。而是应该对 Action 类划分子类。浏览此类的子类,以便了解操作的许多常见模式。以下代码实现了“关于”操作。它是工作台中最简单的操作之一。

      public void run() {
      new AboutDialog(workbenchWindow.getShell()).open();
   }

以前我们了解了工作台接口 IViewActionDelegateIEditorActionDelegate。在向工作台添加视图操作或编辑器操作时,就会使用这些接口。工作台操作代表是利用与它们相关联的视图或编辑器来初始化的。借助此认知,它们可以浏览工作台页面或窗口,访问执行操作所需要的选择或任何其它信息。

每当您想要在插件中定义命令时,就将实现您自己的操作类。如果您正在向其它视图和编辑器添加操作,则将实现操作代表。

添加项

添加项(IContributionItem)表示操作的用户界面部分。更准确的说,它表示添加到共享用户界面资源的项,例如,菜单或工具栏。

添加项知道如何利用表示该添加的相应 SWT 项来填充特定的 SWT 窗口小部件。

当您正在为工作台用户界面添加操作时,不必担心创建添加项。当工作台为已定义的操作创建用户界面项时,以您的名义完成了此任务。

添加项管理器

添加项管理器(IContributionManager)表示将在用户界面中提供的添加项的集合。可以通过使用已命名的添加标识来添加和插入添加项,以便按照相应的顺序来放置这些添加项。还可以根据标识来查找添加项和除去各个项。

IContributionManager 的每种实现都知道如何使用 SWT 窗口小部件的项来填充该窗口小部件。JFace 为菜单(IMenuManager)、工具栏(IToolBarManager)和状态行(IStatusLineManager)提供了添加项管理器。

作为插件开发者,您不需要实现这些接口,但是,在 API 方法中,您将看到对其中某些管理器的引用。