blob: cae02e01a8ce1cccc255e1b80f70c20c205bf9ae [file] [log] [blame]
/******************************************************************************
* Copyright (c) 2002, 2006 IBM Corporation 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:
* IBM Corporation - initial API and implementation
****************************************************************************/
package org.eclipse.gmf.runtime.diagram.ui.geoshapes.internal.providers;
import org.eclipse.gmf.runtime.common.ui.services.action.contributionitem.AbstractContributionItemProvider;
import org.eclipse.gmf.runtime.common.ui.util.IWorkbenchPartDescriptor;
import org.eclipse.gmf.runtime.diagram.ui.actions.internal.CreateConnectionViewAction;
import org.eclipse.gmf.runtime.diagram.ui.actions.internal.CreateShapeViewAction;
import org.eclipse.gmf.runtime.diagram.ui.geoshapes.internal.l10n.DiagramUIGeoshapesMessages;
import org.eclipse.gmf.runtime.diagram.ui.geoshapes.internal.l10n.DiagramUIGeoshapesPluginImages;
import org.eclipse.gmf.runtime.diagram.ui.geoshapes.internal.ui.actions.ActionIds;
import org.eclipse.jface.action.IAction;
import org.eclipse.ui.IWorkbenchPage;
/**
* @author jschofie
*
* Creates the actions that can be performed on the various Geometric Shapes
*/
public class GeoshapeContributionItemProvider
extends AbstractContributionItemProvider {
/**
* The constructor
*/
public GeoshapeContributionItemProvider() {
super();
}
/*
* (non-Javadoc)
*
* @see org.eclipse.gmf.runtime.common.ui.services.action.contributionitem.AbstractContributionItemProvider#createAction(java.lang.String,
* org.eclipse.gmf.runtime.common.ui.util.IWorkbenchPartDescriptor)
*/
protected IAction createAction(String actionId,
IWorkbenchPartDescriptor partDescriptor) {
IWorkbenchPage workbenchPage = partDescriptor.getPartPage();
if (actionId.equals(ActionIds.ACTION_ADD_LINE)) {
return new CreateConnectionViewAction(workbenchPage,
ActionIds.ACTION_ADD_LINE, GeoshapeConstants.TOOL_LINE,
DiagramUIGeoshapesMessages.geoshape_LineTool_Label,
DiagramUIGeoshapesPluginImages.DESC_LINE);
}
if (actionId.equals(ActionIds.ACTION_ADD_OVAL)) {
return new CreateShapeViewAction(workbenchPage,
ActionIds.ACTION_ADD_OVAL, GeoshapeConstants.TOOL_OVAL,
DiagramUIGeoshapesMessages.geoshape_OvalTool_Label,
DiagramUIGeoshapesPluginImages.DESC_OVAL);
}
if (actionId.equals(ActionIds.ACTION_ADD_TRIANGLE)) {
return new CreateShapeViewAction(workbenchPage,
ActionIds.ACTION_ADD_TRIANGLE, GeoshapeConstants.TOOL_TRIANGLE,
DiagramUIGeoshapesMessages.geoshape_TriangleTool_Label,
DiagramUIGeoshapesPluginImages.DESC_TRIANGLE);
}
if (actionId.equals(ActionIds.ACTION_ADD_RECTANGLE)) {
return new CreateShapeViewAction(workbenchPage,
ActionIds.ACTION_ADD_RECTANGLE,
GeoshapeConstants.TOOL_RECTANGLE,
DiagramUIGeoshapesMessages.geoshape_RectangleTool_Label,
DiagramUIGeoshapesPluginImages.DESC_RECTANGLE);
}
if (actionId.equals(ActionIds.ACTION_ADD_SHADOWRECTANGLE)) {
return new CreateShapeViewAction(workbenchPage,
ActionIds.ACTION_ADD_SHADOWRECTANGLE,
GeoshapeConstants.TOOL_SHADOWRECTANGLE,
DiagramUIGeoshapesMessages.geoshape_ShadowRectangleTool_Label,
DiagramUIGeoshapesPluginImages.DESC_SHADOWRECTANGLE);
}
if (actionId.equals(ActionIds.ACTION_ADD_3DRECTANGLE)) {
return new CreateShapeViewAction(workbenchPage,
ActionIds.ACTION_ADD_3DRECTANGLE,
GeoshapeConstants.TOOL_3DRECTANGLE,
DiagramUIGeoshapesMessages.geoshape_3DRectangleTool_Label,
DiagramUIGeoshapesPluginImages.DESC_3DRECTANGLE);
}
if (actionId.equals(ActionIds.ACTION_ADD_ROUNDRECTANGLE)) {
return new CreateShapeViewAction(workbenchPage,
ActionIds.ACTION_ADD_ROUNDRECTANGLE,
GeoshapeConstants.TOOL_ROUNDRECTANGLE,
DiagramUIGeoshapesMessages.geoshape_RoundRectangleTool_Label,
DiagramUIGeoshapesPluginImages.DESC_ROUNDRECTANGLE);
}
if (actionId.equals(ActionIds.ACTION_ADD_HEXAGON)) {
return new CreateShapeViewAction(workbenchPage,
ActionIds.ACTION_ADD_HEXAGON, GeoshapeConstants.TOOL_HEXAGON,
DiagramUIGeoshapesMessages.geoshape_HexagonTool_Label,
DiagramUIGeoshapesPluginImages.DESC_HEXAGON);
}
if (actionId.equals(ActionIds.ACTION_ADD_OCTAGON)) {
return new CreateShapeViewAction(workbenchPage,
ActionIds.ACTION_ADD_OCTAGON, GeoshapeConstants.TOOL_OCTAGON,
DiagramUIGeoshapesMessages.geoshape_OctagonTool_Label,
DiagramUIGeoshapesPluginImages.DESC_OCTAGON);
}
if (actionId.equals(ActionIds.ACTION_ADD_PENTAGON)) {
return new CreateShapeViewAction(workbenchPage,
ActionIds.ACTION_ADD_PENTAGON, GeoshapeConstants.TOOL_PENTAGON,
DiagramUIGeoshapesMessages.geoshape_PentagonTool_Label,
DiagramUIGeoshapesPluginImages.DESC_PENTAGON);
}
if (actionId.equals(ActionIds.ACTION_ADD_DIAMOND)) {
return new CreateShapeViewAction(workbenchPage,
ActionIds.ACTION_ADD_DIAMOND, GeoshapeConstants.TOOL_DIAMOND,
DiagramUIGeoshapesMessages.geoshape_DiamondTool_Label,
DiagramUIGeoshapesPluginImages.DESC_DIAMOND);
}
if (actionId.equals(ActionIds.ACTION_ADD_CYLINDER)) {
return new CreateShapeViewAction(workbenchPage,
ActionIds.ACTION_ADD_CYLINDER, GeoshapeConstants.TOOL_CYLINDER,
DiagramUIGeoshapesMessages.geoshape_CylinderTool_Label,
DiagramUIGeoshapesPluginImages.DESC_CYLINDER);
}
return super.createAction(actionId, partDescriptor);
}
}