blob: a26b5d0b698454efbc0465b1689ae3fa90c58aca [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2005, 2009 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 implementation
*******************************************************************************/
package org.eclipse.epf.diagram.core.providers;
import org.eclipse.epf.diagram.core.part.AbstractDiagramEditor;
import org.eclipse.gef.EditDomain;
import org.eclipse.gef.EditPartViewer;
import org.eclipse.gmf.runtime.diagram.ui.actions.ActionIds;
import org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditDomain;
import org.eclipse.jface.action.IContributionItem;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.actions.ActionFactory;
/**
* Class to handle the popupmenu items
* @author Shashidhar Kannoori
*/
public class DiagramContextMenuProvider extends
org.eclipse.gmf.runtime.diagram.ui.providers.DiagramContextMenuProvider {
/**
* @param part
* @param viewer
*/
public DiagramContextMenuProvider(IWorkbenchPart part, EditPartViewer viewer) {
super(part, viewer);
}
@Override
public void menuAboutToShow(IMenuManager menu) {
super.menuAboutToShow(menu);
IContributionItem item = find(ActionIds.ACTION_DELETE_FROM_DIAGRAM);
if(item != null)
item.setVisible(false);
IContributionItem item1= find(ActionIds.ACTION_DELETE_FROM_MODEL);
if(item1 != null)
item1.setVisible(false);
IContributionItem item2 = find(ActionIds.MENU_NAVIGATE);
if(item2 != null)
item2.setVisible(false);
IContributionItem item3 = find(ActionFactory.PROPERTIES.getId());
if(item3 != null)
item3.setVisible(false);
EditDomain domain = getViewer().getEditDomain();
if(domain instanceof DiagramEditDomain){
IEditorPart part= ((DiagramEditDomain)domain).getEditorPart();
if(part instanceof AbstractDiagramEditor){
((AbstractDiagramEditor)part).contributeToContextMenu(menu);
}
}
}
}