@Override public void childRendered(MElementContainer<MUIElement> parentElement, MUIElement element) { super.childRendered(parentElement, element); // Ensure that the element's 'containerInfo' is initialized ensureLayoutWeight(element); forceLayout(parentElement); }
@Override public IEclipseContext getContext(MUIElement el) { return super.getContext(el); }
@Override public Image getImage(MUILabel element) { Image image = super.getImage(element); if (image == null && element instanceof MWindow) { // Detached windows should take their image from parent window MWindow parent = modelService.getTopLevelWindowFor((MWindow) element); if (parent != null && parent != element) { image = getImage(parent); } } return image; }
@Override public void hideChild(MElementContainer<MUIElement> parentElement, MUIElement child) { super.hideChild(parentElement, child); forceLayout(parentElement); }
public Object getUIContainer(MUIElement childElement) { Composite intermediate = (Composite) super.getUIContainer(childElement); if (intermediate == null || intermediate.isDisposed()) { return null; } ToolBar toolbar = findToolbar(intermediate); if (toolbar == null) { toolbar = createToolbar(childElement.getParent(), intermediate); } return toolbar; }
@Override public void init(IEclipseContext context) { super.init(context); application = context.get(MApplication.class); }
@Override public void postProcess(MUIElement element) { super.postProcess(element); disposeToolbarIfNecessary(element); }
@Override public void hookControllerLogic(final MUIElement me) { super.hookControllerLogic(me); if (!(me instanceof MPart)) { return; } Widget widget = (Widget) me.getWidget(); if (widget instanceof Composite) { widget.addListener(SWT.Activate, activationListener); } }
static protected MUIElement getModelElement(Control ctrl) { if (ctrl == null) return null; MUIElement element = (MUIElement) ctrl .getData(AbstractPartRenderer.OWNING_ME); if (element != null) { return element; // FIXME: DndUtil.getModelElement() has the following check; // do we need this? // if (modelService.getTopLevelWindowFor(element) == topLevelWindow) // { // return element; // } // return null; } return getModelElement(ctrl.getParent()); }
@Override public void disposeWidget(MUIElement element) { if (element instanceof MPart) { MPart part = (MPart) element; MToolBar toolBar = part.getToolbar(); if (toolBar != null) { Widget widget = (Widget) toolBar.getWidget(); if (widget != null) { unbindWidget(toolBar); widget.dispose(); } } for (MMenu menu : part.getMenus()) { engine.removeGui(menu); } } super.disposeWidget(element); } }
@Override public void hideChild(MElementContainer<MUIElement> parentElement, MUIElement child) { super.hideChild(parentElement, child); forceLayout(parentElement); }
@Override public Object getUIContainer(MUIElement element) { if (!(element instanceof MWindow)) return super.getUIContainer(element); MPerspective persp = (MPerspective) ((EObject) element).eContainer(); if (persp.getWidget() instanceof Composite) { Composite comp = (Composite) persp.getWidget(); return comp.getShell(); } return null; } }
@Override public void init(IEclipseContext context) { super.init(context); application = context.get(MApplication.class); }
@Override public void postProcess(MUIElement element) { super.postProcess(element); String policy = "VerticalComposite"; //compositeModel.getPolicy(); //$NON-NLS-1$ if (policy != null && policy.endsWith("Composite")) { //$NON-NLS-1$ Composite composite = (Composite) element.getWidget(); Control[] children = composite.getChildren(); GridLayout gl = new GridLayout( policy.startsWith("Horizontal") ? children.length : 1, false); //$NON-NLS-1$ gl.horizontalSpacing = 0; gl.verticalSpacing = 0; gl.marginHeight = 0; gl.marginWidth = 0; composite.setLayout(gl); for (int i = 0; i < children.length; i++) { Control child = children[i]; boolean grabV = !(child instanceof ToolBar); boolean grabH = !(child instanceof ToolBar); child.setLayoutData(new GridData(SWT.FILL, SWT.FILL, grabH, grabV)); } } } }
@Override public void hookControllerLogic(final MUIElement me) { super.hookControllerLogic(me); if (!(me instanceof MPart)) { return; } Widget widget = (Widget) me.getWidget(); if (widget instanceof Composite) { widget.addListener(SWT.Activate, activationListener); } }
static protected MUIElement getModelElement(Control ctrl) { if (ctrl == null) return null; MUIElement element = (MUIElement) ctrl .getData(AbstractPartRenderer.OWNING_ME); if (element != null) { return element; // FIXME: DndUtil.getModelElement() has the following check; // do we need this? // if (modelService.getTopLevelWindowFor(element) == topLevelWindow) // { // return element; // } // return null; } return getModelElement(ctrl.getParent()); }
try { parent.setRedraw(false); super.disposeWidget(element); } finally { parent.setRedraw(true); super.disposeWidget(element);
@Override public void hideChild(MElementContainer<MUIElement> parentElement, MUIElement child) { super.hideChild(parentElement, child); Object downCast = parentElement; layoutTrim((MTrimBar) downCast); }
@Override public Object getUIContainer(MUIElement element) { if (!(element instanceof MWindow)) return super.getUIContainer(element); MUIElement persp = modelService.getContainer(element); if (persp.getWidget() instanceof Composite) { Composite comp = (Composite) persp.getWidget(); return comp.getShell(); } return null; } }
@Override public IEclipseContext getContext(MUIElement el) { return super.getContext(el); }