/* * ----------------------------------------------------------------------- * File: $HeadURL: http://keith-laptop/svn/krs/LanguageTest/trunk/org.thanlwinsoft.languagetest/src/org/thanlwinsoft/languagetest/eclipse/ApplicationActionBarAdvisor.java $ * Revision $LastChangedRevision: 1388 $ * Last Modified: $LastChangedDate: 2009-01-31 19:32:00 +0700 (Sat, 31 Jan 2009) $ * Last Change by: $LastChangedBy: keith $ * ----------------------------------------------------------------------- * Copyright (C) 2007 Keith Stribley <devel@thanlwinsoft.org> * * This library 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 2.1 of the License, or (at your option) any later version. * * This library 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 this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301 USA * ----------------------------------------------------------------------- */ package org.thanlwinsoft.languagetest.eclipse; import org.eclipse.jface.action.GroupMarker; 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.ToolBarContributionItem; import org.eclipse.jface.action.ToolBarManager; import org.thanlwinsoft.languagetest.eclipse.WelcomeAction; import org.thanlwinsoft.languagetest.MessageUtil; import org.thanlwinsoft.languagetest.eclipse.views.MetaDataView; import org.thanlwinsoft.languagetest.eclipse.views.RecordingView; import org.thanlwinsoft.languagetest.eclipse.views.TestView; import org.eclipse.swt.SWT; 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 { // 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. private IWorkbenchAction exitAction; private IWorkbenchAction aboutAction; private IWorkbenchAction cutAction; private IWorkbenchAction copyAction; private IWorkbenchAction pasteAction; private IWorkbenchAction newAction; private IWorkbenchAction newWizardAction; private IWorkbenchAction preferencesAction; private IWorkbenchAction undoAction; private IWorkbenchAction saveAction; private IWorkbenchAction saveAllAction; private IWorkbenchAction closeAction; private IWorkbenchAction closeAllAction; private IWorkbenchAction showViewAction; private IWorkbenchAction showTestViewAction; private IWorkbenchAction showRecordingViewAction; private IWorkbenchAction showMetaDataViewAction; private IWorkbenchAction newWindowAction; //private OpenViewAction openViewAction; //private Action messagePopupAction; //private Action conversionWizardAction; private IWorkbenchAction newEditorAction; private ShowViewAction showNavigatorViewAction; private IWorkbenchAction exportAction; private WelcomeAction welcomeAction; private IWorkbenchAction printAction; public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) { super(configurer); } protected void makeActions(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. exitAction = ActionFactory.QUIT.create(window); register(exitAction); aboutAction = ActionFactory.ABOUT.create(window); register(aboutAction); register(ActionFactory.OPEN_PERSPECTIVE_DIALOG.create(window)); copyAction = ActionFactory.COPY.create(window); register(copyAction); cutAction = ActionFactory.CUT.create(window); register(cutAction); pasteAction = ActionFactory.PASTE.create(window); register(pasteAction); printAction = ActionFactory.PRINT.create(window); register(printAction); newWizardAction = ActionFactory.NEW_WIZARD_DROP_DOWN.create(window); register(newWizardAction); newAction = ActionFactory.NEW.create(window); register(newAction); undoAction = ActionFactory.UNDO.create(window); register(undoAction); saveAction = ActionFactory.SAVE.create(window); register(saveAction); saveAllAction = ActionFactory.SAVE_ALL.create(window); register(saveAllAction); exportAction = ActionFactory.EXPORT.create(window); register(exportAction); closeAction = ActionFactory.CLOSE.create(window); register(closeAction); closeAllAction = ActionFactory.CLOSE_ALL.create(window); register(closeAllAction); preferencesAction = ActionFactory.PREFERENCES.create(window); register(preferencesAction); showViewAction = ActionFactory.SHOW_VIEW_MENU.create(window); register(showViewAction); newWindowAction = ActionFactory.OPEN_NEW_WINDOW.create(window); register(newWindowAction); newEditorAction = ActionFactory.NEW_EDITOR.create(window); register(newEditorAction); showTestViewAction = new ShowViewAction(EditPerspective.ID, TestView.ID, MessageUtil.getString("ShowTestView")); // showHistoryViewAction = new ShowViewAction(HistoryPerspective.ID, // TestHistoryView.ID, MessageUtil.getString("ShowHistoryView")); showNavigatorViewAction = new ShowViewAction( EditPerspective.ID, "org.thanlwinsoft.languagetest.Navigator", MessageUtil.getString("ShowNavigatorView")); showRecordingViewAction = new ShowViewAction(EditPerspective.ID, RecordingView.ID, MessageUtil.getString("ShowRecordingView")); // showHistoryGraphViewAction = new ShowViewAction( // HistoryPerspective.ID, ChartHistoryView.ID, // MessageUtil.getString("ShowHistoryGraphView")); showMetaDataViewAction = new ShowViewAction(EditPerspective.ID, MetaDataView.ID, MessageUtil.getString("ShowMetaDataView")); register(showTestViewAction); //register(showHistoryViewAction); register(showNavigatorViewAction); register(showRecordingViewAction); //register(showHistoryGraphViewAction); welcomeAction = new WelcomeAction(); register(welcomeAction); } protected void fillMenuBar(IMenuManager menuBar) { MenuManager fileMenu = new MenuManager(MessageUtil.getString("Menu_File"), IWorkbenchActionConstants.M_FILE); MenuManager editMenu = new MenuManager(MessageUtil.getString("Menu_Edit"), IWorkbenchActionConstants.M_EDIT); MenuManager projectMenu = new MenuManager(MessageUtil.getString("Menu_Window"), IWorkbenchActionConstants.M_PROJECT); MenuManager windowMenu = new MenuManager(MessageUtil.getString("Menu_Window"), IWorkbenchActionConstants.M_WINDOW); MenuManager helpMenu = new MenuManager(MessageUtil.getString("Menu_Help"), IWorkbenchActionConstants.M_HELP); menuBar.add(fileMenu); menuBar.add(editMenu); menuBar.add(projectMenu); GroupMarker gm = new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS); menuBar.add(gm); menuBar.add(windowMenu); // Add a group marker indicating where action set menus will appear. menuBar.add(helpMenu); // File fileMenu.add(saveAction); fileMenu.add(saveAllAction); fileMenu.add(closeAction); fileMenu.add(closeAllAction); fileMenu.add(printAction); fileMenu.add(exportAction); fileMenu.add(new GroupMarker("File/additions")); fileMenu.add(new GroupMarker("org.thanlwinsoft.languagetest.PDFChartGenerator")); fileMenu.add(new Separator()); //fileMenu.add(messagePopupAction); //fileMenu.add(openViewAction); fileMenu.add(newWizardAction); fileMenu.add(newAction); fileMenu.add(new Separator()); fileMenu.add(exitAction); editMenu.add(undoAction); editMenu.add(cutAction); editMenu.add(copyAction); editMenu.add(pasteAction); editMenu.add(new GroupMarker("org.eclipse.ui.edit.text.gotoLastEditPosition")); windowMenu.add(preferencesAction); //windowMenu.add(showViewAction); //windowMenu.add(newWindowAction); windowMenu.add(newEditorAction); windowMenu.add(showTestViewAction); //windowMenu.add(showHistoryViewAction); windowMenu.add(showNavigatorViewAction); windowMenu.add(showRecordingViewAction); //windowMenu.add(showHistoryGraphViewAction); windowMenu.add(showMetaDataViewAction); // Help helpMenu.add(welcomeAction); helpMenu.add(aboutAction); } /* (non-Javadoc) * @see org.eclipse.ui.application.ActionBarAdvisor#fillCoolBar(org.eclipse.jface.action.ICoolBarManager) */ //@Override protected void fillCoolBar(ICoolBarManager coolBar) { //CoolBarManager coolBar = new CoolBarManager(); IToolBarManager toolBar = new ToolBarManager(SWT.FLAT | SWT.RIGHT); coolBar.add(new ToolBarContributionItem(toolBar, "main")); toolBar.add(saveAction); toolBar.add(undoAction); toolBar.add(cutAction); toolBar.add(copyAction); toolBar.add(pasteAction); toolBar.add(printAction); toolBar.add(new GroupMarker("Bar/additions")); //toolBar.add(preferencesAction); } }