Community
Participate
Working Groups
Build Identifier: I20100428-2215 With to perspectives I encounter the following issue: 1. Having two perspectives perspective1 and perspective2 perspective1 having a sash with tag sash1 perspective2 having a sash with tag sash2 2. Opening view via EPartService in current perspective works fine 3. Now switching from perspective1 to perspective2 via EModelService (as performed in e4 photo demo SwitchPerspectiveHandler) works out quite well. 4.Now opening a new Part via EPartService using showPart(MPart) with specified category shash2 seems to buggy. While debugging the code I found out, that field rootContainer of PartServiceImpl doesn't get updated when step 3 is performed, thus the specified target container sash2 cannot be found and thus the new part is created in a new viewcontainer in perspective1. Cannot think of a workaround for that. Reproducible: Always Steps to Reproduce: see in details
Hi, I worked around the issue, by finding the stack myself using the App for searchRoot and showing it like: MPart part = partService.createPart(ELEMENT_ID); MPartStack stack = (MPartStack) modelService.find(TARGET_STACK, theApp); stack.getChildren().add(part); // now the workaround for the part getting rendered and activated stack.setSelectedElement(part); Can anyone think of a case with non-unique <tag>'s in application model? Sebastian
I've noticed the same thing. It appears that PART_SERVICE_ROOT isn't being properly updated for perspective-changes, with the consequence that PartServiceImpl#isIInContainer() returns false, and bringToTop() never does anything. In the function for updating PART_SERVICE_ROOT, the MPerspective pulled from the current context at line 289 of E4Application: Object object = current.get(MPerspective.class.getName()); is actually the wrong perspective. In my testing, where I have 6 perspectives and had performed a perspective switch prior (from A -> B, and now trying B -> C), the perspective reported is actually A, and not B.
Created attachment 168174 [details] Force a context 'ACTIVE_CHILD' change on a perspective switch Since this is in the rendering code it's now *enforced* that all perspective changes will result in a context 'activation'.
Committed in >20100511. Applied the patch. Note that this means that any old code that was performing the context switching itself (i.e. WorkbenchPage#setPerspective) should likely remove that code (even though a code inspection indicates that the context implementation will treat this as a NO-OP). Brian, I'm going to mark this as fixed. If it's still not working correctly in your scenarios feel free to re-open...
Since a few I-Builds the automatic update for rootContainer in PartServiceImpl seems to be broken, when switching perspectives as done in e4 photo demo until now (SwitchPerspectiveHandler 1.7). Currently work around is direct update on eclipse context for rootContainer like eclipseContext.modify(EPartService.PART_SERVICE_ROOT, newRootContainer); So the issue seems to be broken again. Can anyone confirm?
Remy, I know we used to have issues here...do you know if they are still there? I seem to remember adding some code is the LSR to handle this but we've lost the history for the class...
Is this still a problem? The EPS and the renderers have changed quite a bit.
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant. -- The automated Eclipse Genie.
This is a mass change to close all e4 bugs marked with "stalebug" whiteboard. If this bug is still valid, please reopen and remove the "stalebug" keyword.