blob: 64501cb9017ed6ea4403891ae96d31233a2e04de [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2006, 2010 Soyatec (http://www.soyatec.com) and others.
* 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:
* Soyatec - initial API and implementation
*******************************************************************************/
package org.eclipse.xwt.tools.ui.designer.core.editor;
import org.eclipse.gef.ContextMenuProvider;
import org.eclipse.gef.EditPartViewer;
import org.eclipse.gef.ui.actions.ActionRegistry;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.Separator;
import org.eclipse.ui.actions.ActionFactory;
/**
* @author jliu jin.liu@soyatec.com
*/
public class DesignerMenuProvider extends ContextMenuProvider {
private ActionRegistry actionRegistry;
public DesignerMenuProvider(EditPartViewer viewer,
ActionRegistry actionRegistry) {
super(viewer);
this.actionRegistry = actionRegistry;
}
public ActionRegistry getActionRegistry() {
return actionRegistry;
}
/*
* (non-Javadoc)
* @see org.eclipse.gef.ContextMenuProvider#menuAboutToShow(org.eclipse.jface.action.IMenuManager)
*/
public void menuAboutToShow(IMenuManager menu) {
menu.add(new Separator(DesignerActionConstants.UNDO));
menu.add(new Separator(DesignerActionConstants.DELETE));
menu.add(new Separator(DesignerActionConstants.PRINT));
menu.add(new Separator(DesignerActionConstants.COPY));
menu.add(new Separator(DesignerActionConstants.EDIT));
menu.add(new Separator(DesignerActionConstants.ACTIONS));
menu.add(new Separator(DesignerActionConstants.ADDITIONS));
super.menuAboutToShow(menu);
}
/*
* (non-Javadoc)
* @see org.eclipse.gef.ContextMenuProvider#buildContextMenu(org.eclipse.jface.action.IMenuManager)
*/
public void buildContextMenu(IMenuManager menu) {
ActionRegistry actionRegistry = getActionRegistry();
IAction action = actionRegistry.getAction(ActionFactory.REDO.getId());
if (action != null) {
menu.appendToGroup(DesignerActionConstants.UNDO, action);
}
action = actionRegistry.getAction(ActionFactory.UNDO.getId());
if (action != null) {
menu.appendToGroup(DesignerActionConstants.UNDO, action);
}
action = actionRegistry.getAction(ActionFactory.DELETE.getId());
if (action != null) {
menu.appendToGroup(DesignerActionConstants.DELETE, action);
}
action = actionRegistry.getAction(ActionFactory.COPY.getId());
if (action != null) {
menu.appendToGroup(DesignerActionConstants.COPY, action);
}
action = actionRegistry.getAction(ActionFactory.PASTE.getId());
if (action != null) {
menu.appendToGroup(DesignerActionConstants.COPY, action);
}
action = actionRegistry.getAction(ActionFactory.CUT.getId());
if (action != null) {
menu.appendToGroup(DesignerActionConstants.COPY, action);
}
action = actionRegistry.getAction(ActionFactory.SELECT_ALL.getId());
if (action != null) {
menu.appendToGroup(DesignerActionConstants.EDIT, action);
}
}
}