Community
Participate
Working Groups
I need activation information to merge properly. Information about active parts is in the context and not in the model.
It seems e4 Designer needs this information as well.
(In reply to comment #1) > It seems e4 Designer needs this information as well. What are your use cases for this information, Yves?
(In reply to comment #2) > (In reply to comment #1) > > It seems e4 Designer needs this information as well. > > What are your use cases for this information, Yves? In a PerspectiveStack, we need a possibility to switch from one to another. I'm not sure if this information is IEclipseContext or in model. In case we can load e4 application in the model of OSGi, we need to show the content of active Part. In PartStack, we need to change the active part.
(In reply to comment #3) > In a PerspectiveStack, we need a possibility to switch from one to another. I'm > not sure if this information is IEclipseContext or in model. You'd have to change the active child and modify the context accordingly. Perhaps this should be in the EPartService, or maybe we need an EWindowService or EPerspectiveService. > In case we can load e4 application in the model of OSGi, we need to show the > content of active Part. In PartStack, we need to change the active part. If you want to just activate another part, I would think you should be able to get around that by just calling EPartService's API directly.
(In reply to comment #3) > In case we can load e4 application in the model of OSGi, we need to show the > content of active Part. In PartStack, we need to change the active part. Yves, does the EPartService API work for you? Altering the selected element of a stack should now work properly now that bug 298797 has been fixed.
Created attachment 180288 [details] EPartService patch v1 Prototype of activation history that's recorded by the EPS based on calls to activate(MPart) and hidePart(*).
Created attachment 180342 [details] EPartService patch v2 Updated patch so that the activation histories of perspectives are not arbitrarily purged when a part has been hidden in one perspective.
Created attachment 180352 [details] EPartService patch v3 Updated patch to compensate for the merging of bug 326182's changes.
(In reply to comment #8) > Created an attachment (id=180352) [details] > EPartService patch v3 Released to CVS HEAD. Still need tweaks for some cases of perspective switches.
*** Bug 320476 has been marked as a duplicate of this bug. ***
Created attachment 180455 [details] EPartService patch v4 Preliminary implementation of perspective activation preservation/reconsiderations across perspective switching and the hiding of active parts that are shared (i.e. parts in the shared area). In 3.x, IWorkbenchPage's setPerspective(IPerspectiveDescriptor) method, oddly enough (or not), will actually activate the workbench window even though it is just a "setter". Not totally sure this makes sense in e4. It seems to me like the activation should be more explicit.
(In reply to comment #11) > In 3.x, IWorkbenchPage's setPerspective(IPerspectiveDescriptor) method, oddly > enough (or not), will actually activate the workbench window even though it is > just a "setter". Continuing in the spirit of this behaviour, if you have a window A with an active part behind another window B and you ask another part in window A's active part's part stack to be brought to top, window A will get activated.
Created attachment 180770 [details] EPartService patch v5
Created attachment 180812 [details] EPartService patch v6 Corrects a problem in the activation candidate calculation that was returning a part under a part stack that wasn't actually the selected element.
Created attachment 180832 [details] EPartService patch v7 Final patch that is to be released.
(In reply to comment #15) > Created an attachment (id=180832) [details] > EPartService patch v7 Patch released to CVS HEAD. Introduced a new API method into EPartService: -switchPerspective(MPerspective)
Verified on Windows XP with I20101025-1602.