插件通过实现 IAction 并向视图或编辑器部件的操作栏将其注册为全局操作处理程序来对该部件添加可重定目标的操作。在视图中,这通常是在该部件创建其操作和控件时完成的。对于编辑器来说,请参阅可重定目标的编辑器操作。重定目标操作的名称(在 IWorkbenchActionConstants 中定义)用来指定处理程序的相关操作。以下代码说明了工作台任务列表如何为 PROPERTIES 操作注册其处理程序。
public void createPartControl(Composite parent) { ... makeActions(); ... // Add global action handlers. ... getViewSite().getActionBars().setGlobalActionHandler( IWorkbenchActionConstants.PROPERTIES, propertiesAction); ...
属性操作是在局部方法 makeActions 中创建的:
void makeActions() { ... // properties propertiesAction = new TaskPropertiesAction(this, "properties"); propertiesAction.setText(TaskListMessages.getString("Properties.text")); propertiesAction.setToolTipText(TaskListMessages.getString("Properties.tooltip")); propertiesAction.setEnabled(false); }
这就是所需的全部内容。当用户从工作台菜单栏或工具栏中选择操作,并且视图或编辑器处于活动状态时,将运行该操作。工作台将对细节进行处理,以确保重定目标操作始终与当前活动的视图相关联。对于通过 EditorActionBarContributor 提供的编辑器操作来说,情况亦如此。