public MenuManager getManagerForModel() { return renderer.getManager(menuModel); }
public MenuManager getManagerForModel() { return renderer.getManager(menuModel); }
MenuManager manager = getManager(menuModel); boolean done = toContribute.isEmpty(); while (!done) {
MenuManager manager = getManager(menuModel); boolean done = toContribute.size() == 0; while (!done) {
public void clearModelToManager(MMenu model, MenuManager manager) { for (MMenuElement element : model.getChildren()) { if (element instanceof MMenu) { clearModelToManager((MMenu) element, getManager((MMenu) element)); } IContributionItem ici = getContribution(element); clearModelToContribution(element, ici); } MenuManager remove = modelToManager.remove(model); if (manager == null) { managerToModel.remove(remove); } else { managerToModel.remove(manager); } if (Policy.DEBUG_RENDERER) { logger.debug("\nMMR:clearModelToManager: modelToManager size = {0}, managerToModel size = {1}", //$NON-NLS-1$ modelToManager.size(), managerToModel.size()); } }
@Override public void processContents(MElementContainer<MUIElement> container) { // I can either simply stop processing, or we can walk the model // ourselves like the "old" days // EMF gives us null lists if empty if (container == null) return; // this is in direct violation of good programming MenuManager parentManager = getManager((MMenu) ((Object) container)); if (parentManager == null) { return; } // Process any contents of the newly created ME List<MUIElement> parts = container.getChildren(); if (parts != null) { MUIElement[] plist = parts.toArray(new MUIElement[parts.size()]); for (MUIElement childME : plist) { modelProcessSwitch(parentManager, (MMenuElement) childME); } } scheduleManagerUpdate(parentManager); }
@Override public void processContents(MElementContainer<MUIElement> container) { // I can either simply stop processing, or we can walk the model // ourselves like the "old" days // EMF gives us null lists if empty if (container == null) return; // this is in direct violation of good programming MenuManager parentManager = getManager((MMenu) ((Object) container)); if (parentManager == null) { return; } // Process any contents of the newly created ME List<MUIElement> parts = container.getChildren(); if (parts != null) { MUIElement[] plist = parts.toArray(new MUIElement[parts.size()]); for (int i = 0; i < plist.length; i++) { MUIElement childME = plist[i]; modelProcessSwitch(parentManager, (MMenuElement) childME); } } parentManager.update(false); }
public static void clearOpaqueMenuItems(MenuManagerRenderer renderer, MMenu menu) { for (Iterator<MMenuElement> it = menu.getChildren().iterator(); it.hasNext();) { MMenuElement child = it.next(); IContributionItem contribution = renderer.getContribution(child); if (contribution != null) { renderer.clearModelToContribution(child, contribution); } if (OpaqueElementUtil.isOpaqueMenuSeparator(child)) { OpaqueElementUtil.clearOpaqueItem(child); it.remove(); } else if (OpaqueElementUtil.isOpaqueMenuItem(child)) { OpaqueElementUtil.clearOpaqueItem(child); it.remove(); } else if (child instanceof MMenu) { MMenu submenu = (MMenu) child; MenuManager manager = renderer.getManager(submenu); if (manager != null) { renderer.clearModelToManager(submenu, manager); } if (OpaqueElementUtil.isOpaqueMenu(child)) { it.remove(); } clearOpaqueMenuItems(renderer, submenu); } } }
/** * @param event */ private void updateLabelOfMenu(Event event) { String attName = (String) event.getProperty(UIEvents.EventTags.ATTNAME); MMenu model = (MMenu) event.getProperty(UIEvents.EventTags.ELEMENT); MenuManager manager = getManager(model); if ((manager == null)) { return; } if (UIEvents.UILabel.LABEL.equals(attName) || UIEvents.UILabel.LOCALIZED_LABEL.equals(attName)) { manager.setMenuText(getText(model)); manager.update(IAction.TEXT); } if (UIEvents.UILabel.ICONURI.equals(attName)) { manager.setImageDescriptor(getImageDescriptor(model)); manager.update(IAction.IMAGE); } }
private void unlinkMenu(MMenu menu) { List<MMenuElement> children = menu.getChildren(); for (MMenuElement child : children) { if (child instanceof MMenu) unlinkMenu((MMenu) child); else { IContributionItem contribution = getContribution(child); clearModelToContribution(child, contribution); } } MenuManager mm = getManager(menu); clearModelToManager(menu, mm); }
/** * Clean dynamic menu contributions provided by * {@link MDynamicMenuContribution} application model elements * * @param menuManager * @param menuModel * @param dump */ public void removeDynamicMenuContributions(MenuManager menuManager, MMenu menuModel, ArrayList<MMenuElement> dump) { removeMenuContributions(menuModel, dump); for (MMenuElement mMenuElement : dump) { IContributionItem ici = getContribution(mMenuElement); if (ici == null && mMenuElement instanceof MMenu) { MMenu menuElement = (MMenu) mMenuElement; ici = getManager(menuElement); clearModelToManager(menuElement, (MenuManager) ici); } else { // Bug 518036: the call below removes too much. // clearModelToContribution(menuModel, ici); contributionToModel.remove(ici); } menuManager.remove(ici); clearModelToContribution(mMenuElement, ici); } }
private void createMenuEntries(MMenu menu, DisplayItem parent) { Map<IContributionItem, IContributionItem> findDynamics = new HashMap<>(); DynamicContributionItem dynamicEntry = null; if (menu.getParent() != null) { // Search for any dynamic menu entries which will be handled later IContributionManager manager = menuMngrRenderer.getManager(menu); if (manager != null) { IContributionItem[] items = manager.getItems(); for (int i = 0; i < items.length; i++) { IContributionItem ci = items[i]; if (ci.isDynamic()) { findDynamics.put(i > 0 ? items[i - 1] : null, ci); } } // If there is an item with no preceding item, set it up to be // added first. if (findDynamics.containsKey(null)) { IContributionItem item = findDynamics.get(null); dynamicEntry = new DynamicContributionItem(item); dynamicEntry.setCheckState(getMenuItemIsVisible(dynamicEntry)); dynamicEntry.setActionSet(idToActionSet.get(getActionSetID(item))); parent.addChild(dynamicEntry); } } } for (MMenuElement menuItem : menu.getChildren()) { dynamicEntry = createMenuEntry(parent, findDynamics, dynamicEntry, menuItem); } }
if (ici == null && mMenuElement instanceof MMenu) { MMenu menuElement = (MMenu) mMenuElement; ici = renderer.getManager(menuElement); renderer.clearModelToManager(menuElement, (MenuManager) ici);
/** * Clean dynamic menu contributions provided by * {@link MDynamicMenuContribution} application model elements * * @param menuManager * @param menuModel * @param dump */ public void removeDynamicMenuContributions(MenuManager menuManager, MMenu menuModel, ArrayList<MMenuElement> dump) { removeMenuContributions(menuModel, dump); for (MMenuElement mMenuElement : dump) { IContributionItem ici = getContribution(mMenuElement); if (ici == null && mMenuElement instanceof MMenu) { MMenu menuElement = (MMenu) mMenuElement; ici = getManager(menuElement); clearModelToManager(menuElement, (MenuManager) ici); } else { clearModelToContribution(menuModel, ici); } menuManager.remove(ici); } } }
/** * @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); } } }
public void cleanUpCopy(ContributionRecord record, MMenuElement copy) { modelContributionToRecord.remove(copy); if (copy instanceof MMenu) { MMenu menuCopy = (MMenu) copy; cleanUp(menuCopy); MenuManager copyManager = getManager(menuCopy); clearModelToManager(menuCopy, copyManager); if (copyManager != null) { record.getManagerForModel().remove(copyManager); copyManager.dispose(); } } else { IContributionItem ici = getContribution(copy); clearModelToContribution(copy, ici); if (ici != null) { record.getManagerForModel().remove(ici); } } }
public void cleanUpCopy(ContributionRecord record, MMenuElement copy) { modelContributionToRecord.remove(copy); if (copy instanceof MMenu) { MMenu menuCopy = (MMenu) copy; cleanUp(menuCopy); MenuManager copyManager = getManager(menuCopy); clearModelToManager(menuCopy, copyManager); if (copyManager != null) { record.getManagerForModel().remove(copyManager); copyManager.dispose(); } } else { IContributionItem ici = getContribution(copy); clearModelToContribution(copy, ici); if (ici != null) { record.getManagerForModel().remove(ici); } } }
/** * @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); } } }
return; MenuManager parent = getManager((MMenu) obj); if (itemModel.isToBeRendered()) { if (parent != null) { if (element instanceof MMenu) { MMenu menuModel = (MMenu) element; MenuManager manager = getManager(menuModel); if (manager == null) { return;
MMenu subMenu = (MMenu) menuElement; unlink(renderer, subMenu); MenuManager manager = renderer.getManager(subMenu); if (manager != null) { renderer.clearModelToManager(subMenu, manager);