private void executeItem(Event trigger) { final IEclipseContext lclContext = getContext(model); if (!checkContribution(lclContext)) { return; } MContribution contrib = (MContribution) model; IEclipseContext staticContext = getStaticContext(trigger); ContextInjectionFactory.invoke(contrib.getObject(), Execute.class, getExecutionContext(lclContext), staticContext, null); }
@Override protected void handleWidgetDispose(Event event) { if (event.widget == widget) { if (infoContext != null) { infoContext.dispose(); infoContext = null; } ToolItemUpdater updater = getUpdater(); if (updater != null) { updater.removeItem(this); } widget.removeListener(SWT.Selection, getItemListener()); widget.removeListener(SWT.Dispose, getItemListener()); widget.removeListener(SWT.DefaultSelection, getItemListener()); widget = null; Object obj = getModel().getTransientData().get(DISPOSABLE); if (obj instanceof Runnable) { ((Runnable) obj).run(); } getModel().setWidget(null); disposeOldImages(); } }
private void updateVisible() { setVisible((model).isVisible()); final IContributionManager parent = getParent(); if (parent != null) { parent.markDirty(); } }
private void processDirectItem(ToolBarManager parentManager, MDirectToolItem itemModel) { 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); }
private void handleWidgetDispose(Event event) { if (event.widget == widget) { if (infoContext != null) { infoContext.dispose(); infoContext = null; } widget.removeListener(SWT.Selection, getItemListener()); widget.removeListener(SWT.Dispose, getItemListener()); widget.removeListener(SWT.DefaultSelection, getItemListener()); widget = null; Object obj = model.getTransientData().get(DISPOSABLE); if (obj instanceof Runnable) { ((Runnable) obj).run(); } model.setWidget(null); disposeOldImages(); } }
private void updateIcons() { if (!(widget instanceof Item)) { return; } Item item = (Item) widget; String iconURI = model.getIconURI() != null ? model.getIconURI() : ""; //$NON-NLS-1$ String disabledURI = getDisabledIconURI(model); if (!iconURI.equals(item.getData(ICON_URI)) || !disabledURI.equals(item.getData(DISABLED_URI))) { LocalResourceManager resourceManager = new LocalResourceManager( JFaceResources.getResources()); Image iconImage = getImage(iconURI, resourceManager); item.setImage(iconImage); item.setData(ICON_URI, iconURI); if (item instanceof ToolItem) { iconImage = getImage(disabledURI, resourceManager); ((ToolItem) item).setDisabledImage(iconImage); item.setData(DISABLED_URI, disabledURI); } disposeOldImages(); localResourceManager = resourceManager; } }
@Override public void fill(Menu menu, int index) { if (model == null) { return; } if (widget != null) { return; } int style = SWT.PUSH; if (model.getType() == ItemType.PUSH) style = SWT.PUSH; else if (model.getType() == ItemType.CHECK) style = SWT.CHECK; else if (model.getType() == ItemType.RADIO) style = SWT.RADIO; MenuItem item = null; if (index >= 0) { item = new MenuItem(menu, style, index); } else { item = new MenuItem(menu, style); } item.setData(this); item.addListener(SWT.Dispose, getItemListener()); item.addListener(SWT.Selection, getItemListener()); item.addListener(SWT.DefaultSelection, getItemListener()); widget = item; model.setWidget(widget); widget.setData(AbstractPartRenderer.OWNING_ME, model); update(null); }
private void handleWidgetSelection(Event event) { if (widget != null && !widget.isDisposed()) { if (dropdownEvent(event)) { return; } if (model.getType() == ItemType.CHECK || model.getType() == ItemType.RADIO) { boolean selection = false; if (widget instanceof MenuItem) { selection = ((MenuItem) widget).getSelection(); } else if (widget instanceof ToolItem) { selection = ((ToolItem) widget).getSelection(); } model.setSelected(selection); } if (canExecuteItem(event)) { executeItem(event); } } }
obj = ((MRenderedMenu) mmenu).getContributionManager(); if (obj instanceof IContextFunction) { final IEclipseContext lclContext = getContext(mmenu); obj = ((IContextFunction) obj).compute(lclContext, null); ((MRenderedMenu) mmenu).setContributionManager(obj);
/** * @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); }
item.addListener(SWT.Dispose, getItemListener()); item.addListener(SWT.Selection, getItemListener()); item.addListener(SWT.DefaultSelection, getItemListener()); widget.setData(AbstractPartRenderer.OWNING_ME, model); update(null);
@Override protected boolean canExecuteItem(Event trigger) { final IEclipseContext lclContext = getContext(getModel()); if (!checkContribution(lclContext)) { return false; } MContribution contrib = (MContribution) getModel(); IEclipseContext staticContext = getStaticContext(trigger); Boolean result = ((Boolean) ContextInjectionFactory.invoke( contrib.getObject(), CanExecute.class, getExecutionContext(lclContext), staticContext, Boolean.TRUE)); return result.booleanValue(); }
/** * @param parentManager * @param itemModel */ private void processDirectItem(ToolBarManager parentManager, MDirectToolItem itemModel) { 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); }
private boolean canExecuteItem(Event trigger) { final IEclipseContext lclContext = getContext(model); if (!checkContribution(lclContext)) { return false; } MContribution contrib = (MContribution) model; IEclipseContext staticContext = getStaticContext(trigger); Boolean result = ((Boolean) ContextInjectionFactory.invoke( contrib.getObject(), CanExecute.class, getExecutionContext(lclContext), staticContext, Boolean.TRUE)); return result.booleanValue(); }
/** * @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 protected void executeItem(Event trigger) { final IEclipseContext lclContext = getContext(getModel()); if (!checkContribution(lclContext)) { return; } MContribution contrib = (MContribution) getModel(); IEclipseContext staticContext = getStaticContext(trigger); Object result = ContextInjectionFactory.invoke(contrib.getObject(), Execute.class, getExecutionContext(lclContext), staticContext, missingExecute); if (result == missingExecute && logger != null) { logger.error("Contribution is missing @Execute: " + contrib.getContributionURI()); //$NON-NLS-1$ } }