diff options
Diffstat (limited to 'examples/org.eclipse.emf.parsley.examples.rap.ui/src/org/eclipse/emf/parsley/examples/rap/ui/ApplicationActionBarAdvisor.java')
-rw-r--r-- | examples/org.eclipse.emf.parsley.examples.rap.ui/src/org/eclipse/emf/parsley/examples/rap/ui/ApplicationActionBarAdvisor.java | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/examples/org.eclipse.emf.parsley.examples.rap.ui/src/org/eclipse/emf/parsley/examples/rap/ui/ApplicationActionBarAdvisor.java b/examples/org.eclipse.emf.parsley.examples.rap.ui/src/org/eclipse/emf/parsley/examples/rap/ui/ApplicationActionBarAdvisor.java new file mode 100644 index 000000000..c7c595bf6 --- /dev/null +++ b/examples/org.eclipse.emf.parsley.examples.rap.ui/src/org/eclipse/emf/parsley/examples/rap/ui/ApplicationActionBarAdvisor.java @@ -0,0 +1,46 @@ +package org.eclipse.emf.parsley.examples.rap.ui; + +import org.eclipse.jface.action.IMenuManager; +import org.eclipse.jface.action.MenuManager; +import org.eclipse.ui.IWorkbenchActionConstants; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.actions.ActionFactory; +import org.eclipse.ui.actions.ActionFactory.IWorkbenchAction; +import org.eclipse.ui.application.ActionBarAdvisor; +import org.eclipse.ui.application.IActionBarConfigurer; + +/** + * Creates, adds and disposes actions for the menus and action bars of each + * workbench window. + */ +public class ApplicationActionBarAdvisor extends ActionBarAdvisor { + + public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) { + super(configurer); + } + + // Actions - important to allocate these only in makeActions, and then use + // them in the fill methods. This ensures that the actions aren't recreated + // in the fill methods. + private IWorkbenchAction exitAction; + + private IWorkbenchAction saveAction; + + protected void makeActions(IWorkbenchWindow window) { + // Creates the actions and registers them. Registering also + // provides automatic disposal of the actions when the window is closed. + exitAction = ActionFactory.QUIT.create(window); + register(exitAction); + saveAction = ActionFactory.SAVE.create(window); + register(saveAction); + } + + protected void fillMenuBar(IMenuManager menuBar) { + MenuManager fileMenu = new MenuManager("&File", + IWorkbenchActionConstants.M_FILE); + menuBar.add(fileMenu); + fileMenu.add(exitAction); + fileMenu.add(saveAction); + } + +} |