void removeMenuContributions(final MMenu menuModel, final ArrayList<MMenuElement> menuContributionsToRemove) { for (MMenuElement item : menuContributionsToRemove) { menuModel.getChildren().remove(item); } }
/** * Create a 'rendered' menu instance * * @return the new instance */ public static MMenu createRenderedMenu() { final MMenu object = MMenuFactory.INSTANCE.createMenu(); object.getTags().add(RENDERED_TAG); return object; }
@Override public boolean changed(IEclipseContext context) { if (!menuModel.isToBeRendered() || !menuModel.isVisible() || menuModel.getWidget() == null) { return false; } boolean rc = ContributionsAnalyzer.isVisible( menuContribution, eContext); for (MMenuElement element : menuContributionsToRemove) { element.setToBeRendered(rc); } return true; } });
public static MMenu createMenu(MenuManager manager) { MMenu subMenu = MenuFactoryImpl.eINSTANCE.createMenu(); subMenu.setLabel(manager.getMenuText()); subMenu.setElementId(manager.getId()); return subMenu; }
/** * Determines if the menu provided or any one of its children should be * rendered. * * @param menu * the menu to determine if it should be displayed in the tab * folder * @return <tt>true</tt> if the menu should be drawn in the tab folder, * <tt>false</tt> otherwise */ private boolean isMenuVisible(MMenu menu) { if (menu.isToBeRendered() && menu.isVisible()) { for (MMenuElement element : menu.getChildren()) { if (element.isToBeRendered() && element.isVisible()) { return true; } else if (element instanceof MMenu && isMenuVisible((MMenu) element)) { return true; } } } return false; }
List<MMenuElement> modelChildren = menuModel.getChildren(); MMenu legacyModel = MenuFactoryImpl.eINSTANCE .createOpaqueMenu(); legacyModel.setElementId(childManager.getId()); legacyModel.setVisible(childManager.isVisible()); linkModelToManager(legacyModel, childManager); if (modelChildren.size() > dest) { .setContext(lclContext .createChild(childModel .getElementId()));
public void menuAboutToShow(IMenuManager manager) { if (!(manager instanceof MenuManager)) { return; } MenuManager menuManager = (MenuManager) manager; final MMenu menuModel = renderer.getMenuModel(menuManager); final Menu menu = menuManager.getMenu(); if (menuModel != null && menuManager != null) { cleanUp(menu, menuModel, menuManager); } if (menuModel instanceof MPopupMenu) { showPopup(menu, (MPopupMenu) menuModel, menuManager); } AbstractPartRenderer obj = rendererFactory.getRenderer(menuModel, menu.getParent()); if (!(obj instanceof MenuManagerRenderer)) { trace("Not the correct renderer: " + obj, menu, menuModel); //$NON-NLS-1$ return; } MenuManagerRenderer renderer = (MenuManagerRenderer) obj; if (menuModel.getWidget() == null) { renderer.bindWidget(menuModel, menuManager.getMenu()); } }
if (!viewMenu.isToBeRendered() || !viewMenu.isVisible()) { return false; for (MMenuElement menuElement : viewMenu.getChildren()) { if (menuElement.isToBeRendered() && menuElement.isVisible()) { if (OpaqueElementUtil.isOpaqueMenuItem(menuElement) Object menuRenderer = viewMenu.getRenderer(); if (menuRenderer instanceof MenuManagerRenderer) { MenuManager manager = ((MenuManagerRenderer) menuRenderer).getManager(viewMenu); Menu menu = (Menu) renderer.createGui(viewMenu, control.getShell(), part.getContext()); if (menu != null) { menuRenderer = viewMenu.getRenderer(); if (menuRenderer instanceof MenuManagerRenderer) { MenuManagerRenderer menuManagerRenderer = (MenuManagerRenderer) menuRenderer;
tag = "menu:" + location.getPath(); //$NON-NLS-1$ if (!mMenu.getTags().contains(tag)) { mMenu.getTags().add(tag); mMenu.setElementId(menuManager.getId()); if (mMenu.getElementId() == null) { mMenu.setElementId(location.getPath()); mMenu.getTags().add(ContributionsAnalyzer.MC_POPUP); tag = "popup:" + location.getPath(); //$NON-NLS-1$ } else { mMenu.getTags().add(ContributionsAnalyzer.MC_MENU); tag = "menu:" + location.getPath(); //$NON-NLS-1$ mMenu.getTags().add(tag); mMenu.setLabel(menuManager.getMenuText()); addMenu(model, mMenu, ((MContext) model).getContext());
/** * @param parentManager * @param menuModel */ private void processMenu(MenuManager parentManager, MMenu menuModel) { MenuManager menuManager = getManager(menuModel); if (menuManager == null) { menuModel.setRenderer(this); String menuText = getText(menuModel); ImageDescriptor desc = getImageDescriptor(menuModel); menuManager = new MenuManager(menuText, desc, menuModel.getElementId()); linkModelToManager(menuModel, menuManager); menuManager.setVisible(menuModel.isVisible()); addToManager(parentManager, menuModel, menuManager); } // processContributions(menuModel, false); List<MMenuElement> parts = menuModel.getChildren(); if (parts != null) { MMenuElement[] plist = parts.toArray(new MMenuElement[parts.size()]); for (MMenuElement childME : plist) { modelProcessSwitch(menuManager, childME); } } }
shared = (MMenu) copy; renderer.linkElementToContributionRecord(copy, this); menuModel.getChildren().add(idx++, copy); } else { shared.setVisibleWhen(merge(copy.getVisibleWhen(), shared.getVisibleWhen())); copy = shared; shared = (MMenuSeparator) copy; renderer.linkElementToContributionRecord(copy, this); menuModel.getChildren().add(idx++, copy); } else { copy = shared; generatedElements.add(copy); renderer.linkElementToContributionRecord(copy, this); menuModel.getChildren().add(idx++, copy);
return; boolean visible = menuModel.isVisible(); manager.setVisible(visible); if (manager.getParent() != null) { scheduleManagerUpdate(manager.getParent()); if (menuModel.getParent() == null) { if (menuModel instanceof MPopupMenu) { Object data = menuModel.getTransientData().get(IPresentationEngine.RENDERING_PARENT_KEY); if (data instanceof Control) { Menu menu = (Menu) menuModel.getWidget(); if (visible && menuModel.isToBeRendered() && menu != null && !menu.isDisposed()) { ((Control) data).setMenu(menu);
/** * @param parentManager * @param menuModel */ private void processMenu(MenuManager parentManager, MMenu menuModel) { MenuManager menuManager = getManager(menuModel); if (menuManager == null) { String menuText = getText(menuModel); ImageDescriptor desc = getImageDescriptor(menuModel); menuManager = new MenuManager(menuText, desc, menuModel.getElementId()); linkModelToManager(menuModel, menuManager); menuManager.setVisible(menuModel.isVisible()); addToManager(parentManager, menuModel, menuManager); } // processContributions(menuModel, false); List<MMenuElement> parts = menuModel.getChildren(); if (parts != null) { MMenuElement[] plist = parts .toArray(new MMenuElement[parts.size()]); for (int i = 0; i < plist.length; i++) { MMenuElement childME = plist[i]; modelProcessSwitch(menuManager, childME); } } }
trace("addMenuContribution " + copy, menuModel.getWidget(), menuModel); //$NON-NLS-1$ menuModel.getChildren().add(idx++, copy); if (copy instanceof MMenu && copy.getElementId() != null) { existingMenuIds.add(copy.getElementId());
public static MMenu createMenuAddition(IConfigurationElement menuAddition) { MMenu element = MenuFactoryImpl.eINSTANCE.createMenu(); String id = MenuHelper.getId(menuAddition); element.setElementId(id); String text = MenuHelper.getLabel(menuAddition); String mnemonic = MenuHelper.getMnemonic(menuAddition); if (text != null && mnemonic != null) { int idx = text.indexOf(mnemonic); if (idx != -1) { text = text.substring(0, idx) + '&' + text.substring(idx); } } element.setVisibleWhen(getVisibleWhen(menuAddition)); element.setIconURI(MenuHelper .getIconURI(menuAddition, IWorkbenchRegistryConstants.ATT_ICON)); element.setLabel(Util.safeString(text)); return element; }
private void createModelFor(String id) { if (id == null) { id = getClass().getName() + '.' + System.identityHashCode(this); } menuModel = null; for (MMenu item : modelPart.getMenus()) { if (id.equals(item.getElementId()) && item instanceof MPopupMenu && item.getTags().contains("popup")) { //$NON-NLS-1$ menuModel = (MPopupMenu) item; break; } } if (menuModel == null) { menuModel = MenuFactoryImpl.eINSTANCE.createPopupMenu(); menuModel.setElementId(id); menuModel.getTags().add(ContributionsAnalyzer.MC_POPUP); modelPart.getMenus().add(menuModel); } IRendererFactory factory = modelPart.getContext().get(IRendererFactory.class); AbstractPartRenderer obj = factory.getRenderer(menuModel, null); if (obj instanceof MenuManagerRenderer) { ((MenuManagerRenderer) obj).linkModelToManager(menuModel, menu); } registerE4Support(); cleanUpContributionCache(); }
int colonIndex = partId.indexOf(':'); String descId = colonIndex == -1 ? partId : partId.substring(0, colonIndex); menu.setElementId(descId); menu.getTags().add(StackRenderer.TAG_VIEW_MENU); menu.getTags().add(ContributionsAnalyzer.MC_MENU); part.getMenus().add(menu);
if (model.getMainMenu() == null) { mainMenu = modelService.createModelElement(MMenu.class); mainMenu.setElementId(ActionSet.MAIN_MENU); try { if (model.getMainMenu() == null || model.getWidget() == null || menu.isDisposed() || mainMenu.getWidget() == null) { return;