FAQ How do I hook into global actions, such as Copy and Delete?
View中如何关联关联全局的Retarget Action。
Certain standard toolbar and menu entries can be shared among several views and editors. These actions are called either global or retargetable actions and include such common tools as undo/redo, cut/copy/paste, print, find, delete, and more. Each view or editor is allowed to contribute a handler for these actions; when a new part becomes active, its handler takes control of that action.
A view typically registers its global action handlers in the createPartControl method:
IActionBars actionBars= getViewSite().getActionBars(); actionBars.setGlobalActionHandler( ActionFactory.COPY.getId(), copyAction);
You have to do this only once for each view that is created. The platform remembers your action handler and retargets the action each time the view becomes active. To unregister from a global action, simply invoke setGlobalActionHandler again and pass in a null value for the handler.
The IWorkbenchActionConstants interface in the org.eclipse.ui package contains a complete list of global actions. Look for constants in this interface with a comment saying “Global action.” In Eclipse 3.0, you can also look at the
ActionFactory and IDEActionFactory classes, which define factory objects for creating a variety of common actions.