Creating custom perspectives
Creating perspectives
To create a custom perspective it is necessary to add a new java class to a custom plugin containing the new perspective with a perspective identifier.
public class MyCustomPerspective implements IPerspectiveFactory{ public static String PERSPECTIVE_ID = "hlr.custom.ui.perspective.MyCustomPerspective"; //$NON-NLS-1$ @Override public void createInitialLayout( IPageLayout layout ) { layout.setEditorAreaVisible( false ); }}Now add a contribution to the org.eclipse.ui.perspectives extension point and fill the mandatory properties marked with a *.
Properties of "Extension Element Details"
|
key |
value |
|
id |
PERSPECTIVE_ID of the created perspective class |
|
name |
Translatable name for the perspective. When starting the name with the % sign it is indicating that a variable in a properties file in the plugin directory is used. |
|
class |
Java class reference which implements the IPerspectiveFactory. |
|
icon (optional) |
Relative path to the icon which will be used besides the name of the perspective. |
An example custom perspective is provided in the SDK package "com.heiler.ppm.customizing.ui".
Adding views to a perspective
To add a view to a perspective it it necessary to first add a contribution to the org.eclipse.ui.perspectiveExtensions extension point.
The targetID has to be the ID from the perspective where the views should be added.
After creating the perspectiveExtension a view can be added to it.
Properties of "Extension Element Details" of a view in a perspectiveExtension.
|
key |
value |
|
id |
The ID of the view you want to add. |
|
relationship |
Defines how the current view is displayed to the view given at "relative" (stated below), for example "left", "right", "bottom", "stack" |
|
relative |
The view which is the reference for the relationship above |
|
ratio |
The percentage ratio [0.01 -1] of space between the relative and the current view When choosing relationship "stack", no ratio can be given |
An example custom perspective is provided in the SDK package "com.heiler.ppm.customizing.ui".