MUIElement getSiblingSelectionCandidate(MPart part) { MPlaceholder placeholder = part.getCurSharedRef(); return getSiblingSelectionCandidate(part, placeholder == null ? part : placeholder); } }
private boolean isClosable(MPart part) { // if it's a shared part check its current ref if (part.getCurSharedRef() != null) { return !(part.getCurSharedRef().getTags() .contains(IPresentationEngine.NO_CLOSE)); } return part.isCloseable(); }
private MPartStack getStackFor(MPart part) { MUIElement presentationElement = part.getCurSharedRef() == null ? part : part.getCurSharedRef(); MUIElement parent = presentationElement.getParent(); while (parent != null && !(parent instanceof MPartStack)) parent = parent.getParent(); return (MPartStack) parent; } }
protected boolean isClosable(MPart part) { // if it's a shared part check its current ref if (part.getCurSharedRef() != null) { return !(part.getCurSharedRef().getTags().contains(IPresentationEngine.NO_CLOSE)); } return part.isCloseable(); }
private MPartStack getIntroStack() { ViewSite site = (ViewSite) getViewSite(); MPart introModelPart = site.getModel(); if (introModelPart.getCurSharedRef() != null) { MUIElement introPartParent = introModelPart.getCurSharedRef().getParent(); if (introPartParent instanceof MPartStack) { return (MPartStack) introPartParent; } } return null; }
private MPartStack getIntroStack(ViewIntroAdapterPart introAdapter) { ViewSite site = (ViewSite) introAdapter.getViewSite(); MPart introModelPart = site.getModel(); if (introModelPart.getCurSharedRef() != null) { MUIElement introPartParent = introModelPart.getCurSharedRef().getParent(); if (introPartParent instanceof MPartStack) { return (MPartStack) introPartParent; } } return null; }
private int lastIndexOfContainer(MElementContainer<?> parent) { for (int i = 0; i < activationList.size(); i++) { MPart mPart = activationList.get(i); MElementContainer<MUIElement> container = mPart.getParent(); if (container == parent) { return i; } else if (container == null) { MPlaceholder placeholder = mPart.getCurSharedRef(); if (placeholder != null && placeholder.getParent() == parent) { return i; } } } return -1; }
private MPart getSiblingActivationCandidate(MPart part) { MPlaceholder placeholder = part.getCurSharedRef(); MUIElement candidate = getSiblingSelectionCandidate(part, placeholder == null ? part : placeholder); return (MPart) (candidate instanceof MPlaceholder ? ((MPlaceholder) candidate).getRef() : candidate); }
private MElementContainer<MUIElement> getParent(MPart part) { MElementContainer<MUIElement> parent = part.getParent(); if (parent == null) { MPlaceholder placeholder = part.getCurSharedRef(); return placeholder == null ? null : placeholder.getParent(); } return parent; }
private MUIElement getParentModel() { MElementContainer<MUIElement> parent = part.getParent(); if (parent == null) { MPlaceholder placeholder = part.getCurSharedRef(); return placeholder == null ? null : placeholder.getParent(); } return parent; }
private MElementContainer<MUIElement> getParent(MPart part) { MElementContainer<MUIElement> parent = part.getParent(); if (parent == null) { MPlaceholder placeholder = part.getCurSharedRef(); return placeholder == null ? null : placeholder.getParent(); } return parent; }
@Override protected boolean requiresFocus(MPart element) { MUIElement inStack = element.getCurSharedRef() != null ? element.getCurSharedRef() : element; if (inStack.getParent() != null && inStack.getParent().getTransientData().containsKey(INHIBIT_FOCUS)) { inStack.getParent().getTransientData().remove(INHIBIT_FOCUS); return false; } return super.requiresFocus(element); }
@Override protected boolean requiresFocus(MPart element) { MUIElement inStack = element.getCurSharedRef() != null ? element .getCurSharedRef() : element; if (inStack.getParent() != null && inStack.getParent().getTransientData() .containsKey(INHIBIT_FOCUS)) { inStack.getParent().getTransientData().remove(INHIBIT_FOCUS); return false; } return super.requiresFocus(element); }
@Override public void createPartControl(Composite parent) { addZoomListener(); introPart.createPartControl(parent); ViewSite site = (ViewSite) getViewSite(); MPart introModelPart = site.getModel(); if (introModelPart.getCurSharedRef() != null) { MUIElement parentElement = introModelPart.getCurSharedRef().getParent(); if (parentElement instanceof MPartStack) { setStandby(!parentElement.getTags().contains(IPresentationEngine.MAXIMIZED)); } } }
boolean isSelected(MPart part) { MElementContainer<?> parent = part.getParent(); if (parent == null) { MPlaceholder placeholder = part.getCurSharedRef(); if (placeholder == null) { return false; } parent = placeholder.getParent(); return parent instanceof MGenericStack ? parent.getSelectedElement() == placeholder : parent != null; } return !(parent instanceof MGenericStack) || parent.getSelectedElement() == part; }
private void adjustPlaceholder(MPart part) { if (isShared(part)) { MPlaceholder placeholder = part.getCurSharedRef(); // if this part doesn't have any placeholders, we need to make one if (placeholder == null // alternatively, if it has one but it's not in the current container, then we // need to spawn another one as we don't want to reuse the same one and end up // shifting that placeholder to the current container during the add operation || (placeholder.getParent() != null && !isInContainer(placeholder))) { placeholder = createSharedPart(part); part.setCurSharedRef(placeholder); } } }
/** * @return {@code true} if the part should not be rendered or it has a current * shared reference that is not to be rendered <b>or</b> if a * placeholder for the part (in the current perspective) exists and is * not to be rendered. {@code false} otherwise, i.e. if the placeholders * of the part are to be rendered. */ private boolean shouldNotRenderPart(MPart part) { if (!part.isToBeRendered()) { return true; } MPlaceholder curSharedRef = part.getCurSharedRef(); if (curSharedRef != null && !curSharedRef.isToBeRendered()) { return true; } MPlaceholder mPlaceholder = modelService.findPlaceholderFor(window, part); if (mPlaceholder != null && !mPlaceholder.isToBeRendered()) { return true; } return false; }
/** * Records the specified parent part's selected element in the activation history if the parent * is a stack. * * @param part * the part whose parent's selected element should be checked for activation history * recording */ private void recordStackActivation(MPart part) { MElementContainer<? extends MUIElement> parent = part.getParent(); if (parent instanceof MGenericStack) { recordSelectedActivation(parent); } else if (parent == null) { MPlaceholder placeholder = part.getCurSharedRef(); if (placeholder != null) { parent = placeholder.getParent(); if (parent instanceof MGenericStack) { recordSelectedActivation(parent); } } } }
public MUIElement getActiveElement(IWorkbenchPartReference ref) { MUIElement element = null; MPerspective curPersp = modelService.getActivePerspective(window); if (curPersp == null) return null; MPlaceholder eaPH = (MPlaceholder) modelService.find(IPageLayout.ID_EDITOR_AREA, curPersp); MPart model = ((WorkbenchPartReference) ref).getModel(); MPlaceholder placeholder = model.getCurSharedRef(); switch (modelService.getElementLocation(placeholder == null ? model : placeholder)) { case EModelService.IN_ACTIVE_PERSPECTIVE: case EModelService.OUTSIDE_PERSPECTIVE: MUIElement parent = placeholder == null ? model.getParent() : placeholder.getParent(); if (parent instanceof MPartStack) { element = parent; } break; case EModelService.IN_SHARED_AREA: element = eaPH; break; } return element; }
/** * Unzooms the shared area if there are no more rendered parts contained * within it. * * @see #unzoomSharedArea(MUIElement) */ private void unzoomSharedArea() { MPerspective curPersp = getPerspectiveStack().getSelectedElement(); if (curPersp == null) return; MPlaceholder eaPH = (MPlaceholder) modelService.find(IPageLayout.ID_EDITOR_AREA, curPersp); for (MPart part : modelService.findElements(eaPH, null, MPart.class, null)) { if (part.isToBeRendered()) { MPlaceholder placeholder = part.getCurSharedRef(); if (placeholder == null || placeholder.isToBeRendered()) { return; } } } setPartState(eaPH, null); }