RSE User Interface API
The RSE provides a number of classes that can help with programming productivity when authoring
user interface artifacts, such as actions, dialogs, wizards, property pages and preferences pages.
Further, a common requirement in all of these artifacts is the need to display translated messages
to the user. The RSE supplies a framework for defining and displaying rich messages that have second
level help, severity and ID attributes.
In the following sections we introduce the support offered by the RSE for these UI constructs.
The RSE supplies a base plugin class
some advantages over the base eclipse AbstractUIPlugin class:
- Simplified methods for registering images, and support for retrieving them either as an image
or an image descriptor.
- Support for
logging error, warning and information messages, using the RSE logging framework.
- Support for loading a resource bundle, and easily retrieving translated strings from it.
- Support for loading an RSE
message file, and easily retrieving translated messages from it.
- Helper methods for getting the active workbench window and shell.
To use the base plugin class effectively, you must subclass it and supply some critical
methods of your own.
The Java property file for messages is not very rich, as it offers only the ability to define a
single message string. Throughout the RSE perspective you will notice that the messages are richer
than this. They contain second level help, severity, and ID and more. Further, there is a unique
error message dialog for displaying messages, with their second level help, and specialized support
in the RSE dialog, wizard and property page classes for displaying messages on a message line. These
messages can be selected by the user, to bring up the specialized message dialog displaying the
additional properties of the message. Further, there is support for logging severe errors to a log
file, enabling better service support.
Your own plugins can enjoy this rich message support too, even independently of using the rest of
the RSE for remote resource access. This support involves defining an xml
message file, which defines
the messages, and using a set of
supplied classes to work with the messages.
Before defining your own messages, you may wish to peruse the list of
RSE-supplied messages that are
already defined. The key benefit to using an existing message is translation, as these are already
translated into many languages.
When defining your own
you may want to place your preference pages within the Remote Systems preference page category.
As you author your preference page classes, you may find some of the RSE-supplied classes for
preference pages to be useful.
Property pages can appear in the Properties dialog of any object in eclipse. This dialog is available by selecting
"Properties" from the pop-up menu for the object. The RSE supports defining your own
property pages for the resources in its model, although there is a
distinction between local and remote resources.
Validating user-entered text is a common and tedious task in any GUI programming. Using validators to encapsulate
the error checking for a particular type of data is a highly recommended practice. The
RSE validator support is very
helpful for this, offering both a common interface for all manner of validators and a large list of pre-supplied
While validating user-entered text is common, so is affecting user-entered text prior to saving it. For example, folding it
to upper or lower case. The
RSE massager support encapsulates this concept, and
supplies a few re-usable massagers for you.
Populating preference pages, property pages, dialogs and wizards requires use of SWT widget programming. The RSE
widget support can help, with helper methods and classes, and re-usable widgets you may
The RSE supplies rich support for
dialogs, including a powerful base class
and, re-usable pre-built dialogs.
Wizards are a common building block of an eclipse GUI. Typically, a wizard is used to prompt for information to create
something new, while a dialog is used to prompt for information for other purposes.
wizard support includes base classes that can simplify the task of creating wizards.
Populating popup and pulldown menu items requires the creation of actions. These actions typically popup dialogs or wizards,
and need to be able to pass selections and inputs from the action to the dialog or wizard, and get outputs back. The RSE
action support can significantly help with this programming task, especially when used
together with the RSE dialog and wizard support.
Often we want to refresh the contents of the Remote Systems view or Table view from within our actions, to visualize
changes to the selected resources. To do this, use the
To get the system registry, use the
At times, you may want to post events in a dispatch thread rather than using the
original client's thread; or you may need access to the System Clipboard.
Such operations are only possible when the UI
is loaded, and therefore you need to use
method in that case. To get the system registry UI interface, use the