/*
* Carrot2 project.
*
* Copyright (C) 2002-2016, Dawid Weiss, Stanisław Osiński.
* All rights reserved.
*
* Refer to the full license file "carrot2.LICENSE"
* in the root folder of the repository checkout or at:
* http://www.carrot2.org/carrot2.LICENSE
*/
package org.carrot2.workbench.core;
import org.eclipse.jface.action.GroupMarker;
import org.eclipse.jface.action.IContributionItem;
import org.eclipse.jface.action.ICoolBarManager;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.action.Separator;
import org.eclipse.jface.action.ToolBarManager;
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;
/**
*
*/
final class ApplicationActionBarAdvisor extends ActionBarAdvisor
{
private IWorkbenchAction closeAction;
private IWorkbenchAction closeAllAction;
private IWorkbenchAction closeOthersAction;
private IWorkbenchAction openPreferencesAction;
private IWorkbenchAction exitAction;
private IWorkbenchAction aboutAction;
private IWorkbenchAction saveAsAction;
private IContributionItem changePerspMenuItem;
private IContributionItem showViewMenu;
/*
*
*/
public ApplicationActionBarAdvisor(IActionBarConfigurer configurer)
{
super(configurer);
}
/*
*
*/
protected void makeActions(IWorkbenchWindow window)
{
exitAction = ActionFactory.QUIT.create(window);
register(exitAction);
saveAsAction = ActionFactory.SAVE_AS.create(window);
register(saveAsAction);
closeAction = ActionFactory.CLOSE.create(window);
register(closeAction);
closeAllAction = ActionFactory.CLOSE_ALL.create(window);
register(closeAllAction);
closeOthersAction = ActionFactory.CLOSE_OTHERS.create(window);
register(closeOthersAction);
aboutAction = ActionFactory.ABOUT.create(window);
register(aboutAction);
openPreferencesAction = ActionFactory.PREFERENCES.create(window);
register(openPreferencesAction);
changePerspMenuItem =
ContributionItemFactory.PERSPECTIVES_SHORTLIST.create(window);
showViewMenu = ContributionItemFactory.VIEWS_SHORTLIST.create(window);
}
/*
*
*/
@Override
protected void fillCoolBar(ICoolBarManager coolBar)
{
super.fillCoolBar(coolBar);
/*
* File-related toolbar actions
*/
final IToolBarManager fileToolBar = new ToolBarManager(coolBar.getStyle());
fileToolBar.add(saveAsAction);
fileToolBar.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
coolBar.add(fileToolBar);
}
/*
*
*/
protected void fillMenuBar(IMenuManager menuBar)
{
final MenuManager fileMenu = new MenuManager("&File", "org.carrot2.menus.file");
fileMenu.add(closeAction);
fileMenu.add(closeAllAction);
fileMenu.add(new Separator());
fileMenu.add(saveAsAction);
fileMenu.add(new Separator());
fileMenu.add(exitAction);
final MenuManager aboutMenu = new MenuManager("&About", "org.carrot2.menus.about");
aboutMenu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
aboutMenu.add(aboutAction);
final MenuManager changePerspMenuMgr = new MenuManager("Open Perspective", "org.carrot2.menus.openperspective");
changePerspMenuMgr.add(changePerspMenuItem);
MenuManager showViewMenuMgr = new MenuManager("Show view", "org.carrot2.menus.showview");
showViewMenuMgr.add(showViewMenu);
final MenuManager windowMenu = new MenuManager("&Window", "org.carrot2.menus.window");
windowMenu.add(changePerspMenuMgr);
windowMenu.add(showViewMenuMgr);
windowMenu.add(openPreferencesAction);
menuBar.add(fileMenu);
menuBar.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
menuBar.add(windowMenu);
menuBar.add(aboutMenu);
}
}