/**
* This file is part of Archiv-Editor.
*
* The software Archiv-Editor serves as a client user interface for working with
* the Person Data Repository. See: pdr.bbaw.de
*
* The software Archiv-Editor was developed at the Berlin-Brandenburg Academy
* of Sciences and Humanities, Jägerstr. 22/23, D-10117 Berlin.
* www.bbaw.de
*
* Copyright (C) 2010-2013 Berlin-Brandenburg Academy
* of Sciences and Humanities
*
* The software Archiv-Editor was developed by @author: Christoph Plutte.
*
* Archiv-Editor is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Archiv-Editor is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Archiv-Editor.
* If not, see <http://www.gnu.org/licenses/lgpl-3.0.html>.
*/
package org.bbaw.pdr.ae.standalone;
import org.eclipse.jface.action.GroupMarker;
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.ActionFactory.IWorkbenchAction;
import org.eclipse.ui.application.ActionBarAdvisor;
import org.eclipse.ui.application.IActionBarConfigurer;
/**
* An action bar advisor is responsible for creating, adding, and disposing of
* the actions added to a workbench window. Each window will be populated with
* new actions.
*/
public class ApplicationActionBarAdvisor extends ActionBarAdvisor
{
// Actions - important to allocate these only in makeActions, and then use
// them
// in the fill methods. This ensures that the actions aren't recreated
// when fillActionBars is called with FILL_PROXY.
/** The exit action. */
private IWorkbenchAction _exitAction;
/** The save action. */
private IWorkbenchAction _saveAction;
/** The save_as action. */
private IWorkbenchAction _saveAsAction;
/** The print action. */
private IWorkbenchAction _printAction;
/** The about action. */
private IWorkbenchAction _aboutAction;
/** The show help action. */
private IWorkbenchAction _showHelpAction;
/** The search help action. */
private IWorkbenchAction _searchHelpAction;
/** The dynamic help action. */
private IWorkbenchAction _dynamicHelpAction;
/** The change perspectiv action. */
private IWorkbenchAction _changePerspectivAction;
/**
* Instantiates a new application action bar advisor.
* @param configurer the configurer
*/
public ApplicationActionBarAdvisor(final IActionBarConfigurer configurer)
{
super(configurer);
}
@Override
protected final void fillMenuBar(final IMenuManager menuBar)
{
// MenuManager fileMenu = new MenuManager("&File",
// IWorkbenchActionConstants.M_FILE);
// menuBar.add(fileMenu);
// fileMenu.add(exitAction);
MenuManager helpMenu = new MenuManager("&Help", IWorkbenchActionConstants.M_HELP);
// Help
// XXX add an additions group because this is what SDK UI expects
helpMenu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
helpMenu.add(new Separator());
helpMenu.add(_aboutAction);
}
@Override
protected final void makeActions(final IWorkbenchWindow window)
{
// Creates the actions and registers them.
// Registering is needed to ensure that key bindings work.
// The corresponding commands keybindings are defined in the plugin.xml
// file.
// Registering also provides automatic disposal of the actions when
// the window is closed.
_saveAction = ActionFactory.SAVE.create(window);
register(_saveAction);
_saveAsAction = ActionFactory.SAVE_AS.create(window);
register(_saveAsAction);
_printAction = ActionFactory.PRINT.create(window);
register(_printAction);
_aboutAction = ActionFactory.ABOUT.create(window);
register(_aboutAction);
_exitAction = ActionFactory.QUIT.create(window);
register(_exitAction);
_showHelpAction = ActionFactory.HELP_CONTENTS.create(window);
register(_showHelpAction);
_searchHelpAction = ActionFactory.HELP_SEARCH.create(window);
register(_searchHelpAction);
_dynamicHelpAction = ActionFactory.DYNAMIC_HELP.create(window);
register(_dynamicHelpAction);
_changePerspectivAction = ActionFactory.OPEN_PERSPECTIVE_DIALOG.create(window);
register(_changePerspectivAction);
}
}