Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 338261
Collapse All | Expand All

(-)Eclipse UI/org/eclipse/ui/internal/e4/compatibility/CompatibilityEditor.java (+5 lines)
Lines 81-86 Link Here
81
	}
81
	}
82
82
83
	@Override
83
	@Override
84
	void updateImages(MPart part) {
85
		updateTabImages(part);
86
	}
87
88
	@Override
84
	void disposeSite() {
89
	void disposeSite() {
85
		IEditorSite site = (IEditorSite) getReference().getSite();
90
		IEditorSite site = (IEditorSite) getReference().getSite();
86
		if (site != null) {
91
		if (site != null) {
(-)Eclipse UI/org/eclipse/ui/internal/e4/compatibility/CompatibilityPart.java (-27 / +21 lines)
Lines 11-17 Link Here
11
11
12
package org.eclipse.ui.internal.e4.compatibility;
12
package org.eclipse.ui.internal.e4.compatibility;
13
13
14
import java.util.List;
15
import javax.annotation.PostConstruct;
14
import javax.annotation.PostConstruct;
16
import javax.annotation.PreDestroy;
15
import javax.annotation.PreDestroy;
17
import javax.inject.Inject;
16
import javax.inject.Inject;
Lines 25-38 Link Here
25
import org.eclipse.e4.ui.internal.workbench.swt.AbstractPartRenderer;
24
import org.eclipse.e4.ui.internal.workbench.swt.AbstractPartRenderer;
26
import org.eclipse.e4.ui.model.application.ui.MDirtyable;
25
import org.eclipse.e4.ui.model.application.ui.MDirtyable;
27
import org.eclipse.e4.ui.model.application.ui.MUIElement;
26
import org.eclipse.e4.ui.model.application.ui.MUIElement;
28
import org.eclipse.e4.ui.model.application.ui.advanced.MPlaceholder;
29
import org.eclipse.e4.ui.model.application.ui.basic.MPart;
27
import org.eclipse.e4.ui.model.application.ui.basic.MPart;
30
import org.eclipse.e4.ui.model.application.ui.basic.MPartStack;
28
import org.eclipse.e4.ui.model.application.ui.basic.MPartStack;
31
import org.eclipse.e4.ui.model.application.ui.basic.MWindow;
32
import org.eclipse.e4.ui.widgets.CTabFolder;
29
import org.eclipse.e4.ui.widgets.CTabFolder;
33
import org.eclipse.e4.ui.widgets.CTabItem;
30
import org.eclipse.e4.ui.widgets.CTabItem;
34
import org.eclipse.e4.ui.workbench.UIEvents;
31
import org.eclipse.e4.ui.workbench.UIEvents;
35
import org.eclipse.e4.ui.workbench.modeling.EModelService;
36
import org.eclipse.swt.SWT;
32
import org.eclipse.swt.SWT;
37
import org.eclipse.swt.layout.FillLayout;
33
import org.eclipse.swt.layout.FillLayout;
38
import org.eclipse.swt.widgets.Composite;
34
import org.eclipse.swt.widgets.Composite;
Lines 289-322 Link Here
289
		});
285
		});
290
	}
286
	}
291
287
292
	private void updateImages(MPart part) {
288
	void updateTabImages(MUIElement element) {
293
		// Try to update the image if we're using a CTF
289
		// Try to update the image if we're using a CTF
294
		EModelService ms = part.getContext().get(EModelService.class);
290
		MUIElement refParent = element.getParent();
295
		MWindow topWin = ms.getTopLevelWindowFor(part);
291
		if (!(refParent instanceof MPartStack)) {
296
		List<MPlaceholder> partRefs = ms.findElements(topWin, part.getElementId(),
292
			return;
297
				MPlaceholder.class, null);
293
		}
298
		for (MUIElement ref : partRefs) {
294
299
			MUIElement refParent = ref.getParent();
295
		if (!(refParent.getWidget() instanceof CTabFolder)) {
300
			if (!(refParent instanceof MPartStack))
296
			return;
301
				continue;
297
		}
302
298
303
			if (!(refParent.getWidget() instanceof CTabFolder))
299
		CTabFolder ctf = (CTabFolder) refParent.getWidget();
304
				continue;
300
		if (ctf.isDisposed()) {
305
301
			return;
306
			CTabFolder ctf = (CTabFolder) refParent.getWidget();
302
		}
307
			if (ctf.isDisposed())
303
308
				continue;
304
		CTabItem[] items = ctf.getItems();
309
305
		for (CTabItem item : items) {
310
			CTabItem[] items = ctf.getItems();
306
			if (item.getData(AbstractPartRenderer.OWNING_ME) == element) {
311
			for (CTabItem item : items) {
307
				item.setImage(wrapped.getTitleImage());
312
				if (item.getData(AbstractPartRenderer.OWNING_ME) == ref) {
313
					item.setImage(wrapped.getTitleImage());
314
					ctf.getDisplay().update();
315
				}
316
			}
308
			}
317
		}
309
		}
318
	}
310
	}
319
311
312
	abstract void updateImages(MPart part);
313
320
	public void deactivateActionBars(boolean forceHide) {
314
	public void deactivateActionBars(boolean forceHide) {
321
		PartSite site = getReference().getSite();
315
		PartSite site = getReference().getSite();
322
		site.deactivateActionBars(forceHide);
316
		site.deactivateActionBars(forceHide);
(-)Eclipse UI/org/eclipse/ui/internal/e4/compatibility/CompatibilityView.java (+16 lines)
Lines 11-24 Link Here
11
11
12
package org.eclipse.ui.internal.e4.compatibility;
12
package org.eclipse.ui.internal.e4.compatibility;
13
13
14
import java.util.List;
14
import javax.inject.Inject;
15
import javax.inject.Inject;
15
import org.eclipse.e4.core.contexts.IEclipseContext;
16
import org.eclipse.e4.core.contexts.IEclipseContext;
16
import org.eclipse.e4.ui.internal.workbench.ContributionsAnalyzer;
17
import org.eclipse.e4.ui.internal.workbench.ContributionsAnalyzer;
17
import org.eclipse.e4.ui.internal.workbench.swt.AbstractPartRenderer;
18
import org.eclipse.e4.ui.internal.workbench.swt.AbstractPartRenderer;
19
import org.eclipse.e4.ui.model.application.ui.MUIElement;
20
import org.eclipse.e4.ui.model.application.ui.advanced.MPlaceholder;
18
import org.eclipse.e4.ui.model.application.ui.basic.MPart;
21
import org.eclipse.e4.ui.model.application.ui.basic.MPart;
22
import org.eclipse.e4.ui.model.application.ui.basic.MWindow;
19
import org.eclipse.e4.ui.model.application.ui.menu.MMenu;
23
import org.eclipse.e4.ui.model.application.ui.menu.MMenu;
20
import org.eclipse.e4.ui.model.application.ui.menu.MToolBar;
24
import org.eclipse.e4.ui.model.application.ui.menu.MToolBar;
21
import org.eclipse.e4.ui.model.application.ui.menu.impl.MenuFactoryImpl;
25
import org.eclipse.e4.ui.model.application.ui.menu.impl.MenuFactoryImpl;
26
import org.eclipse.e4.ui.workbench.modeling.EModelService;
22
import org.eclipse.e4.ui.workbench.renderers.swt.MenuManagerRenderer;
27
import org.eclipse.e4.ui.workbench.renderers.swt.MenuManagerRenderer;
23
import org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer;
28
import org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer;
24
import org.eclipse.e4.ui.workbench.renderers.swt.ToolBarManagerRenderer;
29
import org.eclipse.e4.ui.workbench.renderers.swt.ToolBarManagerRenderer;
Lines 47-52 Link Here
47
		return (IViewPart) getPart();
52
		return (IViewPart) getPart();
48
	}
53
	}
49
54
55
	@Override
56
	void updateImages(MPart part) {
57
		EModelService ms = part.getContext().get(EModelService.class);
58
		MWindow topWin = ms.getTopLevelWindowFor(part);
59
		List<MPlaceholder> partRefs = ms.findElements(topWin, part.getElementId(),
60
				MPlaceholder.class, null);
61
		for (MUIElement ref : partRefs) {
62
			updateTabImages(ref);
63
		}
64
	}
65
50
	/*
66
	/*
51
	 * (non-Javadoc)
67
	 * (non-Javadoc)
52
	 * 
68
	 * 

Return to bug 338261