Package com.subgraph.vega.application

Source Code of com.subgraph.vega.application.ApplicationActionBarAdvisor

/*******************************************************************************
* Copyright (c) 2011 Subgraph.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
*     Subgraph - initial API and implementation
******************************************************************************/
package com.subgraph.vega.application;

import org.eclipse.jface.action.ActionContributionItem;
import org.eclipse.jface.action.ContributionItem;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.IStatusLineManager;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.action.Separator;
import org.eclipse.jface.action.StatusLineManager;
import org.eclipse.jface.util.Util;
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;

public class ApplicationActionBarAdvisor extends ActionBarAdvisor {

  private ActionContributionItem preferenceItem;
  private ActionContributionItem quitItem;
  private ActionContributionItem resetPerspectiveItem;
  private ActionContributionItem aboutItem;
   
    public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {
        super(configurer);
    }

    protected void makeActions(IWorkbenchWindow window) {
      preferenceItem = createItem(ActionFactory.PREFERENCES, window);
      quitItem = createItem(ActionFactory.QUIT, window);
      resetPerspectiveItem = createItem(ActionFactory.RESET_PERSPECTIVE, window);
      aboutItem = createItem(ActionFactory.ABOUT, window);
    }

    private ActionContributionItem createItem(ActionFactory factory, IWorkbenchWindow window) {
      final IWorkbenchAction action = factory.create(window);
      register(action);
      return new ActionContributionItem(action);
    }
   
  
    protected void fillMenuBar(IMenuManager menuBar) {
      MenuManager fileMenu = new MenuManager("&File", IWorkbenchActionConstants.M_FILE);
      MenuManager winMenu = new MenuManager("&Window", IWorkbenchActionConstants.M_WINDOW);
        MenuManager helpMenu = new MenuManager("&Help", IWorkbenchActionConstants.M_HELP);
       
      winMenu.add(preferenceItem);
     
      final Separator quitSeparator = new Separator("vega.quit");
      fileMenu.add(quitSeparator);
      fileMenu.add(quitItem);
     
      MenuManager viewMenu = new MenuManager("Show View");
      winMenu.add(viewMenu);
      winMenu.add(resetPerspectiveItem);
      menuBar.add(fileMenu);
      menuBar.insertAfter(IWorkbenchActionConstants.M_FILE, winMenu);
      menuBar.insertAfter(IWorkbenchActionConstants.M_WINDOW, helpMenu);

      final Separator helpSeparator = new Separator("vega.help");
      helpMenu.add(helpSeparator);
      helpMenu.add(aboutItem);
     
      if(Util.isMac()) {
        preferenceItem.setVisible(false);
        quitItem.setVisible(false);
        quitSeparator.setVisible(false);
        aboutItem.setVisible(false);
       
      }
    }
   
    protected void fillStatusLine(IStatusLineManager statusLine) {
      ContributionItem statusLineItem = com.subgraph.vega.ui.http.Activator.getDefault().getStatusLineContribution();
      statusLine.appendToGroup(StatusLineManager.END_GROUP, statusLineItem);
    }
   
}
TOP

Related Classes of com.subgraph.vega.application.ApplicationActionBarAdvisor

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.