private IEclipseContext getStaticContext() { if (infoContext == null) { IEclipseContext parentContext = renderer.getContext(menuModel); if (parentContext != null) { infoContext = parentContext.createChild(STATIC_CONTEXT); } else { infoContext = EclipseContextFactory.create(STATIC_CONTEXT); } ContributionsAnalyzer.populateModelInterfaces(menuModel, infoContext, menuModel.getClass().getInterfaces()); infoContext.set(MenuManagerRenderer.class, renderer); } return infoContext; }
private IEclipseContext getStaticContext() { if (infoContext == null) { IEclipseContext parentContext = renderer.getContext(menuModel); if (parentContext != null) { infoContext = parentContext.createChild(STATIC_CONTEXT); } else { infoContext = EclipseContextFactory.create(STATIC_CONTEXT); } ContributionsAnalyzer.populateModelInterfaces(menuModel, infoContext, menuModel.getClass().getInterfaces()); infoContext.set(MenuManagerRenderer.class, renderer); } return infoContext; }
/** * @param menuModel * @param manager * @param menuContribution * @return true if the menuContribution was processed */ private boolean processAddition(MMenu menuModel, final MenuManager manager, MMenuContribution menuContribution, final HashSet<String> existingMenuIds, HashSet<String> existingSeparatorNames, boolean menuBar) { final ContributionRecord record = new ContributionRecord(menuModel, menuContribution, this); if (!record.mergeIntoModel()) { return false; } if (menuBar || isPartMenu(menuModel)) { final IEclipseContext parentContext = getContext(menuModel); parentContext.runAndTrack(new RunAndTrack() { @Override public boolean changed(IEclipseContext context) { record.updateVisibility(parentContext.getActiveLeaf()); scheduleManagerUpdate(manager); return true; } }); } return true; }
/** * @param menuModel * @param manager * @param menuContribution * @return true if the menuContribution was processed */ private boolean processAddition(MMenu menuModel, final MenuManager manager, MMenuContribution menuContribution, final HashSet<String> existingMenuIds, HashSet<String> existingSeparatorNames, boolean menuBar) { final ContributionRecord record = new ContributionRecord(menuModel, menuContribution, this); if (!record.mergeIntoModel()) { return false; } if (menuBar || isPartMenu(menuModel)) { final IEclipseContext parentContext = getContext(menuModel); parentContext.runAndTrack(new RunAndTrack() { @Override public boolean changed(IEclipseContext context) { record.updateVisibility(parentContext.getActiveLeaf()); manager.update(false); return true; } }); } return true; }
void setEnabled(MHandledMenuItem item) { if (!item.isToBeRendered() || !item.isVisible() || item.getWidget() == null) { return; } ParameterizedCommand cmd = item.getWbCommand(); if (cmd == null) { return; } final IEclipseContext lclContext = renderer.getContext(item); EHandlerService service = lclContext.get(EHandlerService.class); final IEclipseContext staticContext = EclipseContextFactory .create(MMRF_STATIC_CONTEXT); ContributionsAnalyzer.populateModelInterfaces(item, staticContext, item .getClass().getInterfaces()); try { item.setEnabled(service.canExecute(cmd, staticContext)); } finally { staticContext.dispose(); } }
IEclipseContext lclContext = getContext(menuModel); if (lclContext != null) { ((MPopupMenu) childModel)
void setEnabled(MHandledMenuItem item) { if (!item.isToBeRendered() || !item.isVisible() || item.getWidget() == null) { return; } ParameterizedCommand cmd = item.getWbCommand(); if (cmd == null) { return; } final IEclipseContext lclContext = renderer.getContext(item); EHandlerService service = lclContext.get(EHandlerService.class); final IEclipseContext staticContext = EclipseContextFactory .create(MMRF_STATIC_CONTEXT); ContributionsAnalyzer.populateModelInterfaces(item, staticContext, item .getClass().getInterfaces()); try { item.setEnabled(service.canExecute(cmd, staticContext)); } finally { staticContext.dispose(); } }
IEclipseContext lclContext = getContext(menuModel); if (lclContext != null) { ((MPopupMenu) childModel).setContext(lclContext.createChild(childModel.getElementId()));
/** * @param parentManager * @param itemModel */ void processHandledItem(MenuManager parentManager, MHandledMenuItem itemModel) { IContributionItem ici = getContribution(itemModel); if (ici != null) { return; } final IEclipseContext lclContext = getContext(itemModel); HandledContributionItem ci = ContextInjectionFactory.make( HandledContributionItem.class, lclContext); ci.setModel(itemModel); ci.setVisible(itemModel.isVisible()); addToManager(parentManager, itemModel, ci); linkModelToContribution(itemModel, ci); }
/** * @param parentManager * @param itemModel * @param id */ void processDirectItem(MenuManager parentManager, MDirectMenuItem itemModel, String id) { IContributionItem ici = getContribution(itemModel); if (ici != null) { return; } final IEclipseContext lclContext = getContext(itemModel); DirectContributionItem ci = ContextInjectionFactory.make( DirectContributionItem.class, lclContext); ci.setModel(itemModel); ci.setVisible(itemModel.isVisible()); addToManager(parentManager, itemModel, ci); linkModelToContribution(itemModel, ci); }
/** * @param parentManager * @param itemModel */ void processHandledItem(MenuManager parentManager, MHandledMenuItem itemModel) { IContributionItem ici = getContribution(itemModel); if (ici != null) { return; } itemModel.setRenderer(this); final IEclipseContext lclContext = getContext(itemModel); HandledContributionItem ci = ContextInjectionFactory.make(HandledContributionItem.class, lclContext); ci.setModel(itemModel); ci.setVisible(itemModel.isVisible()); addToManager(parentManager, itemModel, ci); linkModelToContribution(itemModel, ci); }
/** * @param parentManager * @param itemModel * @param id */ void processDirectItem(MenuManager parentManager, MDirectMenuItem itemModel, String id) { IContributionItem ici = getContribution(itemModel); if (ici != null) { return; } itemModel.setRenderer(this); final IEclipseContext lclContext = getContext(itemModel); DirectContributionItem ci = ContextInjectionFactory.make(DirectContributionItem.class, lclContext); ci.setModel(itemModel); ci.setVisible(itemModel.isVisible()); addToManager(parentManager, itemModel, ci); linkModelToContribution(itemModel, ci); }
/** * @param parentManager * @param itemModel */ void processRenderedItem(MenuManager parentManager, MRenderedMenuItem itemModel) { IContributionItem ici = getContribution(itemModel); if (ici != null) { return; } Object obj = itemModel.getContributionItem(); if (obj instanceof IContextFunction) { final IEclipseContext lclContext = getContext(itemModel); ici = (IContributionItem) ((IContextFunction) obj).compute( lclContext, null); itemModel.setContributionItem(ici); } else if (obj instanceof IContributionItem) { ici = (IContributionItem) obj; } else { // TODO potentially log the state, we've got something we're not // happy with return; } ici.setVisible(itemModel.isVisible()); addToManager(parentManager, itemModel, ici); linkModelToContribution(itemModel, ici); }
/** * @param parentManager * @param itemModel */ void processRenderedItem(MenuManager parentManager, MMenuItem itemModel) { IContributionItem ici = getContribution(itemModel); if (ici != null) { return; } itemModel.setRenderer(this); Object obj = RenderedElementUtil.getContributionManager(itemModel); if (obj instanceof IContextFunction) { final IEclipseContext lclContext = getContext(itemModel); ici = (IContributionItem) ((IContextFunction) obj).compute(lclContext, null); RenderedElementUtil.setContributionManager(itemModel, ici); } else if (obj instanceof IContributionItem) { ici = (IContributionItem) obj; } else { // TODO potentially log the state, we've got something we're not // happy with return; } ici.setVisible(itemModel.isVisible()); addToManager(parentManager, itemModel, ici); linkModelToContribution(itemModel, ici); }