private void synchCTFState(MArea areaModel) { List<MPartStack> stacks = modelService.findElements(areaModel, null, MPartStack.class, null); int count = 0; for (MPartStack stack : stacks) { if (stack.isToBeRendered()) count++; } // If there's more than one stack visible we use a CTF if (count > 1) ensureCTF(areaModel); else ensureComposite(areaModel); }
public void handleEvent(Event event) { // Ensure that this event is for a MArea if (!(event.getProperty(UIEvents.EventTags.ELEMENT) instanceof MArea)) return; MArea areaModel = (MArea) event .getProperty(UIEvents.EventTags.ELEMENT); CTabFolder ctf = (CTabFolder) areaModel.getWidget(); CTabItem areaItem = ctf.getItem(0); // No widget == nothing to update if (areaItem == null) return; String attName = (String) event .getProperty(UIEvents.EventTags.ATTNAME); if (UIEvents.UILabel.LABEL.equals(attName)) { areaItem.setText(areaModel.getLocalizedLabel()); } else if (UIEvents.UILabel.ICONURI.equals(attName)) { areaItem.setImage(getImage(areaModel)); } else if (UIEvents.UILabel.TOOLTIP.equals(attName)) { areaItem.setToolTipText(areaModel.getLocalizedTooltip()); } } };
cti.setToolTipText(areaModel.getLocalizedTooltip()); if (areaModel.getIconURI() != null) cti.setImage(getImage(areaModel)); bindWidget(areaModel, ctf); ctf.requestLayout();
@Override public Object getUIContainer(MUIElement element) { MUIElement parentElement = element.getParent(); if (!(parentElement instanceof MArea)) return null; MArea areaModel = (MArea) parentElement; synchCTFState(areaModel); if (areaModel.getWidget() instanceof CTabFolder) { CTabFolder ctf = (CTabFolder) areaModel.getWidget(); return ctf.getItem(0).getControl(); } return parentElement.getWidget(); } }
private void ensureComposite(MArea areaModel) { if (areaModel.getWidget() instanceof CTabFolder) { CTabFolder ctf = (CTabFolder) areaModel.getWidget(); CTabItem cti = ctf.getItem(0); Composite innerComp = (Composite) cti.getControl(); innerComp.setParent(ctf.getParent()); cti.setControl(null); // OK now copy over the min/max state of the area stack to the // remaining part stack List<MPartStack> stacks = modelService.findElements(areaModel, null, MPartStack.class); for (MPartStack stack : stacks) { if (stack.isToBeRendered() && stack.getWidget() instanceof CTabFolder) { CTabFolder stackCTF = (CTabFolder) stack.getWidget(); stackCTF.setMinimizeVisible(ctf.getMinimizeVisible()); stackCTF.setMaximizeVisible(ctf.getMaximizeVisible()); stackCTF.setMinimized(ctf.getMinimized()); stackCTF.setMaximized(ctf.getMaximized()); } } ctf.setData(AbstractPartRenderer.OWNING_ME, null); ctf.dispose(); bindWidget(areaModel, innerComp); innerComp.setVisible(true); innerComp.requestLayout(); } }
public AbstractPartRenderer getRenderer(MUIElement uiElement, Object parent) { if (uiElement instanceof MArea) { if (areaRenderer == null) { areaRenderer = new AreaRenderer(); initRenderer(areaRenderer);
cti.setToolTipText(areaModel.getLocalizedTooltip()); if (areaModel.getIconURI() != null) cti.setImage(getImage(areaModel)); bindWidget(areaModel, ctf); ctf.getParent().layout(null, SWT.ALL | SWT.DEFER | SWT.CHANGED);
@Override public Object getUIContainer(MUIElement element) { MUIElement parentElement = element.getParent(); if (!(parentElement instanceof MArea)) return null; MArea areaModel = (MArea) parentElement; synchCTFState(areaModel); if (areaModel.getWidget() instanceof CTabFolder) { CTabFolder ctf = (CTabFolder) areaModel.getWidget(); return ctf.getItem(0).getControl(); } return parentElement.getWidget(); } }
private void ensureComposite(MArea areaModel) { if (areaModel.getWidget() instanceof CTabFolder) { CTabFolder ctf = (CTabFolder) areaModel.getWidget(); CTabItem cti = ctf.getItem(0); Composite innerComp = (Composite) cti.getControl(); innerComp.setParent(ctf.getParent()); cti.setControl(null); // OK now copy over the min/max state of the area stack to the // remaining part stack List<MPartStack> stacks = modelService.findElements(areaModel, null, MPartStack.class, null); for (MPartStack stack : stacks) { if (stack.isToBeRendered() && stack.getWidget() instanceof CTabFolder) { CTabFolder stackCTF = (CTabFolder) stack.getWidget(); stackCTF.setMinimizeVisible(ctf.getMinimizeVisible()); stackCTF.setMaximizeVisible(ctf.getMaximizeVisible()); stackCTF.setMinimized(ctf.getMinimized()); stackCTF.setMaximized(ctf.getMaximized()); } } ctf.setData(AbstractPartRenderer.OWNING_ME, null); ctf.dispose(); bindWidget(areaModel, innerComp); innerComp.setVisible(true); innerComp.getParent().layout(true, true); } }
if (uiElement instanceof MArea) { if (areaRenderer == null) { areaRenderer = new AreaRenderer(); initRenderer(areaRenderer);
private void synchCTFState(MArea areaModel) { List<MPartStack> stacks = modelService.findElements(areaModel, null, MPartStack.class, null); int count = 0; for (MPartStack stack : stacks) { if (stack.isToBeRendered()) count++; } // If there's more than one stack visible we use a CTF if (count > 1) ensureCTF(areaModel); else ensureComposite(areaModel); }