package net.sourceforge.sqlexplorer.rcp; import org.eclipse.jface.action.IContributionItem; import org.eclipse.jface.action.IMenuManager; import org.eclipse.jface.action.MenuManager; import org.eclipse.jface.action.Separator; import org.eclipse.ui.IWorkbenchActionConstants; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.actions.ActionFactory; import org.eclipse.ui.actions.ContributionItemFactory; import org.eclipse.ui.actions.ActionFactory.IWorkbenchAction; import org.eclipse.ui.application.ActionBarAdvisor; import org.eclipse.ui.application.IActionBarConfigurer; /** * ActionBarAdvisor. Creates default menu options like File > exit, etc. * * @author Davy Vanherbergen */ public class SQLExplorerActionBarAdvisor extends ActionBarAdvisor { private IWorkbenchAction _exitAction; private IWorkbenchAction _preferencesAction; private IContributionItem _viewList; /** * Default constructor. */ public SQLExplorerActionBarAdvisor(IActionBarConfigurer configurer) { super(configurer); } /** * Creates the actions and registers them. * Registering is needed to ensure that key bindings work. * * @see org.eclipse.ui.application.ActionBarAdvisor#makeActions(org.eclipse.ui.IWorkbenchWindow) */ protected void makeActions(final IWorkbenchWindow window) { _exitAction = ActionFactory.QUIT.create(window); register(_exitAction); _viewList = ContributionItemFactory.VIEWS_SHORTLIST.create(window); _preferencesAction = ActionFactory.PREFERENCES.create(window); } /** * Populate the menubar with actions. * * @see org.eclipse.ui.application.ActionBarAdvisor#fillMenuBar(org.eclipse.jface.action.IMenuManager) */ protected void fillMenuBar(IMenuManager menuBar) { // create menus MenuManager fileMenu = new MenuManager("&File", IWorkbenchActionConstants.M_FILE); MenuManager editMenu = new MenuManager("&Edit", IWorkbenchActionConstants.M_EDIT); MenuManager navigateMenu = new MenuManager("&Navigate", IWorkbenchActionConstants.M_NAVIGATE); MenuManager viewMenu = new MenuManager("&View", "sqlexplorer.View"); MenuManager helpMenu = new MenuManager("&Help", "help"); // create file menu menuBar.add(fileMenu); fileMenu.add(_preferencesAction); fileMenu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS)); fileMenu.add(_exitAction); // create edit menu menuBar.add(editMenu); editMenu.setVisible(false); // navigate menu is used by text editor menuBar.add(navigateMenu); navigateMenu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS)); navigateMenu.setVisible(false); // create view menu menuBar.add(viewMenu); viewMenu.add(_viewList); viewMenu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS)); // create help menu menuBar.add(helpMenu); } }