/**
* Copyright (c) 2011 itemis AG 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:
* itemis AG - initial API and implementation
*
*/
package org.yakindu.base.xtext.utils.jface.viewers;
import org.eclipse.jface.action.IContributionItem;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.xtext.util.Arrays;
/**
* Copied from DiagramContextMenuProvider
*
* @author muelder
*
*/
public class FilteringMenuManager extends MenuManager {
private String[] exclusionSet = { "replaceWithMenu", "compareWithMenu", "ValidationAction", "team.main",
"org.eclipse.jst.ws.atk.ui.webservice.category.popupMenu",
"org.eclipse.tptp.platform.analysis.core.ui.internal.actions.MultiAnalysisActionDelegate",
"org.eclipse.debug.ui.contextualLaunch.run.submenu", "org.eclipse.debug.ui.contextualLaunch.debug.submenu",
"org.eclipse.debug.ui.contextualLaunch.profile.submenu",
"org.eclipse.mylyn.resources.ui.ui.interest.remove.element" };
public FilteringMenuManager() {
}
public FilteringMenuManager(String text, String id) {
super(text, null, id);
}
protected boolean allowItem(IContributionItem itemToAdd) {
if (itemToAdd.getId() != null && Arrays.contains(exclusionSet, itemToAdd.getId()))
itemToAdd.setVisible(false);
return super.allowItem(itemToAdd);
}
}