public MTrimBar getTopTrim() { List<MTrimBar> trimBars = model.getTrimBars(); for (MTrimBar bar : trimBars) { if (MAIN_TOOLBAR_ID.equals(bar.getElementId())) { return bar; } } return null; }
/** * Clean up the action bars. */ public void dispose() { coolBarManager.dispose(); menuManager.dispose(); statusLineManager.dispose(); windowModel.getContext().deactivate(); windowModel.getContext().dispose(); ((Shell) windowModel.getWidget()).dispose(); app.getChildren().remove(windowModel); }
private void addDetachedWindows() { for (DetachedWindowReader detachedWindowReader : perspReader.getDetachedWindows()) { MTrimmedWindow detachedWindow = modelService.createModelElement(MTrimmedWindow.class); Rectangle bounds = detachedWindowReader.getBounds(); detachedWindow.setX(bounds.x); detachedWindow.setY(bounds.y); detachedWindow.setWidth(bounds.width); detachedWindow.setHeight(bounds.height); MPartStack stack = modelService.createModelElement(MPartStack.class); populatePartStack(stack, detachedWindowReader); detachedWindow.getChildren().add(stack); perspective.getWindows().add(detachedWindow); } }
final IEclipseContext windowContext = model.getContext(); HandlerServiceImpl.push(windowContext.getParent(), null); toolbarOverride = new ToolbarOverrides(page); ContextInjectionFactory.inject(page, model.getContext()); windowContext.set(IWorkbenchPage.class, page); Shell shell = (Shell) model.getWidget(); if (model.getMainMenu() == null) { mainMenu = modelService.createModelElement(MMenu.class); mainMenu.setElementId(ActionSet.MAIN_MENU); renderer.linkModelToManager(mainMenu, menuManager); fill(renderer, mainMenu, menuManager); model.setMainMenu(mainMenu); final Menu menu = (Menu) engine.createGui(mainMenu, model.getWidget(), model.getContext()); shell.setMenuBar(menu); if (model.getMainMenu() == null || model.getWidget() == null || menu.isDisposed() || mainMenu.getWidget() == null) { return;
@Override public IExtensionTracker getExtensionTracker() { if (model == null || model.getContext() == null) { return null; } return model.getContext().get(IExtensionTracker.class); }
runnable.run(new NullProgressMonitor()); } else { EPartService partService = model.getContext().get(EPartService.class); final MPart curActive = partService.getActivePart(); boolean wasCancelEnabled = manager.isCancelEnabled(); boolean enableMainMenu = false; IBindingService bs = model.getContext().get(IBindingService.class); boolean keyFilterEnabled = bs.isKeyFilterEnabled(); List<Control> toEnable = new ArrayList<>(); Menu mainMenu = (Menu) model.getMainMenu().getWidget(); if (mainMenu != null && !mainMenu.isDisposed() && mainMenu.isEnabled()) { mainMenu.setEnabled(false); if (enableMainMenu && model != null && model.getMainMenu() != null) { Menu mainMenu = (Menu) model.getMainMenu().getWidget(); mainMenu.setEnabled(true);
@Override public Shell getShell() { return (Shell) model.getWidget(); }
@Override public void setActivePage(final IWorkbenchPage in) { if (getActivePage() != in) { if (in == null) { firePageClosed(); } page = (WorkbenchPage) in; model.getContext().set(IWorkbenchPage.class, page); partService.setPage(page); updateActionSets(); // submitGlobalActions(); } }
private MTrimBar getBarForElement(MUIElement element, MTrimmedWindow window) { SideValue side = getCachedBar(element); if (side == null) { Shell winShell = (Shell) window.getWidget(); Rectangle winBounds = winShell.getBounds(); int winCenterX = winBounds.width / 2; Control stackCtrl = (Control) element.getWidget(); Rectangle stackBounds = stackCtrl.getBounds(); stackBounds = winShell.getDisplay().map(stackCtrl, winShell, stackBounds); int stackCenterX = stackBounds.x + (stackBounds.width / 2); side = stackCenterX < winCenterX ? SideValue.LEFT : SideValue.RIGHT; } MTrimBar bar = modelService.getTrim(window, side); return bar; }
for (MTrimBar bar : topWin.getTrimBars()) { for (MTrimElement item : bar.getChildren()) { String id = item.getElementId();
@Override public void detach(MPartSashContainerElement element, int x, int y, int width, int height) { // If we're showing through a placehoilder then detach it... if (element.getCurSharedRef() != null) { element = element.getCurSharedRef(); } // Determine the correct parent for the new window MWindow window = getTopLevelWindowFor(element); MPerspective thePersp = getPerspectiveFor(element); MTrimmedWindow newWindow = MBasicFactory.INSTANCE.createTrimmedWindow(); newWindow.setX(x); newWindow.setY(y); newWindow.setWidth(width); newWindow.setHeight(height); element.getParent().getChildren().remove(element); MWindowElement uiRoot = wrapElementForWindow(element); newWindow.getChildren().add(uiRoot); if (thePersp != null) { thePersp.getWindows().add(newWindow); } else if (window != null) { window.getWindows().add(newWindow); } }
private void createTrim(MUIElement element) { MTrimmedWindow window = (MTrimmedWindow) getWindowFor(element); Shell winShell = (Shell) window.getWidget(); .createGui(bar, winShell, window.getContext()); window.getContext());
public CoolBarToTrimManager(MApplication app, MTrimmedWindow window, List<MTrimElement> workbenchTrimElements, IRendererFactory rf) { application = app; this.window = window; rendererFactory = rf; this.workbenchTrimElements = workbenchTrimElements; toolbarExtensions = new ArrayList<>(); modelService = window.getContext().get(EModelService.class); topTrim = (MTrimBar) modelService.find(MAIN_TOOLBAR_ID, window); if (topTrim == null) { topTrim = modelService.getTrim(window, SideValue.TOP); topTrim.setElementId(MAIN_TOOLBAR_ID); } topTrim.setToBeRendered(false); MToolBar mToolBar = modelService.createModelElement(MToolBar.class); renderer = (ToolBarManagerRenderer) rendererFactory.getRenderer(mToolBar, null); }
private MTrimBar getBarForElement(MUIElement element, MTrimmedWindow window) { SideValue side = getCachedBar(element); if (side == null) { Shell winShell = (Shell) window.getWidget(); Rectangle winBounds = winShell.getBounds(); int winCenterX = winBounds.width / 2; Control stackCtrl = (Control) element.getWidget(); Rectangle stackBounds = stackCtrl.getBounds(); stackBounds = winShell.getDisplay().map(stackCtrl, winShell, stackBounds); int stackCenterX = stackBounds.x + (stackBounds.width / 2); side = stackCenterX < winCenterX ? SideValue.LEFT : SideValue.RIGHT; } MTrimBar bar = modelService.getTrim(window, side); return bar; } }
for (MTrimBar bar : topWin.getTrimBars()) { for (MTrimElement item : bar.getChildren()) { String id = item.getElementId();
Shell winShell = (Shell) window.getWidget(); .createGui(bar, winShell, window.getContext()); window.getContext());
private IWorkbenchPage busyOpenPage(String perspectiveId, IAdaptable input) throws WorkbenchException { IPerspectiveDescriptor descriptor = workbench.getPerspectiveRegistry() .findPerspectiveWithId(perspectiveId); if (descriptor == null) { throw new WorkbenchException(NLS.bind( WorkbenchMessages.WorkbenchPage_ErrorCreatingPerspective, perspectiveId)); } if (page == null) { page = new WorkbenchPage(this, input); model.getContext().set(IWorkbenchPage.class.getName(), page); try { ContextInjectionFactory.inject(page, model.getContext()); } catch (InjectionException e) { throw new WorkbenchException(e.getMessage(), e); } firePageOpened(); partService.setPage(page); } else { IWorkbenchWindow window = getWorkbench().openWorkbenchWindow(perspectiveId, input); return window.getActivePage(); } perspective = descriptor; page.setPerspective(perspective); firePageActivated(); return page; }
@Override public MTrimBar getTrim(MTrimmedWindow window, SideValue sv) { List<MTrimBar> bars = window.getTrimBars(); for (MTrimBar bar : bars) { if (bar.getSide() == sv) { return bar; } } // Didn't find a trim bar for the side, make one MTrimBar newBar = BasicFactoryImpl.eINSTANCE.createTrimBar(); // Assign default ids to the trim bars to match legacy eclipse if (sv == SideValue.TOP) { newBar.setElementId("org.eclipse.ui.main.menu"); //$NON-NLS-1$ } else if (sv == SideValue.BOTTOM) { newBar.setElementId("org.eclipse.ui.trim.status"); //$NON-NLS-1$ } else if (sv == SideValue.LEFT) { newBar.setElementId("org.eclipse.ui.trim.vertical1"); //$NON-NLS-1$ } else if (sv == SideValue.RIGHT) { newBar.setElementId("org.eclipse.ui.trim.vertical2"); //$NON-NLS-1$ } newBar.setSide(sv); window.getTrimBars().add(newBar); return newBar; }
engine.createGui(customizeActionBars.mainMenu, customizeActionBars.windowModel.getWidget(), customizeActionBars.windowModel.getContext()); engine.createGui(topTrim, customizeActionBars.windowModel.getWidget(), customizeActionBars.windowModel.getContext());
IEclipseContext windowContext = model.getContext(); serviceLocator.registerService(IWorkbenchLocationService.class, new WorkbenchLocationService(IServiceScopes.WINDOW_SCOPE, getWorkbench(), this, serviceLocator.registerService(IActionCommandMappingService.class, mappingService); selectionService = ContextInjectionFactory.make(SelectionService.class, model.getContext()); serviceLocator.registerService(ISelectionService.class, selectionService); IServiceScopes.WINDOW_SCOPE, this, model.getContext()); serviceLocator.registerService(ICommandService.class, slaveCmdService); serviceLocator.registerService(IUpdateService.class, slaveCmdService); .make(ContextService.class, model.getContext()); serviceLocator.registerService(IContextService.class, cxs);