Skip to main content

Platform and Equinox API

Platform Changes

Persistence and migration of perspectives

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);
          

Previous Up Next

Back to the top