private void addItemToSet(List<CTabItem> itemsToSet, MPart parentParent) { CTabItem item = findItemForPart(parentParent); if (item != null) { itemsToSet.add(item); } }
@Override public int category(Object element) { if (element instanceof MPart) { MPart part = (MPart) element; CTabItem item = BasicPartList.this.renderer.findItemForPart(part); if (item != null && !item.isShowing()) { return -1; } } return 0; } });
@Override public Font getFont(Object element) { if (element instanceof MPart) { MPart part = (MPart) element; CTabItem item = renderer.findItemForPart(part); if (item != null && !item.isShowing()) { return boldFont; } } return super.getFont(element); }
@Override public Font getFont(Object element) { if (element instanceof MPart) { MPart part = (MPart) element; CTabItem item = renderer.findItemForPart(part); if (item != null && !item.isShowing()) { return boldFont; } } return super.getFont(element); }
private void updatePartTab(Event event, MPart part) { String attName = (String) event.getProperty(UIEvents.EventTags.ATTNAME); Object newValue = event.getProperty(UIEvents.EventTags.NEW_VALUE); // Is the part directly under the stack? MElementContainer<MUIElement> parent = part.getParent(); if (parent != null && parent.getRenderer() == StackRenderer.this) { CTabItem cti = findItemForPart(part, parent); if (cti != null) { updateTab(cti, part, attName, newValue); } return; } // Do we have any stacks with place holders for the element // that's changed? Set<MPlaceholder> refs = renderedMap.get(part); if (refs != null) { for (MPlaceholder ref : refs) { MElementContainer<MUIElement> refParent = ref.getParent(); if (refParent.getRenderer() instanceof StackRenderer) { CTabItem cti = findItemForPart(ref, refParent); if (cti != null) { updateTab(cti, part, attName, newValue); } } } } }
/** True is the given model represents an hidden editor */ protected boolean isHiddenEditor(MPart model) { if (model == null || model.getParent() == null || !(model.getParent().getRenderer() instanceof StackRenderer)) { return false; } StackRenderer renderer = (StackRenderer) model.getParent().getRenderer(); CTabItem item = renderer.findItemForPart(model); return (item != null && !item.isShowing()); }
List<CTabItem> getItemsToSet(MPart part) { List<CTabItem> itemsToSet = new ArrayList<>(); MUIElement partParent = part.getParent(); if (partParent instanceof MPartStack) { addItemToSet(itemsToSet, part); } else if (partParent instanceof MPartSashContainer) { MElementContainer<MUIElement> parentParent = partParent.getParent(); if (parentParent instanceof MPart) { MPart parentParentMPart = (MPart) parentParent; addItemToSet(itemsToSet, parentParentMPart); } } else if (part.getCurSharedRef() != null) { MWindow topWin = modelService.getTopLevelWindowFor(part); List<MPlaceholder> partRefs = modelService.findElements(topWin, part.getElementId(), MPlaceholder.class); for (MPlaceholder ref : partRefs) { CTabItem item = findItemForPart(ref, null); if (item != null) { itemsToSet.add(item); } } } return itemsToSet; }
CTabItem cti = findItemForPart(part, part.getParent()); if (cti != null) { return cti; CTabItem cti = findItemForPart(ref, refParent); if (cti != null) { return cti;
public void handleEvent(Event event) { Object element = event.getProperty(UIEvents.EventTags.ELEMENT); Object newValue = event.getProperty(UIEvents.EventTags.NEW_VALUE); Object oldValue = event.getProperty(UIEvents.EventTags.OLD_VALUE); if (!validateElement(element) || !validateValues(oldValue, newValue)) { return; } MPart part = newValue instanceof MPlaceholder ? (MPart) ((MPlaceholder) newValue) .getRef() : (MPart) element; CTabItem cti = findItemForPart(part); if (cti == null) { return; } if (CSSConstants.CSS_CONTENT_CHANGE_CLASS.equals(newValue)) { part.getTags().remove(CSSConstants.CSS_CONTENT_CHANGE_CLASS); if (cti != cti.getParent().getSelection()) { part.getTags().add(CSSConstants.CSS_HIGHLIGHTED_CLASS); } } else if (newValue instanceof MPlaceholder // part gets active && part.getTags().contains( CSSConstants.CSS_HIGHLIGHTED_CLASS)) { part.getTags().remove(CSSConstants.CSS_HIGHLIGHTED_CLASS); } setCSSInfo(part, cti); reapplyStyles(cti.getParent()); }
CTabItem cti = findItemForPart(part, part.getParent()); if (cti != null) { return cti; CTabItem cti = findItemForPart(ref, refParent); if (cti != null) { return cti;
/** * * Detaches the currently selected part * * @param menu */ private void detachActivePart(final Menu menu) { MPart selectedPart = (MPart) menu.getData(STACK_SELECTED_PART); CTabItem cti = findItemForPart(selectedPart); if (cti == null || cti.getParent() == null) { return; } CTabFolder parent = cti.getParent(); EModelService modelService = getContextForParent(selectedPart).get(EModelService.class); Rectangle bounds = parent.getBounds(); Point display = parent.toDisplay(bounds.x, bounds.y); modelService.detach(selectedPart, display.x, display.y, bounds.width, bounds.height); }
CTabItem cti = findItemForPart(part); if (cti != null) { updateTab(cti, part, attName, newValue); CTabItem cti = findItemForPart(ref, refParent); if (cti != null) { updateTab(cti, part, attName, newValue);
@Override public void hideChild(MElementContainer<MUIElement> parentElement, MUIElement child) { super.hideChild(parentElement, child); CTabFolder tabFolder = (CTabFolder) parentElement.getWidget(); if (tabFolder == null) return; // Check if we have to reset the currently active child for the stack CTabItem tabItem = findItemForPart(child, parentElement); if (tabItem == tabFolder.getSelection()) { // If we're the only part we need to clear the top right... if (tabFolder.getItemCount() == 1) { adjustTopRight(tabFolder); } } // find the 'stale' tab for this element and dispose it if (tabItem != null && !tabItem.isDisposed()) { tabItem.setControl(null); tabItem.dispose(); } }
CTabItem cti = findItemForPart(part); if (cti == null) { return;
protected void showTab(MUIElement element) { super.showTab(element); // an invisible element won't have the correct widget hierarchy if (!element.isVisible()) { return; } final CTabFolder ctf = (CTabFolder) getParentWidget(element); CTabItem cti = findItemForPart(element, null); if (cti == null) { createTab(element.getParent(), element); cti = findItemForPart(element, element.getParent()); } Control ctrl = (Control) element.getWidget(); if (ctrl != null && ctrl.getParent() != ctf) { ctrl.setParent(ctf); cti.setControl(ctrl); } else if (element.getWidget() == null) { Control tabCtrl = (Control) renderer.createGui(element); cti.setControl(tabCtrl); } ignoreTabSelChanges = true; ctf.setSelection(cti); ignoreTabSelChanges = false; // Clear out the current Top Right info MPart part = (MPart) ((element instanceof MPart) ? element : ((MPlaceholder) element).getRef()); adjustTR(ctf, part); }
CTabItem tabItem = findItemForPart(element, null); if (tabItem == null) { createTab(element.getParent(), element); tabItem = findItemForPart(element, element.getParent());
/** * Handles changes in tags * * @param event */ @Inject @Optional void subscribeTopicTagsChanged(@UIEventTopic(UIEvents.ApplicationElement.TOPIC_TAGS) Event event) { if (tabStateHandler == null) { tabStateHandler = new TabStateHandler(); } tabStateHandler.handleEvent(event); Object changedObj = event.getProperty(EventTags.ELEMENT); if (!(changedObj instanceof MPart)) return; final MPart part = (MPart) changedObj; CTabItem item = findItemForPart(part); if (item == null || item.isDisposed()) return; if (UIEvents.isADD(event)) { if (UIEvents.contains(event, UIEvents.EventTags.NEW_VALUE, IPresentationEngine.ADORNMENT_PIN)) { item.setImage(getImage(part)); } } else if (UIEvents.isREMOVE(event)) { if (UIEvents.contains(event, UIEvents.EventTags.OLD_VALUE, IPresentationEngine.ADORNMENT_PIN)) { item.setImage(getImage(part)); } } }
CTabItem cti = findItemForPart(child, parentElement); if (cti != null && !cti.isDisposed()) { cti.setControl(null);
CTabItem cti = findItemForPart(element, stack); if (cti != null) { if (element.getWidget() != null
CTabItem tabItem = findItemForPart(element, stack); if (tabItem != null) { if (element.getWidget() != null && tabItem.getControl() != element.getWidget())