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(); }
.setContext(lclContext .createChild(childModel .getElementId()));
/** * @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); } } }
IEclipseContext lclContext = getContext(menuModel); if (lclContext != null) { ((MPopupMenu) childModel).setContext(lclContext.createChild(childModel.getElementId()));
/** * @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); } } }
if (menuManager == null) { menuManager = new MenuManager(NO_LABEL, menuModel.getElementId()); linkModelToManager(menuModel, menuManager); if (menuManager == null) { menuManager = new MenuManager(NO_LABEL, menuModel.getElementId()); linkModelToManager(menuModel, menuManager); if (menuManager == null) { menuManager = new MenuManager(NO_LABEL, menuModel.getElementId()); linkModelToManager(menuModel, menuManager); processContributions(menuModel, menuModel.getElementId(), menuBar, menuModel instanceof MPopupMenu);
menuManager = getManager(menuModel); if (menuManager == null) { menuManager = new MenuManager(NO_LABEL, menuModel.getElementId()); linkModelToManager(menuModel, menuManager); menuManager = getManager(menuModel); if (menuManager == null) { menuManager = new MenuManager(NO_LABEL, menuModel.getElementId()); linkModelToManager(menuModel, menuManager); menuManager = getManager(menuModel); if (menuManager == null) { menuManager = new MenuManager(NO_LABEL, menuModel.getElementId()); linkModelToManager(menuModel, menuManager); processContributions(menuModel, menuModel.getElementId(), menuBar, menuModel instanceof MPopupMenu);
mMenu = MenuFactoryImpl.eINSTANCE.createMenu(); mMenu.setElementId(menuManager.getId()); if (mMenu.getElementId() == null) { mMenu.setElementId(location.getPath());
@Override public void processContents(MElementContainer<MUIElement> container) { if (container.getChildren().size() == 0) { Object obj = container.getWidget(); if (obj instanceof MenuItem) { MenuItem mi = (MenuItem) obj; if (mi.getMenu() == null) { mi.setMenu(new Menu(mi)); } Menu menu = mi.getMenu(); MenuItem menuItem = new MenuItem(menu, SWT.PUSH); menuItem.setText(MenuManagerRendererFilter.NUL_MENU_ITEM); menuItem.setEnabled(false); } } super.processContents(container); Object obj = container.getWidget(); Object menuObj = container; if ((obj instanceof Menu) && (((Menu) obj).getStyle() & SWT.BAR) != 0 && (menuObj instanceof MMenu)) { MMenu menuModel = (MMenu) menuObj; IEclipseContext ctx = getContext(container); ExpressionContext eContext = new ExpressionContext(ctx); ArrayList<MMenuContribution> toContribute = new ArrayList<MMenuContribution>(); ContributionsAnalyzer.gatherMenuContributions(menuModel, application.getMenuContributions(), menuModel.getElementId(), toContribute, eContext, false); addMenuBarContributions(menuModel, toContribute, ctx, eContext); } }