Configuration Ext Explained

From Eclipsepedia

Revision as of 05:12, 11 December 2007 by (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

That is doable with the configurablePackage extension. Look at the classes within the org.eclipse.stp.soas.deploy.core.ui.configuration package. The documentation is sparse, to say the least, so here's a quick explanation. These are used to contribute property pages for editing a package's configuration.

The mechanism used is very similar to the basic property page and preference page dialog within Eclipse, with the exception that you need to provide the "nodes" for the pages.

A "node" is represented in the tree on the left-hand side of the dialog and is associated with a "page" displayed on the right. You should use ConfigurationNode as the base class for your nodes. You should use ConfigurationPage as the base class for your page implementations. The main difference are the and needsSave() methods. These can be used for udpating the state of the configuration. The impetus for thes methods, as opposed to using the default behavior in the PreferenceDialog, was to prevent save() from being called on nodes whose state may have already been saved by a parent or child node.

For the most part, you should be able to simply use performOk() on your page for updating the configuration. Here's a little example of an implementation for IConfigurationPageFactory.contribute():

       pm.addToRoot(new MyConfigurationNode());
       pm.addTo("myConfigurationNodeId", MyConfigurationChildNode());