Plugging In Property Pages
The org.eclipse.rse.ui.propertyPages extension point is defined in the
plugin org.eclipse.rse.ui, and it is patterned after Eclipse's org.eclipse.ui.propertyPages extension point, but both
simplified and extended specifically for remote objects.
What is a property page?
It is a page that shows up in the Eclipse Properties dialog that users
get to by right-clicking on an object within any tree or table view, and selecting
the Properties action.
Extenders supply one or more <page> elements within the beginning and ending <extension> element for this.
The attributes of this <page> element are:
- id. A unique ID for this extension point. Not actually used, but required by Eclipse.
- name. A translated node-name to show in the left tree view in the Eclipse-supplied
Properties dialog that comes up when the user selects "Properties..." from the pop-up menu.
- icon. An optional icon to show in the Properties dialog for this property page.
- class. The fully qualified name of the class that implements the Eclipse interface
org.Eclipse.ui.IWorkbenchPropertyPage. This is usually done by extending the Eclipse class
org.Eclipse.ui.dialog.PropertyPage. Your class will populate the detail page on the right of the
Eclipse-supplied Properties dialog when the node-name is selected in the left hand tree view.
- filtering criteria. To scope which remote objects these property pages should show up for,
there are a series of filtering attributes. These attributes are identical to those in the pop-upMenus
extension point. Providers supply as many as needed to uniquely identify their target objects. Every one of these
values can be scalar or "simple generic", meaning it can start or end with an asterisk for pattern matching:
- subsystemconfigurationid. Restrict to remote objects originating from subsystems created by this subsystem factory.
- typecategoryfilter. Restrict to remote objects originating from subsystems created by a subsystem factory that specified this value for their category attribute
- namefilter. Restrict to remote objects matching this simple generic name
- typefilter. Restrict to remote objects matching this simple type filter. The "type" of any remote object is subsystem-determined.
- subtypefilter. Restrict to remote objects matching this simple sub-type filter. The "subtype" of any remote object is subsystem-determined.
- subsubtypefilter. Restrict to remote objects matching this simple sub-sub-type filter. The "sub-subtype" of any remote object is subsystem-determined.
Programming Details
To use this extension point your class will typically extend one of the supplied base classes to
make it easier to create these property pages for remote objects. The only method you must implement in these
classes is createContents(Composite), which populates the details page on the right side when the node is
selected on the left side. The supplied classes are listed here:
See the property page tutorial for a step-by-step example.