private void registerE4Support() { if (menuModel.getWidget() == null && menu.getMenu() != null) { MenuService.registerMenu(menu.getMenu().getParent(), menuModel, context); } } // getMenuId() added by Dan Rubel (dan_rubel@instantiations.com)
public void hidePopup(Event event, Menu menu, MPopupMenu menuModel) { // System.err.println("hidePopup: " + menuModel + "\n\t" + menu); final IEclipseContext popupContext = menuModel.getContext(); final IEclipseContext originalChild = (IEclipseContext) popupContext .get(TMP_ORIGINAL_CONTEXT); popupContext.remove(TMP_ORIGINAL_CONTEXT); if (!menu.isDisposed()) { menu.getDisplay().asyncExec(new Runnable() { public void run() { if (originalChild == null) { popupContext.deactivate(); } else { originalChild.activate(); } } }); } }
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(); }
if (((MPopupMenu) childModel).getContext() == null) { IEclipseContext lclContext = getContext(menuModel); if (lclContext != null) { ((MPopupMenu) childModel) .setContext(lclContext .createChild(childModel .getElementId()));
bitSet &= ~STATIC_ACTION_READ; if (menuModel != null) { List<String> tags = menuModel.getTags(); String tag = "popup:" + menuId; //$NON-NLS-1$ if (!tags.contains(tag)) {
this.lifecycleService.validateAnnotation(PreClose.class, element, context); for (MMenuElement e : element.getChildren().toArray(new MMenuElement[0])) { if (e instanceof MDynamicMenuContribution) { MDynamicMenuContribution dc = (MDynamicMenuContribution) e; element.getChildren().removeAll(previous);
/** * well, this goes to the renderer. * * @param mgr */ private void addMenuContributions(IMenuManager mgr) { IRendererFactory factory = modelPart.getContext().get(IRendererFactory.class); AbstractPartRenderer obj = factory.getRenderer(menuModel, null); if (obj instanceof MenuManagerRenderer) { MenuManagerRenderer renderer = (MenuManagerRenderer) obj; renderer.reconcileManagerToModel(menu, menuModel); renderer.processContributions(menuModel, menuModel.getElementId(), false, true); // double cast because we're bad people renderer.processContents((MElementContainer<MUIElement>) ((Object) menuModel)); } }
if (((MPopupMenu) childModel).getContext() == null) { IEclipseContext lclContext = getContext(menuModel); if (lclContext != null) { ((MPopupMenu) childModel).setContext(lclContext.createChild(childModel.getElementId()));
menu.getTags().add(BaseStackRenderer.TAG_TAB_CONTEXT_MENU); part.getMenus().add(menu);
for (MMenuElement e : element.getChildren().toArray(new MMenuElement[0])) { if (e instanceof MDynamicMenuContribution) { MDynamicMenuContribution dc = (MDynamicMenuContribution) e; ContextInjectionFactory.invoke(contrib, AboutToShow.class, context, null); int idx = element.getChildren().indexOf(e); element.getChildren().addAll(idx, list); dc.getTransientData().put(DYNAMIC_MENU_CONTRIBUTION, list); } catch (Throwable t) { for (MMenuElement e : element.getChildren()) { if (e.getRenderer() instanceof BaseItemRenderer) { @SuppressWarnings("unchecked")
private void hidePopup(Menu menu, MPopupMenu menuModel, MenuManager menuManager) { final IEclipseContext popupContext = menuModel.getContext(); final IEclipseContext originalChild = (IEclipseContext) popupContext .get(MenuManagerRendererFilter.TMP_ORIGINAL_CONTEXT); popupContext.remove(MenuManagerRendererFilter.TMP_ORIGINAL_CONTEXT); if (!menu.isDisposed()) { menu.getDisplay().asyncExec(new Runnable() { public void run() { if (originalChild == null) { popupContext.deactivate(); } else { originalChild.activate(); } } }); } } }
if (obj instanceof MPopupMenu) { MPopupMenu popupMenu = (MPopupMenu) obj; if (popupMenu.getWidget() == null && menuManager.getMenu() != null) { final MUIElement container = modelService
@Override public void doProcessContent(MPopupMenu element) { // TODO Should we do this creation lazy???? WPopupMenu<N> menu = getWidget(element); if( menu == null ) { getLogger().error("No widget found for '"+element+"'"); //$NON-NLS-1$//$NON-NLS-2$ return; } for (MMenuElement e : element.getChildren()) { if (e.isToBeRendered()) { WMenuElement<MMenuElement> widget = engineCreateWidget(e); if (widget != null && isChildRenderedAndVisible(e)) { menu.addElement(widget); } } } }
public void showPopup(final Event event, final Menu menu, final MPopupMenu menuModel) { // System.err.println("showPopup: " + menuModel + "\n\t" + menu); // we need some context foolery here final IEclipseContext popupContext = menuModel.getContext(); final IEclipseContext parentContext = popupContext.getParent(); final IEclipseContext originalChild = parentContext.getActiveChild(); popupContext.activate(); popupContext.set(TMP_ORIGINAL_CONTEXT, originalChild); }
if (obj instanceof MPopupMenu) { MPopupMenu popupMenu = (MPopupMenu) obj; if (popupMenu.getWidget() == null && menuManager.getMenu() != null) { final MUIElement container = modelService
private void showPopup(final Menu menu, final MPopupMenu menuModel, MenuManager menuManager) { // System.err.println("showPopup: " + menuModel + "\n\t" + menu); // we need some context foolery here final IEclipseContext popupContext = menuModel.getContext(); final IEclipseContext parentContext = popupContext.getParent(); final IEclipseContext originalChild = parentContext.getActiveChild(); popupContext.activate(); popupContext.set(MenuManagerRendererFilter.TMP_ORIGINAL_CONTEXT, originalChild); }
private void showPopup(final Menu menu, final MPopupMenu menuModel, MenuManager menuManager) { // System.err.println("showPopup: " + menuModel + "\n\t" + menu); // we need some context foolery here final IEclipseContext popupContext = menuModel.getContext(); final IEclipseContext parentContext = popupContext.getParent(); final IEclipseContext originalChild = parentContext.getActiveChild(); popupContext.activate(); popupContext.set(MenuManagerRendererFilter.TMP_ORIGINAL_CONTEXT, originalChild); }
public void showPopup(final Event event, final Menu menu, final MPopupMenu menuModel) { // System.err.println("showPopup: " + menuModel + "\n\t" + menu); // we need some context foolery here final IEclipseContext popupContext = menuModel.getContext(); final IEclipseContext parentContext = popupContext.getParent(); final IEclipseContext originalChild = parentContext.getActiveChild(); popupContext.activate(); popupContext.set(TMP_ORIGINAL_CONTEXT, originalChild); }
public void hidePopup(Event event, Menu menu, MPopupMenu menuModel) { // System.err.println("hidePopup: " + menuModel + "\n\t" + menu); final IEclipseContext popupContext = menuModel.getContext(); final IEclipseContext originalChild = (IEclipseContext) popupContext .get(TMP_ORIGINAL_CONTEXT); popupContext.remove(TMP_ORIGINAL_CONTEXT); if (!menu.isDisposed()) { menu.getDisplay().asyncExec(() -> { if (originalChild == null) { popupContext.deactivate(); } else { originalChild.activate(); } }); } }
private void hidePopup(Menu menu, MPopupMenu menuModel, MenuManager menuManager) { final IEclipseContext popupContext = menuModel.getContext(); final IEclipseContext originalChild = (IEclipseContext) popupContext .get(MenuManagerRendererFilter.TMP_ORIGINAL_CONTEXT); popupContext.remove(MenuManagerRendererFilter.TMP_ORIGINAL_CONTEXT); if (!menu.isDisposed()) { menu.getDisplay().asyncExec(() -> { if (originalChild == null) { popupContext.deactivate(); } else { originalChild.activate(); } }); } } }