private List<MToolBar> getContributedToolbars(MPart part) { return (List<MToolBar>) part.getTransientData().get(POPULATED_TOOL_BARS); }
private List<MMenu> getContributedMenus(MPart part) { return (List<MMenu>) part.getTransientData().get(POPULATED_MENUS); }
public WorkbenchPartReference(IEclipseContext windowContext, IWorkbenchPage page, MPart part) { this.windowContext = windowContext; this.page = page; this.part = part; // cache the reference in the MPart's transientData if (part != null) { part.getTransientData().put(IWorkbenchPartReference.class.getName(), this); } }
public static E4PartWrapper getE4PartWrapper(MPart part) { if (part != null) { if (part.getTransientData().get(E4_WRAPPER_KEY) instanceof E4PartWrapper) { return (E4PartWrapper) part.getTransientData().get(E4_WRAPPER_KEY); } E4PartWrapper newWrapper = new E4PartWrapper(part); part.getTransientData().put(E4_WRAPPER_KEY, newWrapper); return newWrapper; } return null; }
/** * Adds the {@link IWorkbenchPartReference} contained in part's transient * data, if exists. */ protected void addExistingReference(List<IWorkbenchPartReference> refs, MPart part) { Object tData = part.getTransientData().get(IWorkbenchPartReference.class.getName()); if (tData instanceof IWorkbenchPartReference) { // instanceof checks also for non null values refs.add((IWorkbenchPartReference) tData); } }
@Override public String getTitleToolTip() { String toolTip = (String) part.getTransientData().get( IPresentationEngine.OVERRIDE_TITLE_TOOL_TIP_KEY); if (toolTip == null || toolTip.length() == 0) toolTip = part.getLocalizedTooltip(); return Util.safeString(toolTip); }
@Inject void setPart(@Optional @Named(IServiceConstants.ACTIVE_PART) final MPart part) { activePart = null; if (part != null) { Object client = part.getObject(); if (client instanceof CompatibilityPart) { IWorkbenchPart workbenchPart = ((CompatibilityPart) client).getPart(); activePart = workbenchPart; } else if (client != null) { if (part.getTransientData().get(E4PartWrapper.E4_WRAPPER_KEY) instanceof E4PartWrapper) { activePart = (IWorkbenchPart) part.getTransientData().get( E4PartWrapper.E4_WRAPPER_KEY); } } } }
private IWorkbenchPart getWorkbenchPart(MPart part) { if (part != null) { Object clientObject = part.getObject(); if (clientObject instanceof CompatibilityPart) { return ((CompatibilityPart) clientObject).getPart(); } else if (clientObject != null) { if (part.getTransientData().get(E4PartWrapper.E4_WRAPPER_KEY) instanceof E4PartWrapper) { return (IWorkbenchPart) part.getTransientData().get( E4PartWrapper.E4_WRAPPER_KEY); } ViewReference viewReference = getViewReference(part); if (viewReference != null) { E4PartWrapper legacyPart = E4PartWrapper.getE4PartWrapper(part); try { viewReference.initialize(legacyPart); } catch (PartInitException e) { WorkbenchPlugin.log(e); } part.getTransientData().put(E4PartWrapper.E4_WRAPPER_KEY, legacyPart); return legacyPart; } } } return null; }
private String getIconURI(MUILabel element) { if (element instanceof MPart) { MPart part = (MPart) element; String iconURI = (String) part.getTransientData().get( ICON_URI_FOR_PART); if (iconURI != null) { return iconURI; } MPartDescriptor desc = modelService.getPartDescriptor(part .getElementId()); iconURI = desc != null && desc.getIconURI() != null ? desc .getIconURI() : element.getIconURI(); part.getTransientData().put(ICON_URI_FOR_PART, iconURI); return iconURI; } return element.getIconURI(); }
Long firstPartActivationTime = (Long) firstPart.getTransientData() .getOrDefault(PartServiceImpl.PART_ACTIVATION_TIME, Long.MIN_VALUE); Long secondPartActivationTime = (Long) secondPart.getTransientData() .getOrDefault(PartServiceImpl.PART_ACTIVATION_TIME, Long.MIN_VALUE);
private void handleNullRefPlaceHolders(MUIElement element, MWindow refWin) { List<MPlaceholder> nullRefList = ((ModelServiceImpl) modelService).getNullRefPlaceHolders(element, refWin); List<MPart> partList = modelService.findElements(element, null, MPart.class); for (MPart part : partList) { if (CompatibilityPart.COMPATIBILITY_VIEW_URI.equals(part.getContributionURI()) && part.getIconURI() == null) { part.getTransientData().put(IPresentationEngine.OVERRIDE_ICON_IMAGE_KEY, ImageDescriptor.getMissingImageDescriptor().createImage()); } } if (nullRefList != null && nullRefList.size() > 0) { for (MPlaceholder ph : nullRefList) { if (ph.isToBeRendered()) { replacePlaceholder(ph); } } } }
@Override public final IWorkbenchPart getPart(boolean restore) { if (isDisposed()) { return null; } if (legacyPart == null) { if (restore && part.getWidget() == null) { // create the underlying client object backed by the part model // with the rendering engine EPartService partService = windowContext.get(EPartService.class); partService.showPart(part, PartState.CREATE); } // check if we were actually created, it is insufficient to check // whether the 'object' feature is valid or not because it is one of // the last things to be unset during the teardown process, this // means we may return a valid workbench part even if it is actually // in the process of being destroyed, see bug 328944 if (part.getObject() instanceof CompatibilityPart) { CompatibilityPart compatibilityPart = (CompatibilityPart) part.getObject(); if (compatibilityPart != null) { legacyPart = compatibilityPart.getPart(); } } else if (part.getObject() != null) { if (part.getTransientData().get(E4PartWrapper.E4_WRAPPER_KEY) instanceof E4PartWrapper) { return (IWorkbenchPart) part.getTransientData().get(E4PartWrapper.E4_WRAPPER_KEY); } } } return legacyPart; }
private void handlePostSelectionChanged(MPart part, Object selection, boolean targeted) { selection = createCompatibilitySelection(selection); Object client = part.getObject(); if (client instanceof CompatibilityPart) { IWorkbenchPart workbenchPart = ((CompatibilityPart) client).getPart(); if (targeted) { notifyListeners(workbenchPart, (ISelection) selection, part.getElementId(), targetedPostSelectionListeners); } else { notifyListeners(workbenchPart, (ISelection) selection, postSelectionListeners); } } else if (client != null) { if (part.getTransientData().get(E4PartWrapper.E4_WRAPPER_KEY) instanceof E4PartWrapper) { IWorkbenchPart workbenchPart = (IWorkbenchPart) part.getTransientData() .get(E4PartWrapper.E4_WRAPPER_KEY); if (targeted) { notifyListeners(workbenchPart, (ISelection) selection, part.getElementId(), targetedPostSelectionListeners); } else { notifyListeners(workbenchPart, (ISelection) selection, postSelectionListeners); } } } }
if (part.getTransientData().get(E4PartWrapper.E4_WRAPPER_KEY) instanceof E4PartWrapper) { IWorkbenchPart workbenchPart = (IWorkbenchPart) part.getTransientData() .get(E4PartWrapper.E4_WRAPPER_KEY); final IWorkbenchPartReference partReference = getReference(workbenchPart);
if (part.getTransientData().get(E4PartWrapper.E4_WRAPPER_KEY) instanceof E4PartWrapper) { IWorkbenchPart workbenchPart = (IWorkbenchPart) part.getTransientData() .get(E4PartWrapper.E4_WRAPPER_KEY); final IWorkbenchPartReference partReference = getReference(workbenchPart);
private MCompositePart createCompositePart(MPart originalPart) { MCompositePart compPart = ms.createModelElement(MCompositePart.class); compPart.setElementId("Split Host(" + originalPart.getLabel() + ")"); //$NON-NLS-1$ //$NON-NLS-2$ compPart.setLabel(originalPart.getLabel()); compPart.setTooltip(originalPart.getTooltip()); compPart.setIconURI(originalPart.getIconURI()); compPart.setCloseable(true); compPart.setContributionURI("bundleclass://org.eclipse.e4.ui.workbench.addons.swt/org.eclipse.e4.ui.workbench.addons.splitteraddon.SplitHost"); //$NON-NLS-1$ // Check if icon from MPart was overridden Object overriddenImage = originalPart.getTransientData().get(IPresentationEngine.OVERRIDE_ICON_IMAGE_KEY); if (overriddenImage != null) { compPart.getTransientData().put(IPresentationEngine.OVERRIDE_ICON_IMAGE_KEY, overriddenImage); } // Always remove the composite part from the model compPart.getTags().add(EPartService.REMOVE_ON_HIDE_TAG); return compPart; }
private void handleSelectionChanged(MPart part, Object selection, boolean targeted) { selection = createCompatibilitySelection(selection); context.set(ISources.ACTIVE_CURRENT_SELECTION_NAME, selection); IEclipseContext applicationContext = application.getContext(); if (applicationContext.getActiveChild() == context) { application.getContext().set(ISources.ACTIVE_CURRENT_SELECTION_NAME, selection); } Object client = part.getObject(); if (client instanceof CompatibilityPart) { IWorkbenchPart workbenchPart = ((CompatibilityPart) client).getPart(); if (targeted) { notifyListeners(workbenchPart, (ISelection) selection, part.getElementId(), targetedListeners); } else { notifyListeners(workbenchPart, (ISelection) selection, listeners); } } else if (client != null) { if (part.getTransientData().get(E4PartWrapper.E4_WRAPPER_KEY) instanceof E4PartWrapper) { IWorkbenchPart workbenchPart = (IWorkbenchPart) part.getTransientData() .get(E4PartWrapper.E4_WRAPPER_KEY); if (targeted) { notifyListeners(workbenchPart, (ISelection) selection, part.getElementId(), targetedListeners); } else { notifyListeners(workbenchPart, (ISelection) selection, listeners); } } } }
private void replacePlaceholder(MPlaceholder ph) { MPart part = modelService.createModelElement(MPart.class); part.setElementId(ph.getElementId()); part.getTransientData().put(IPresentationEngine.OVERRIDE_ICON_IMAGE_KEY, ImageDescriptor.getMissingImageDescriptor().createImage()); String label = (String) ph.getTransientData().get(IWorkbenchConstants.TAG_LABEL); if (label != null) { part.setLabel(label); } else { part.setLabel(getLabel(ph.getElementId())); } part.setContributionURI(CompatibilityPart.COMPATIBILITY_VIEW_URI); part.setCloseable(true); MElementContainer<MUIElement> curParent = ph.getParent(); int curIndex = curParent.getChildren().indexOf(ph); curParent.getChildren().remove(curIndex); curParent.getChildren().add(curIndex, part); if (curParent.getSelectedElement() == ph) { curParent.setSelectedElement(part); } }
part.getTransientData().put(IPresentationEngine.OVERRIDE_TITLE_TOOL_TIP_KEY, ttip);
MPart clonedFrom = (MPart) part.getTransientData().get(EModelService.CLONED_FROM_KEY); if (clonedFrom != null && clonedFrom.getContext() != null) { EditorReference originalRef = page.getEditorReference(clonedFrom);