package com.redhat.ceylon.eclipse.code.editor;
import java.util.Collections;
import org.eclipse.jface.action.IContributionItem;
import org.eclipse.jface.action.IContributionManager;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.menus.CommandContributionItem;
import org.eclipse.ui.menus.CommandContributionItemParameter;
public class DynamicMenuItem extends CommandContributionItem {
private boolean enabled;
public DynamicMenuItem(String id, String label, boolean enabled) {
super(new CommandContributionItemParameter(
PlatformUI.getWorkbench().getActiveWorkbenchWindow(),
id + ".cci", id, Collections.emptyMap(), null, null, null,
label, null, null, CommandContributionItem.STYLE_PUSH, null,
false));
this.enabled = enabled;
}
public DynamicMenuItem(String id, String label, boolean enabled,
ImageDescriptor image) {
super(new CommandContributionItemParameter(
PlatformUI.getWorkbench().getActiveWorkbenchWindow(),
id + ".cci", id, Collections.emptyMap(), image, null, null,
label, null, null, CommandContributionItem.STYLE_PUSH, null,
false));
this.enabled = enabled;
}
@Override
public boolean isEnabled() {
return super.isEnabled() && enabled;
}
public static boolean collapseMenuItems(IContributionManager parent) {
return isContextMenu(parent) /*&&
Display.getCurrent().getBounds().height < 2048*/;
}
static boolean isContextMenu(IContributionManager parent) {
return parent instanceof IContributionItem &&
((IContributionItem) parent).getId().equals("#TextEditorContext");
}
}