The personality of an application defines the framework the platform uses to determine what perspectives or windows, menus, action bar items and status line controls are displayed when the application starts. It can also determine the services available, an event sequence, or the lifecycle that should be applied to the objects associated with that application.
The layout of the window that contains the views and folders included in your application is defined by a perspective, which is the Eclipse equivalent of a window. You set the desired perspective by specifying a personality for your application.
A personality may be needed for one of two reasons. The first is that your application needs to provide a different UI than other applications running on that platform. The other is to have fine control over the application's startup sequence.
Personalities are activated by specifying the personality ID on the command line. For example: rcplauncher -personality personality.id.
In addition, a default personality can be specified using the plugin_customization.ini
file with the following key:
Creating a personalityParent topic: Developing the application user interface
Personalities are contributed to the platform via the com.ibm.rcp.personalty.framework.personalities
extension point. There are two ways to create a personality – you can either build one from scratch or you can extend an existing personality.
This section lists the events in the startup lifecycle in a personality.
Creating a global toolbar
When a global toolbar is created in a Lotus
® Expeditor personality, several steps occur.
Contributing to the sidebar
This section discusses the “shelfViews” programming model, and explicitly explains how to contribute a shelf view to the Lotus
Modifying the appearance of a perspective
If your application uses the default personality (com.ibm.rcp.platform.personality) or any personality using DefaultWorkbenchWindowAdvisor. you can control the width of various borders in perspectives in your Rich Client applications, either programmatically or through extension points in a branding plugin.