Migrate and apply existing 3.x perspectives on e4 applications
To support migrating existing user-specific perspectives from the 3.x applications a
new API was added to the platform.ui.tools:
org.eclipse.e4.tools.compatibiliy.migration.PerspectiveMigrator .
To directly apply an existing perspective to the running e4 application:
/* loadMemento is something that you have to implement yourself.
You can find examples on how to do so online or
in the org.eclipse.e4.tools.compatibility.migration.tests.E4MigrationToolTest . */
IMemento storedPerspective = loadMemento();
PerspectiveMigration.apply3xWorkbenchState(storedPerspective);
Alternatively you can convert the stored perspective to an MApplication :
/* loadMemento is something that you have to implement yourself.
You can find examples on how to do so online or
in the org.eclipse.e4.tools.compatibility.migration.tests.E4MigrationToolTest . */
IMemento storedPerspective = loadMemento();
MApplication mApplication = PerspectiveMigration.convertToMApplication(storedPerspective);
Store and load perspectives of e4 applications
e4 does not allow to load and store perspectives in the same way it was possible in 3.x .
In order to do so a new API was added to the platform.ui.tools:
org.eclipse.e4.tools.persistence.PerspectivePersister .
To store a perspective of the running e4 application using its id:
String serializedPerspective = PerspectivePersister.serializePerspectiveAndPartStates("myPerspectiveId");
// store the way you like
storePerspective(serializedPerspective);
To load a stored perspective:
// load corresponding to the way you store
String serializedPerspective = loadStoredPerspective();
PerspectivePersister.restoreWorkbenchState(serializedPerspective);
|