private void processToolControl(ToolBarManager parentManager, MToolControl itemModel) { IContributionItem ici = getContribution(itemModel); if (ici != null) { return; } itemModel.setRenderer(this); final IEclipseContext lclContext = getContext(itemModel); ToolControlContribution ci = ContextInjectionFactory.make(ToolControlContribution.class, lclContext); ci.setModel(itemModel); ci.setVisible(itemModel.isVisible()); addToManager(parentManager, itemModel, ci); linkModelToContribution(itemModel, ci); }
/** * @param parentManager * @param itemModel */ private void processToolControl(ToolBarManager parentManager, MToolControl itemModel) { IContributionItem ici = getContribution(itemModel); if (ici != null) { return; } final IEclipseContext lclContext = getContext(itemModel); ToolControlContribution ci = ContextInjectionFactory.make( ToolControlContribution.class, lclContext); ci.setModel(itemModel); ci.setVisible(itemModel.isVisible()); addToManager(parentManager, itemModel, ci); linkModelToContribution(itemModel, ci); }
@Override public Object execute(ExecutionEvent executionEvent) { final IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindow(executionEvent); if (window == null) { return null; } MWindow mWindow = ((WorkbenchWindow) window).getModel(); EModelService modelService = mWindow.getContext().get(EModelService.class); MToolControl searchField = (MToolControl) modelService.find("SearchField", mWindow); //$NON-NLS-1$ if (searchField != null && searchField.isVisible()) { Control control = (Control) searchField.getWidget(); // the workbench configurer may override visibility; if so, // focus should not change if (control != null && control.isVisible()) { Control previousFocusControl = control.getDisplay().getFocusControl(); control.setFocus(); SearchField field = (SearchField) searchField.getObject(); field.activate(previousFocusControl); return null; } } // open the original/legacy QuickAccess Dialog if the toolbars are // hidden or if the search field isn't available (maybe because the // dialog is explicitly wanted) displayQuickAccessDialog(window, executionEvent.getCommand()); return null; }