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 295003 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/e4/ui/tests/application/EPartServiceTest.java (+18 lines)
Lines 21-26 Link Here
21
import org.eclipse.e4.ui.model.application.MApplication;
21
import org.eclipse.e4.ui.model.application.MApplication;
22
import org.eclipse.e4.ui.model.application.MApplicationFactory;
22
import org.eclipse.e4.ui.model.application.MApplicationFactory;
23
import org.eclipse.e4.ui.model.application.MPart;
23
import org.eclipse.e4.ui.model.application.MPart;
24
import org.eclipse.e4.ui.model.application.MPartDescriptor;
24
import org.eclipse.e4.ui.model.application.MPartStack;
25
import org.eclipse.e4.ui.model.application.MPartStack;
25
import org.eclipse.e4.ui.model.application.MWindow;
26
import org.eclipse.e4.ui.model.application.MWindow;
26
import org.eclipse.e4.ui.services.IServiceConstants;
27
import org.eclipse.e4.ui.services.IServiceConstants;
Lines 636-641 Link Here
636
		assertEquals(partBackB, partServiceB.getActivePart());
637
		assertEquals(partBackB, partServiceB.getActivePart());
637
	}
638
	}
638
639
640
	public void testShowPart() {
641
		MApplication application = createApplication(1, new String[1][0]);
642
		MWindow window = application.getChildren().get(0);
643
		MPartDescriptor partDescriptor = MApplicationFactory.eINSTANCE
644
				.createPartDescriptor();
645
		partDescriptor.setId("partId");
646
		application.getDescriptors().add(partDescriptor);
647
648
		engine.createGui(window);
649
650
		EPartService partService = (EPartService) window.getContext().get(
651
				EPartService.class.getName());
652
		MPart part = partService.showPart("partId");
653
		assertNotNull(part);
654
		assertEquals("partId", part.getId());
655
	}
656
639
	public void testSwitchWindows() {
657
	public void testSwitchWindows() {
640
		// create an application with two windows
658
		// create an application with two windows
641
		MApplication application = MApplicationFactory.eINSTANCE
659
		MApplication application = MApplicationFactory.eINSTANCE
(-)src/org/eclipse/e4/ui/tests/workbench/MPartSashContainerTest.java (-1 / +8 lines)
Lines 15-20 Link Here
15
15
16
import org.eclipse.e4.core.services.IDisposable;
16
import org.eclipse.e4.core.services.IDisposable;
17
import org.eclipse.e4.core.services.context.IEclipseContext;
17
import org.eclipse.e4.core.services.context.IEclipseContext;
18
import org.eclipse.e4.ui.model.application.MApplication;
18
import org.eclipse.e4.ui.model.application.MApplicationFactory;
19
import org.eclipse.e4.ui.model.application.MApplicationFactory;
19
import org.eclipse.e4.ui.model.application.MPart;
20
import org.eclipse.e4.ui.model.application.MPart;
20
import org.eclipse.e4.ui.model.application.MPartSashContainer;
21
import org.eclipse.e4.ui.model.application.MPartSashContainer;
Lines 73-79 Link Here
73
		partSashContainer.getChildren().add(partA);
74
		partSashContainer.getChildren().add(partA);
74
		partSashContainer.getChildren().add(partB);
75
		partSashContainer.getChildren().add(partB);
75
76
76
		wb = new E4Workbench(window, appContext);
77
		MApplication application = MApplicationFactory.eINSTANCE
78
				.createApplication();
79
		application.getChildren().add(window);
80
		application.setContext(appContext);
81
		appContext.set(MApplication.class.getName(), application);
82
83
		wb = new E4Workbench(application, appContext);
77
		wb.createAndRunUI(window);
84
		wb.createAndRunUI(window);
78
85
79
		Object widget = partSashContainer.getWidget();
86
		Object widget = partSashContainer.getWidget();
(-)src/org/eclipse/e4/ui/tests/workbench/MPartTest.java (-5 / +41 lines)
Lines 15-20 Link Here
15
15
16
import org.eclipse.e4.core.services.IDisposable;
16
import org.eclipse.e4.core.services.IDisposable;
17
import org.eclipse.e4.core.services.context.IEclipseContext;
17
import org.eclipse.e4.core.services.context.IEclipseContext;
18
import org.eclipse.e4.ui.model.application.MApplication;
18
import org.eclipse.e4.ui.model.application.MApplicationFactory;
19
import org.eclipse.e4.ui.model.application.MApplicationFactory;
19
import org.eclipse.e4.ui.model.application.MPart;
20
import org.eclipse.e4.ui.model.application.MPart;
20
import org.eclipse.e4.ui.model.application.MPartSashContainer;
21
import org.eclipse.e4.ui.model.application.MPartSashContainer;
Lines 72-78 Link Here
72
73
73
	public void testSetName() {
74
	public void testSetName() {
74
		final MWindow window = createWindowWithOneView("Part Name");
75
		final MWindow window = createWindowWithOneView("Part Name");
75
		wb = new E4Workbench(window, appContext);
76
77
		MApplication application = MApplicationFactory.eINSTANCE
78
				.createApplication();
79
		application.getChildren().add(window);
80
		application.setContext(appContext);
81
		appContext.set(MApplication.class.getName(), application);
82
83
		wb = new E4Workbench(application, appContext);
76
		wb.createAndRunUI(window);
84
		wb.createAndRunUI(window);
77
85
78
		Widget topWidget = (Widget) window.getWidget();
86
		Widget topWidget = (Widget) window.getWidget();
Lines 105-111 Link Here
105
113
106
	public void testCTabItem_GetImage() {
114
	public void testCTabItem_GetImage() {
107
		final MWindow window = createWindowWithOneView("Part Name");
115
		final MWindow window = createWindowWithOneView("Part Name");
108
		wb = new E4Workbench(window, appContext);
116
117
		MApplication application = MApplicationFactory.eINSTANCE
118
				.createApplication();
119
		application.getChildren().add(window);
120
		application.setContext(appContext);
121
		appContext.set(MApplication.class.getName(), application);
122
123
		wb = new E4Workbench(application, appContext);
109
		wb.createAndRunUI(window);
124
		wb.createAndRunUI(window);
110
125
111
		Widget topWidget = (Widget) window.getWidget();
126
		Widget topWidget = (Widget) window.getWidget();
Lines 129-135 Link Here
129
144
130
	private void testDeclaredTooltip(String partToolTip, String expectedToolTip) {
145
	private void testDeclaredTooltip(String partToolTip, String expectedToolTip) {
131
		final MWindow window = createWindowWithOneView("Part Name", partToolTip);
146
		final MWindow window = createWindowWithOneView("Part Name", partToolTip);
132
		wb = new E4Workbench(window, appContext);
147
148
		MApplication application = MApplicationFactory.eINSTANCE
149
				.createApplication();
150
		application.getChildren().add(window);
151
		application.setContext(appContext);
152
		appContext.set(MApplication.class.getName(), application);
153
154
		wb = new E4Workbench(application, appContext);
133
		wb.createAndRunUI(window);
155
		wb.createAndRunUI(window);
134
156
135
		Widget topWidget = (Widget) window.getWidget();
157
		Widget topWidget = (Widget) window.getWidget();
Lines 165-171 Link Here
165
187
166
	private void testMPart_setTooltip(String partToolTip, String expectedToolTip) {
188
	private void testMPart_setTooltip(String partToolTip, String expectedToolTip) {
167
		final MWindow window = createWindowWithOneView("Part Name");
189
		final MWindow window = createWindowWithOneView("Part Name");
168
		wb = new E4Workbench(window, appContext);
190
191
		MApplication application = MApplicationFactory.eINSTANCE
192
				.createApplication();
193
		application.getChildren().add(window);
194
		application.setContext(appContext);
195
		appContext.set(MApplication.class.getName(), application);
196
197
		wb = new E4Workbench(application, appContext);
169
		wb.createAndRunUI(window);
198
		wb.createAndRunUI(window);
170
199
171
		Widget topWidget = (Widget) window.getWidget();
200
		Widget topWidget = (Widget) window.getWidget();
Lines 209-215 Link Here
209
238
210
	public void testMPart_getContext() {
239
	public void testMPart_getContext() {
211
		final MWindow window = createWindowWithOneView("Part Name");
240
		final MWindow window = createWindowWithOneView("Part Name");
212
		wb = new E4Workbench(window, appContext);
241
242
		MApplication application = MApplicationFactory.eINSTANCE
243
				.createApplication();
244
		application.getChildren().add(window);
245
		application.setContext(appContext);
246
		appContext.set(MApplication.class.getName(), application);
247
248
		wb = new E4Workbench(application, appContext);
213
		wb.createAndRunUI(window);
249
		wb.createAndRunUI(window);
214
250
215
		MPartSashContainer container = (MPartSashContainer) window
251
		MPartSashContainer container = (MPartSashContainer) window
(-)src/org/eclipse/e4/ui/tests/workbench/MSashTest.java (-1 / +8 lines)
Lines 15-20 Link Here
15
15
16
import org.eclipse.e4.core.services.IDisposable;
16
import org.eclipse.e4.core.services.IDisposable;
17
import org.eclipse.e4.core.services.context.IEclipseContext;
17
import org.eclipse.e4.core.services.context.IEclipseContext;
18
import org.eclipse.e4.ui.model.application.MApplication;
18
import org.eclipse.e4.ui.model.application.MApplicationFactory;
19
import org.eclipse.e4.ui.model.application.MApplicationFactory;
19
import org.eclipse.e4.ui.model.application.MPart;
20
import org.eclipse.e4.ui.model.application.MPart;
20
import org.eclipse.e4.ui.model.application.MPartSashContainer;
21
import org.eclipse.e4.ui.model.application.MPartSashContainer;
Lines 87-93 Link Here
87
	public void testSashWeights() {
88
	public void testSashWeights() {
88
		MWindow window = createSashWithNViews(2);
89
		MWindow window = createSashWithNViews(2);
89
90
90
		wb = new E4Workbench(window, appContext);
91
		MApplication application = MApplicationFactory.eINSTANCE
92
				.createApplication();
93
		application.getChildren().add(window);
94
		application.setContext(appContext);
95
		appContext.set(MApplication.class.getName(), application);
96
97
		wb = new E4Workbench(application, appContext);
91
		wb.createAndRunUI(window);
98
		wb.createAndRunUI(window);
92
99
93
		Widget topWidget = (Widget) window.getWidget();
100
		Widget topWidget = (Widget) window.getWidget();
(-)src/org/eclipse/e4/ui/tests/workbench/MSaveablePartTest.java (-1 / +9 lines)
Lines 15-20 Link Here
15
15
16
import org.eclipse.e4.core.services.IDisposable;
16
import org.eclipse.e4.core.services.IDisposable;
17
import org.eclipse.e4.core.services.context.IEclipseContext;
17
import org.eclipse.e4.core.services.context.IEclipseContext;
18
import org.eclipse.e4.ui.model.application.MApplication;
18
import org.eclipse.e4.ui.model.application.MApplicationFactory;
19
import org.eclipse.e4.ui.model.application.MApplicationFactory;
19
import org.eclipse.e4.ui.model.application.MPart;
20
import org.eclipse.e4.ui.model.application.MPart;
20
import org.eclipse.e4.ui.model.application.MPartSashContainer;
21
import org.eclipse.e4.ui.model.application.MPartSashContainer;
Lines 72-78 Link Here
72
73
73
	public void testCreateView() {
74
	public void testCreateView() {
74
		final MWindow window = createWindowWithOneView("Part Name");
75
		final MWindow window = createWindowWithOneView("Part Name");
75
		wb = new E4Workbench(window, appContext);
76
77
		MApplication application = MApplicationFactory.eINSTANCE
78
				.createApplication();
79
		application.getChildren().add(window);
80
		application.setContext(appContext);
81
		appContext.set(MApplication.class.getName(), application);
82
83
		wb = new E4Workbench(application, appContext);
76
		wb.createAndRunUI(window);
84
		wb.createAndRunUI(window);
77
85
78
		Widget topWidget = (Widget) window.getWidget();
86
		Widget topWidget = (Widget) window.getWidget();
(-)src/org/eclipse/e4/ui/tests/workbench/MWindowTest.java (-11 / +84 lines)
Lines 16-21 Link Here
16
import org.eclipse.e4.core.services.IDisposable;
16
import org.eclipse.e4.core.services.IDisposable;
17
import org.eclipse.e4.core.services.context.IEclipseContext;
17
import org.eclipse.e4.core.services.context.IEclipseContext;
18
import org.eclipse.e4.core.services.context.spi.IContextConstants;
18
import org.eclipse.e4.core.services.context.spi.IContextConstants;
19
import org.eclipse.e4.ui.model.application.MApplication;
19
import org.eclipse.e4.ui.model.application.MApplicationFactory;
20
import org.eclipse.e4.ui.model.application.MApplicationFactory;
20
import org.eclipse.e4.ui.model.application.MMenu;
21
import org.eclipse.e4.ui.model.application.MMenu;
21
import org.eclipse.e4.ui.model.application.MMenuItem;
22
import org.eclipse.e4.ui.model.application.MMenuItem;
Lines 83-89 Link Here
83
	public void testCreateWindow() {
84
	public void testCreateWindow() {
84
		final MWindow window = MApplicationFactory.eINSTANCE.createWindow();
85
		final MWindow window = MApplicationFactory.eINSTANCE.createWindow();
85
		window.setLabel("MyWindow");
86
		window.setLabel("MyWindow");
86
		wb = new E4Workbench(window, appContext);
87
88
		MApplication application = MApplicationFactory.eINSTANCE
89
				.createApplication();
90
		application.getChildren().add(window);
91
		application.setContext(appContext);
92
		appContext.set(MApplication.class.getName(), application);
93
94
		wb = new E4Workbench(application, appContext);
87
		wb.createAndRunUI(window);
95
		wb.createAndRunUI(window);
88
96
89
		Widget topWidget = (Widget) window.getWidget();
97
		Widget topWidget = (Widget) window.getWidget();
Lines 96-102 Link Here
96
	public void testWindowVisibility() {
104
	public void testWindowVisibility() {
97
		final MWindow window = MApplicationFactory.eINSTANCE.createWindow();
105
		final MWindow window = MApplicationFactory.eINSTANCE.createWindow();
98
		window.setLabel("MyWindow");
106
		window.setLabel("MyWindow");
99
		wb = new E4Workbench(window, appContext);
107
108
		MApplication application = MApplicationFactory.eINSTANCE
109
				.createApplication();
110
		application.getChildren().add(window);
111
		application.setContext(appContext);
112
		appContext.set(MApplication.class.getName(), application);
113
114
		wb = new E4Workbench(application, appContext);
100
		wb.createAndRunUI(window);
115
		wb.createAndRunUI(window);
101
116
102
		Widget topWidget = (Widget) window.getWidget();
117
		Widget topWidget = (Widget) window.getWidget();
Lines 117-123 Link Here
117
		final MWindow window = MApplicationFactory.eINSTANCE.createWindow();
132
		final MWindow window = MApplicationFactory.eINSTANCE.createWindow();
118
		window.setLabel("MyWindow");
133
		window.setLabel("MyWindow");
119
		window.setVisible(false);
134
		window.setVisible(false);
120
		wb = new E4Workbench(window, appContext);
135
136
		MApplication application = MApplicationFactory.eINSTANCE
137
				.createApplication();
138
		application.getChildren().add(window);
139
		application.setContext(appContext);
140
		appContext.set(MApplication.class.getName(), application);
141
142
		wb = new E4Workbench(application, appContext);
121
		wb.createAndRunUI(window);
143
		wb.createAndRunUI(window);
122
144
123
		Widget topWidget = (Widget) window.getWidget();
145
		Widget topWidget = (Widget) window.getWidget();
Lines 130-136 Link Here
130
152
131
	public void testCreateView() {
153
	public void testCreateView() {
132
		final MWindow window = createWindowWithOneView();
154
		final MWindow window = createWindowWithOneView();
133
		wb = new E4Workbench(window, appContext);
155
156
		MApplication application = MApplicationFactory.eINSTANCE
157
				.createApplication();
158
		application.getChildren().add(window);
159
		application.setContext(appContext);
160
		appContext.set(MApplication.class.getName(), application);
161
162
		wb = new E4Workbench(application, appContext);
134
		wb.createAndRunUI(window);
163
		wb.createAndRunUI(window);
135
164
136
		Widget topWidget = (Widget) window.getWidget();
165
		Widget topWidget = (Widget) window.getWidget();
Lines 160-166 Link Here
160
189
161
	public void testContextChildren() {
190
	public void testContextChildren() {
162
		final MWindow window = createWindowWithOneView();
191
		final MWindow window = createWindowWithOneView();
163
		wb = new E4Workbench(window, appContext);
192
193
		MApplication application = MApplicationFactory.eINSTANCE
194
				.createApplication();
195
		application.getChildren().add(window);
196
		application.setContext(appContext);
197
		appContext.set(MApplication.class.getName(), application);
198
199
		wb = new E4Workbench(application, appContext);
164
		wb.createAndRunUI(window);
200
		wb.createAndRunUI(window);
165
201
166
		Widget topWidget = (Widget) window.getWidget();
202
		Widget topWidget = (Widget) window.getWidget();
Lines 206-212 Link Here
206
242
207
	public void testCreateMenu() {
243
	public void testCreateMenu() {
208
		final MWindow window = createWindowWithOneViewAndMenu();
244
		final MWindow window = createWindowWithOneViewAndMenu();
209
		wb = new E4Workbench(window, appContext);
245
246
		MApplication application = MApplicationFactory.eINSTANCE
247
				.createApplication();
248
		application.getChildren().add(window);
249
		application.setContext(appContext);
250
		appContext.set(MApplication.class.getName(), application);
251
252
		wb = new E4Workbench(application, appContext);
210
		wb.createAndRunUI(window);
253
		wb.createAndRunUI(window);
211
254
212
		Widget topWidget = (Widget) window.getWidget();
255
		Widget topWidget = (Widget) window.getWidget();
Lines 241-247 Link Here
241
		final MWindow window = MApplicationFactory.eINSTANCE.createWindow();
284
		final MWindow window = MApplicationFactory.eINSTANCE.createWindow();
242
		window.setLabel("windowName");
285
		window.setLabel("windowName");
243
286
244
		wb = new E4Workbench(window, appContext);
287
		MApplication application = MApplicationFactory.eINSTANCE
288
				.createApplication();
289
		application.getChildren().add(window);
290
		application.setContext(appContext);
291
		appContext.set(MApplication.class.getName(), application);
292
293
		wb = new E4Workbench(application, appContext);
245
		wb.createAndRunUI(window);
294
		wb.createAndRunUI(window);
246
295
247
		Object widget = window.getWidget();
296
		Object widget = window.getWidget();
Lines 262-268 Link Here
262
		final MWindow window = MApplicationFactory.eINSTANCE.createWindow();
311
		final MWindow window = MApplicationFactory.eINSTANCE.createWindow();
263
		window.setX(200);
312
		window.setX(200);
264
313
265
		wb = new E4Workbench(window, appContext);
314
		MApplication application = MApplicationFactory.eINSTANCE
315
				.createApplication();
316
		application.getChildren().add(window);
317
		application.setContext(appContext);
318
		appContext.set(MApplication.class.getName(), application);
319
320
		wb = new E4Workbench(application, appContext);
266
		wb.createAndRunUI(window);
321
		wb.createAndRunUI(window);
267
322
268
		Object widget = window.getWidget();
323
		Object widget = window.getWidget();
Lines 282-288 Link Here
282
		final MWindow window = MApplicationFactory.eINSTANCE.createWindow();
337
		final MWindow window = MApplicationFactory.eINSTANCE.createWindow();
283
		window.setY(200);
338
		window.setY(200);
284
339
285
		wb = new E4Workbench(window, appContext);
340
		MApplication application = MApplicationFactory.eINSTANCE
341
				.createApplication();
342
		application.getChildren().add(window);
343
		application.setContext(appContext);
344
		appContext.set(MApplication.class.getName(), application);
345
346
		wb = new E4Workbench(application, appContext);
286
		wb.createAndRunUI(window);
347
		wb.createAndRunUI(window);
287
348
288
		Object widget = window.getWidget();
349
		Object widget = window.getWidget();
Lines 302-308 Link Here
302
		final MWindow window = MApplicationFactory.eINSTANCE.createWindow();
363
		final MWindow window = MApplicationFactory.eINSTANCE.createWindow();
303
		window.setWidth(200);
364
		window.setWidth(200);
304
365
305
		wb = new E4Workbench(window, appContext);
366
		MApplication application = MApplicationFactory.eINSTANCE
367
				.createApplication();
368
		application.getChildren().add(window);
369
		application.setContext(appContext);
370
		appContext.set(MApplication.class.getName(), application);
371
372
		wb = new E4Workbench(application, appContext);
306
		wb.createAndRunUI(window);
373
		wb.createAndRunUI(window);
307
374
308
		Object widget = window.getWidget();
375
		Object widget = window.getWidget();
Lines 322-328 Link Here
322
		final MWindow window = MApplicationFactory.eINSTANCE.createWindow();
389
		final MWindow window = MApplicationFactory.eINSTANCE.createWindow();
323
		window.setHeight(200);
390
		window.setHeight(200);
324
391
325
		wb = new E4Workbench(window, appContext);
392
		MApplication application = MApplicationFactory.eINSTANCE
393
				.createApplication();
394
		application.getChildren().add(window);
395
		application.setContext(appContext);
396
		appContext.set(MApplication.class.getName(), application);
397
398
		wb = new E4Workbench(application, appContext);
326
		wb.createAndRunUI(window);
399
		wb.createAndRunUI(window);
327
400
328
		Object widget = window.getWidget();
401
		Object widget = window.getWidget();
(-)src/org/eclipse/e4/ui/tests/workbench/PartRenderingEngineTests.java (-1 / +8 lines)
Lines 15-20 Link Here
15
15
16
import org.eclipse.e4.core.services.IDisposable;
16
import org.eclipse.e4.core.services.IDisposable;
17
import org.eclipse.e4.core.services.context.IEclipseContext;
17
import org.eclipse.e4.core.services.context.IEclipseContext;
18
import org.eclipse.e4.ui.model.application.MApplication;
18
import org.eclipse.e4.ui.model.application.MApplicationFactory;
19
import org.eclipse.e4.ui.model.application.MApplicationFactory;
19
import org.eclipse.e4.ui.model.application.MPart;
20
import org.eclipse.e4.ui.model.application.MPart;
20
import org.eclipse.e4.ui.model.application.MPartSashContainer;
21
import org.eclipse.e4.ui.model.application.MPartSashContainer;
Lines 50-56 Link Here
50
51
51
	public void testCreateView() {
52
	public void testCreateView() {
52
		final MWindow window = createWindowWithOneView("Part Name");
53
		final MWindow window = createWindowWithOneView("Part Name");
53
		wb = new E4Workbench(window, appContext);
54
		MApplication application = MApplicationFactory.eINSTANCE
55
				.createApplication();
56
		application.getChildren().add(window);
57
		application.setContext(appContext);
58
		appContext.set(MApplication.class.getName(), application);
59
60
		wb = new E4Workbench(application, appContext);
54
		wb.createAndRunUI(window);
61
		wb.createAndRunUI(window);
55
62
56
		MPartSashContainer container = (MPartSashContainer) window
63
		MPartSashContainer container = (MPartSashContainer) window
(-)src/org/eclipse/e4/workbench/modeling/EPartService.java (-3 / +1 lines)
Lines 30-37 Link Here
30
30
31
	public boolean isPartVisible(MPart part);
31
	public boolean isPartVisible(MPart part);
32
32
33
	// public MPart showPart(String id);
33
	public MPart showPart(String id);
34
	//
35
	// public MPart showPart(MPart part);
36
34
37
}
35
}
(-)src/org/eclipse/e4/workbench/ui/internal/PartServiceImpl.java (+49 lines)
Lines 17-31 Link Here
17
import org.eclipse.e4.core.services.annotations.Optional;
17
import org.eclipse.e4.core.services.annotations.Optional;
18
import org.eclipse.e4.core.services.context.IEclipseContext;
18
import org.eclipse.e4.core.services.context.IEclipseContext;
19
import org.eclipse.e4.core.services.context.spi.IContextConstants;
19
import org.eclipse.e4.core.services.context.spi.IContextConstants;
20
import org.eclipse.e4.ui.model.application.MApplication;
21
import org.eclipse.e4.ui.model.application.MApplicationFactory;
20
import org.eclipse.e4.ui.model.application.MContext;
22
import org.eclipse.e4.ui.model.application.MContext;
21
import org.eclipse.e4.ui.model.application.MElementContainer;
23
import org.eclipse.e4.ui.model.application.MElementContainer;
22
import org.eclipse.e4.ui.model.application.MPart;
24
import org.eclipse.e4.ui.model.application.MPart;
25
import org.eclipse.e4.ui.model.application.MPartDescriptor;
26
import org.eclipse.e4.ui.model.application.MPartStack;
23
import org.eclipse.e4.ui.model.application.MUIElement;
27
import org.eclipse.e4.ui.model.application.MUIElement;
24
import org.eclipse.e4.ui.model.application.MWindow;
28
import org.eclipse.e4.ui.model.application.MWindow;
25
import org.eclipse.e4.ui.services.IServiceConstants;
29
import org.eclipse.e4.ui.services.IServiceConstants;
26
import org.eclipse.e4.ui.services.events.IEventBroker;
30
import org.eclipse.e4.ui.services.events.IEventBroker;
27
import org.eclipse.e4.workbench.modeling.EPartService;
31
import org.eclipse.e4.workbench.modeling.EPartService;
28
import org.eclipse.e4.workbench.ui.UIEvents;
32
import org.eclipse.e4.workbench.ui.UIEvents;
33
import org.eclipse.emf.ecore.EObject;
34
import org.eclipse.emf.ecore.util.EcoreUtil;
29
import org.osgi.service.event.Event;
35
import org.osgi.service.event.Event;
30
import org.osgi.service.event.EventHandler;
36
import org.osgi.service.event.EventHandler;
31
37
Lines 47-52 Link Here
47
				windowHandler);
53
				windowHandler);
48
	}
54
	}
49
55
56
	@Inject
57
	private MApplication application;
58
50
	/**
59
	/**
51
	 * This is the specific implementation. TODO: generalize it
60
	 * This is the specific implementation. TODO: generalize it
52
	 */
61
	 */
Lines 228-231 Link Here
228
		}
237
		}
229
238
230
	}
239
	}
240
241
	public MPart showPart(String id) {
242
		MPartDescriptor descriptorMatch = null;
243
		for (MPartDescriptor descriptor : application.getDescriptors()) {
244
			if (descriptor.getId().equals(id)) {
245
				descriptorMatch = descriptor;
246
				break;
247
			}
248
		}
249
250
		if (descriptorMatch == null) {
251
			return null;
252
		}
253
		// 2) add a child under the parent
254
		// TBD only make a new one if multiple copies are allowed
255
256
		// TBD here we just copy descriptor for convenience; better would be to have an utility
257
		// to make a part based on the descriptor.
258
		// Create the part based on the descriptor
259
		// MPart part = MApplicationFactory.eINSTANCE.createPart();
260
		// part.setURI(descriptor.getURI());
261
		// part.setLabel(descriptor.getLabel());
262
		MPart part = (MPart) EcoreUtil.copy((EObject) descriptorMatch);
263
264
		// Wrap it in a stack - TBD - always?
265
		MPartStack stack = MApplicationFactory.eINSTANCE.createPartStack();
266
		stack.getChildren().add(part);
267
268
		rootContainer.getChildren().add(stack);
269
		// 3) make it visible / active / re-layout
270
		// XXX part service somehow tied to a container window. After that fixed code will be:
271
		// partService.activate((MPart) copy);
272
		// but for now:
273
		// IEclipseContext parentContext = ((MContext)parent).getContext();
274
		// EPartService parentPartService = (EPartService)
275
		// parentContext.get(EPartService.class.getName());
276
		// parentPartService.activate(part);
277
		activate(part);
278
		return part;
279
	}
231
}
280
}

Return to bug 295003