|
Lines 3275-3280
Link Here
|
| 3275 |
assertEquals(shell, obj.getControl().getShell()); |
3275 |
assertEquals(shell, obj.getControl().getShell()); |
| 3276 |
} |
3276 |
} |
| 3277 |
|
3277 |
|
|
|
3278 |
public void testBug387234() { |
| 3279 |
MApplication application = ApplicationFactoryImpl.eINSTANCE |
| 3280 |
.createApplication(); |
| 3281 |
|
| 3282 |
MWindow window = BasicFactoryImpl.eINSTANCE.createWindow(); |
| 3283 |
application.getChildren().add(window); |
| 3284 |
application.setSelectedElement(window); |
| 3285 |
|
| 3286 |
MPartStack stack = BasicFactoryImpl.eINSTANCE.createPartStack(); |
| 3287 |
window.getChildren().add(stack); |
| 3288 |
window.setSelectedElement(stack); |
| 3289 |
|
| 3290 |
MPart part = BasicFactoryImpl.eINSTANCE.createPart(); |
| 3291 |
stack.getChildren().add(part); |
| 3292 |
stack.setSelectedElement(part); |
| 3293 |
|
| 3294 |
MWindow detachedWindow = BasicFactoryImpl.eINSTANCE.createWindow(); |
| 3295 |
window.getWindows().add(detachedWindow); |
| 3296 |
|
| 3297 |
MPartStack detachedStack = BasicFactoryImpl.eINSTANCE.createPartStack(); |
| 3298 |
detachedWindow.getChildren().add(detachedStack); |
| 3299 |
detachedWindow.setSelectedElement(detachedStack); |
| 3300 |
|
| 3301 |
application.setContext(appContext); |
| 3302 |
appContext.set(MApplication.class.getName(), application); |
| 3303 |
|
| 3304 |
wb = new E4Workbench(application, appContext); |
| 3305 |
wb.createAndRunUI(window); |
| 3306 |
|
| 3307 |
stack.getChildren().remove(part); |
| 3308 |
detachedStack.getChildren().add(part); |
| 3309 |
detachedStack.setSelectedElement(part); |
| 3310 |
|
| 3311 |
assertTrue("Detached window should be rendered", |
| 3312 |
detachedWindow.isToBeRendered()); |
| 3313 |
assertTrue("Detached stack should be rendered", |
| 3314 |
detachedStack.isToBeRendered()); |
| 3315 |
assertTrue("Part should be rendered", part.isToBeRendered()); |
| 3316 |
|
| 3317 |
Shell shell = (Shell) detachedWindow.getWidget(); |
| 3318 |
shell.close(); |
| 3319 |
spinEventLoop(); // process pending events |
| 3320 |
|
| 3321 |
assertFalse("Detached window should not be rendered", |
| 3322 |
detachedWindow.isToBeRendered()); |
| 3323 |
assertFalse("Detached stack should not be rendered", |
| 3324 |
detachedStack.isToBeRendered()); |
| 3325 |
assertFalse("Part should not be rendered", part.isToBeRendered()); |
| 3326 |
|
| 3327 |
assertNull("Selected element should be null", |
| 3328 |
detachedStack.getSelectedElement()); |
| 3329 |
assertNull("Selected element should be null", |
| 3330 |
detachedWindow.getSelectedElement()); |
| 3331 |
} |
| 3332 |
|
| 3278 |
private MWindow createWindowWithOneView(String partName) { |
3333 |
private MWindow createWindowWithOneView(String partName) { |
| 3279 |
final MWindow window = BasicFactoryImpl.eINSTANCE.createWindow(); |
3334 |
final MWindow window = BasicFactoryImpl.eINSTANCE.createWindow(); |
| 3280 |
window.setHeight(300); |
3335 |
window.setHeight(300); |