blob: c36c58192c4a49d70a78094e87406cacc07eeee3 [file] [log] [blame]
/*
* Copyright (c) 2006, 2007 Borland Software Corporation.
* 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:
* Richard Gronback (Borland) - initial API and implementation
*/
package org.eclipse.gmf.examples.mindmap.rcp.application;
import java.util.Iterator;
import org.eclipse.emf.common.ui.action.WorkbenchWindowActionDelegate;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.edit.ui.action.LoadResourceAction;
import org.eclipse.gmf.examples.mindmap.rcp.part.Messages;
import org.eclipse.gmf.examples.mindmap.rcp.part.MindmapCreationWizard;
import org.eclipse.gmf.examples.mindmap.rcp.part.MindmapDiagramEditorPlugin;
import org.eclipse.gmf.examples.mindmap.rcp.part.MindmapDiagramEditorUtil;
import org.eclipse.jface.action.ActionContributionItem;
import org.eclipse.jface.action.GroupMarker;
import org.eclipse.jface.action.IAction;
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.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.swt.SWT;
import org.eclipse.ui.IActionDelegate;
import org.eclipse.ui.IWorkbenchActionConstants;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.actions.ActionFactory;
import org.eclipse.ui.application.ActionBarAdvisor;
import org.eclipse.ui.application.IActionBarConfigurer;
/**
* @generated
*/
public class DiagramEditorActionBarAdvisor extends ActionBarAdvisor {
/**
* @generated
*/
private ActionFactory.IWorkbenchAction lockToolBarAction;
/**
* @generated
*/
private ActionFactory.IWorkbenchAction toggleCoolbarAction;
/**
* @generated
*/
public DiagramEditorActionBarAdvisor(IActionBarConfigurer configurer) {
super(configurer);
}
/**
* @generated
*/
private IWorkbenchWindow getWindow() {
return getActionBarConfigurer().getWindowConfigurer().getWindow();
}
/**
* @generated
*/
protected void makeActions(IWorkbenchWindow window) {
toggleCoolbarAction = ActionFactory.TOGGLE_COOLBAR.create(window);
register(toggleCoolbarAction);
lockToolBarAction = ActionFactory.LOCK_TOOL_BAR.create(window);
register(lockToolBarAction);
register(ActionFactory.CLOSE.create(window));
register(ActionFactory.CLOSE_ALL.create(window));
register(ActionFactory.SAVE.create(window));
register(ActionFactory.SAVE_AS.create(window));
register(ActionFactory.SAVE_ALL.create(window));
register(ActionFactory.QUIT.create(window));
register(ActionFactory.UNDO.create(window));
register(ActionFactory.REDO.create(window));
register(ActionFactory.CUT.create(window));
register(ActionFactory.COPY.create(window));
register(ActionFactory.PASTE.create(window));
register(ActionFactory.DELETE.create(window));
register(ActionFactory.SELECT_ALL.create(window));
register(ActionFactory.OPEN_NEW_WINDOW.create(window));
register(ActionFactory.PRINT.create(window));
}
/**
* @generated
*/
protected void fillMenuBar(IMenuManager menu) {
{
IMenuManager menuX = new MenuManager(
Messages.ApplicationMenuName_File,
IWorkbenchActionConstants.M_FILE);
menuX.add(new GroupMarker(IWorkbenchActionConstants.FILE_START));
{
IMenuManager menuXX = new MenuManager(
Messages.ApplicationMenuName_New, "new");
menuXX.add(new GroupMarker(
IWorkbenchActionConstants.MB_ADDITIONS));
menuX.add(menuXX);
}
menuX.add(new Separator());
menuX.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
menuX.add(new Separator());
menuX.add(getAction(ActionFactory.CLOSE.getId()));
menuX.add(getAction(ActionFactory.CLOSE_ALL.getId()));
menuX.add(new Separator());
menuX.add(getAction(ActionFactory.SAVE.getId()));
menuX.add(getAction(ActionFactory.SAVE_AS.getId()));
menuX.add(getAction(ActionFactory.SAVE_ALL.getId()));
menuX.add(new Separator());
menuX.add(getAction(ActionFactory.QUIT.getId()));
menuX.add(new GroupMarker(IWorkbenchActionConstants.FILE_END));
menu.add(menuX);
}
{
IMenuManager menuX = new MenuManager(
Messages.ApplicationMenuName_Edit,
IWorkbenchActionConstants.M_EDIT);
menuX.add(new GroupMarker(IWorkbenchActionConstants.EDIT_START));
menuX.add(getAction(ActionFactory.UNDO.getId()));
menuX.add(getAction(ActionFactory.REDO.getId()));
menuX.add(new GroupMarker(IWorkbenchActionConstants.UNDO_EXT));
menuX.add(new Separator());
menuX.add(getAction(ActionFactory.CUT.getId()));
menuX.add(getAction(ActionFactory.COPY.getId()));
menuX.add(getAction(ActionFactory.PASTE.getId()));
menuX.add(new GroupMarker(IWorkbenchActionConstants.CUT_EXT));
menuX.add(new Separator());
menuX.add(getAction(ActionFactory.DELETE.getId()));
menuX.add(getAction(ActionFactory.SELECT_ALL.getId()));
menuX.add(new Separator());
menuX.add(new GroupMarker(IWorkbenchActionConstants.ADD_EXT));
menuX.add(new GroupMarker(IWorkbenchActionConstants.EDIT_END));
menuX.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
menu.add(menuX);
}
menu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
{
IMenuManager menuX = new MenuManager(
Messages.ApplicationMenuName_Window,
IWorkbenchActionConstants.M_WINDOW);
menuX.add(getAction(ActionFactory.OPEN_NEW_WINDOW.getId()));
menuX.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
menu.add(menuX);
}
{
IMenuManager menuX = new MenuManager(
Messages.ApplicationMenuName_Help,
IWorkbenchActionConstants.M_HELP);
menuX.add(new GroupMarker(IWorkbenchActionConstants.HELP_START));
menuX.add(new GroupMarker(IWorkbenchActionConstants.HELP_END));
menuX.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
menu.add(menuX);
}
}
/**
* @generated
*/
protected void fillCoolBar(ICoolBarManager toolBar) {
IMenuManager popUpMenu = new MenuManager();
popUpMenu.add(new ActionContributionItem(lockToolBarAction));
popUpMenu.add(new ActionContributionItem(toggleCoolbarAction));
toolBar.setContextMenuManager(popUpMenu);
toolBar.add(new GroupMarker("group.file"));
{
IToolBarManager toolBarX = new ToolBarManager();
toolBarX.add(new Separator(IWorkbenchActionConstants.NEW_GROUP));
toolBarX.add(new GroupMarker(IWorkbenchActionConstants.NEW_EXT));
toolBarX.add(new GroupMarker(IWorkbenchActionConstants.SAVE_GROUP));
toolBarX.add(getAction(ActionFactory.SAVE.getId()));
toolBarX.add(new GroupMarker(IWorkbenchActionConstants.SAVE_EXT));
toolBarX.add(getAction(ActionFactory.PRINT.getId()));
toolBarX.add(new GroupMarker(IWorkbenchActionConstants.PRINT_EXT));
toolBarX.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
toolBar.add(new ToolBarContributionItem(toolBarX,
IWorkbenchActionConstants.TOOLBAR_FILE));
}
toolBar.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
toolBar.add(new GroupMarker("group.nav"));
toolBar.add(new GroupMarker(IWorkbenchActionConstants.GROUP_EDITOR));
toolBar.add(new GroupMarker(IWorkbenchActionConstants.GROUP_HELP));
{
IToolBarManager toolBarX = new ToolBarManager();
toolBarX.add(new Separator(IWorkbenchActionConstants.GROUP_HELP));
toolBarX.add(new GroupMarker(IWorkbenchActionConstants.GROUP_APP));
toolBar.add(new ToolBarContributionItem(toolBarX,
IWorkbenchActionConstants.TOOLBAR_HELP));
}
}
/**
* @generated
*/
public static class NewDiagramAction extends WorkbenchWindowActionDelegate {
/**
* @generated
*/
public void run(IAction action) {
MindmapCreationWizard wizard = new MindmapCreationWizard();
wizard.init(getWindow().getWorkbench(), StructuredSelection.EMPTY);
WizardDialog wizardDialog = new WizardDialog(
getWindow().getShell(), wizard);
wizardDialog.open();
}
}
/**
* Open URI action for the Mindmap diagram.
* @generated
*/
public static class OpenURIAction extends WorkbenchWindowActionDelegate {
/**
* Opens the editors for the files selected using the LoadResourceDialog.
* @generated
*/
public void run(IAction action) {
LoadResourceAction.LoadResourceDialog loadResourceDialog = new LoadResourceAction.LoadResourceDialog(
getWindow().getShell());
if (Dialog.OK == loadResourceDialog.open()) {
for (Iterator it = loadResourceDialog.getURIs().iterator(); it
.hasNext();) {
MindmapDiagramEditorUtil.openEditor((URI) it.next());
}
}
}
}
/**
* Open action for the Mindmap diagram.
* @generated
*/
public static class OpenAction extends WorkbenchWindowActionDelegate {
/**
* Opens the editors for the files selected using the file dialog.
* @generated
*/
public void run(IAction action) {
String filePath = MindmapDiagramEditorUtil.openFilePathDialog(
getWindow().getShell(), "*.mmd", SWT.OPEN); //$NON-NLS-1$
if (filePath != null) {
MindmapDiagramEditorUtil
.openEditor(URI.createFileURI(filePath));
}
}
}
/**
* About action for the RCP application.
* @generated
*/
public static class AboutAction extends WorkbenchWindowActionDelegate {
/**
* @see IActionDelegate#run(IAction)
* @generated
*/
public void run(IAction action) {
MessageDialog.openInformation(getWindow().getShell(),
getString("_UI_About_title"), //$NON-NLS-1$
getString("_UI_About_text")); //$NON-NLS-1$
}
}
/**
* Looks up a string in the plugin.properties file for the plugin.
* @generated
*/
private static String getString(String key) {
return MindmapDiagramEditorPlugin.getInstance().getBundleString(key);
}
}