org.carrot2.workbench.core.ApplicationActionBarAdvisor.java Source code

Java tutorial

Introduction

Here is the source code for org.carrot2.workbench.core.ApplicationActionBarAdvisor.java

Source

/*
 * Carrot2 project.
 *
 * Copyright (C) 2002-2016, Dawid Weiss, Stanisaw Osiski.
 * 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);
    }
}