插件通过实现 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); }
这就是全部所需要的。当用户从工作台菜单栏或工具栏选择操作并且视图或编辑器活动时,将运行该操作。工作台将处理各个细节,以确保重定目标操作总是与当前活动的视图或编辑器相关联。