public void widgetSelected(SelectionEvent e) { lclContext.set(MItem.class.getName(), item); ContextInjectionFactory.invoke(contrib.getObject(), Execute.class, lclContext); lclContext.remove(MItem.class.getName()); }
public Object createWidget(final MUIElement element, Object parent) { if (!(element instanceof MDirectMenuItem) || !(parent instanceof Menu)) return null; MDirectMenuItem itemModel = (MDirectMenuItem) element; if (itemModel.getVisibleWhen() != null) { processVisible(itemModel); } if (!itemModel.isVisible()) { return null; } // determine the index at which we should create the new item int addIndex = calcVisibleIndex(element); // OK, it's a real menu item, what kind? int flags = 0; if (itemModel.getType() == ItemType.PUSH) flags = SWT.PUSH; else if (itemModel.getType() == ItemType.CHECK) flags = SWT.CHECK; else if (itemModel.getType() == ItemType.RADIO) flags = SWT.RADIO; MenuItem newItem = new MenuItem((Menu) parent, flags, addIndex); setItemText(itemModel, newItem); newItem.setImage(getImage(itemModel)); setEnabled(itemModel, newItem); newItem.setEnabled(itemModel.isEnabled()); newItem.setSelection(itemModel.isSelected()); return newItem; }
/** * Create a 'rendered' menu item instance * * @return the new instance */ public static MMenuItem createRenderedMenuItem() { final MDirectMenuItem object = MMenuFactory.INSTANCE.createDirectMenuItem(); object.getTags().add(RENDERED_TAG); return object; }
if (contrib.getObject() == null) { IContributionFactory icf = evalContext .get(IContributionFactory.class); contrib.setObject(icf.create(contrib.getContributionURI(), evalContext, EclipseContextFactory.create())); if (contrib.getObject() == null) { continue; try { Object rc = ContextInjectionFactory.invoke( contrib.getObject(), CanExecute.class, evalContext, staticContext, Boolean.TRUE); if (rc instanceof Boolean) { contrib.setEnabled((Boolean) rc);
MDirectMenuItem menuItem = MenuFactoryImpl.eINSTANCE.createDirectMenuItem(); if (action.getText() != null) { menuItem.setLabel(action.getText()); menuItem.setElementId(itemId == null ? id : itemId); menuItem.setIconURI(getIconURI(action.getImageDescriptor(), application.getContext())); switch (action.getStyle()) { case IAction.AS_CHECK_BOX: menuItem.setType(ItemType.CHECK); menuItem.setSelected(action.isChecked()); break; case IAction.AS_RADIO_BUTTON: menuItem.setType(ItemType.RADIO); menuItem.setSelected(action.isChecked()); break; default: menuItem.setType(ItemType.PUSH); break; menuItem.setContributionURI("bundleclass://org.eclipse.ui.workbench/programmic.contribution"); //$NON-NLS-1$ menuItem.setObject(new DirectProxy(action)); return menuItem;
/** * @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); }
@Override public void hookControllerLogic(MUIElement me) { super.hookControllerLogic(me); // 'Execute' the operation if possible if (me instanceof MDirectMenuItem && ((MDirectMenuItem) me).getContributionURI() != null) { final MMenuItem item = (MMenuItem) me; final MDirectMenuItem contrib = (MDirectMenuItem) me; final IEclipseContext lclContext = getContext(me); MenuItem mi = (MenuItem) me.getWidget(); mi.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { lclContext.set(MItem.class.getName(), item); ContextInjectionFactory.invoke(contrib.getObject(), Execute.class, lclContext); lclContext.remove(MItem.class.getName()); } public void widgetDefaultSelected(SelectionEvent e) { } }); } } }
/** * @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); }
if (contrib.getObject() == null) { IContributionFactory icf = evalContext .get(IContributionFactory.class); contrib.setObject(icf.create(contrib.getContributionURI(), evalContext, EclipseContextFactory.create())); if (contrib.getObject() == null) { continue; try { Object rc = ContextInjectionFactory.invoke( contrib.getObject(), CanExecute.class, evalContext, staticContext, Boolean.TRUE); if (rc instanceof Boolean) { contrib.setEnabled((Boolean) rc);