/** * @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 * @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); }
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; }