| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
| <html> |
| |
| <head> |
| <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"> |
| <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"> |
| <meta name="copyright" content="Copyright (c) IBM Corporation and others 2002, 2007. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." > |
| <LINK REL="STYLESHEET" HREF="../../book.css" TYPE="text/css"> |
| <title>Plugging In Property Pages</title> |
| </head> |
| |
| <body bgcolor="#ffffff"> |
| <h1>Plugging In Property Pages</h1> |
| <p>The <samp><a href="../../../org.eclipse.platform.doc.isv/reference/extension-points/org_eclipse_ui_propertyPages.html">org.eclipse.ui.propertyPages</a></samp> extension point |
| from the base Eclipse Platform is used to contribute property pages.<BR/> |
| What is a property page? |
| It is a page that shows up in the Eclipse <A href="propertypage_figure2.gif">Properties dialog</A> that users |
| get to by right-clicking on an object within any tree or table view, and selecting |
| the <A href="propertypage_figure1.gif">Properties action</A>.</p> |
| <p>Extenders supply one or more <samp><page></samp> elements within the beginning and ending <samp><extension></samp> element for this. |
| The attributes of this <samp><page></samp> element are:</p> |
| <ul> |
| <li><b>id</b>. A unique ID for this extension point. Not actually used, but required by Eclipse.</li> |
| <li><b>name</b>. 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.</li> |
| <li><b>icon</b>. An optional icon to show in the Properties dialog for this property page.</li> |
| <li><b>class</b>. The fully qualified name of the class that implements the Eclipse interface |
| <samp>org.Eclipse.ui.IWorkbenchPropertyPage</samp>. This is usually done by extending the Eclipse class |
| <samp>org.Eclipse.ui.dialog.PropertyPage</samp>. 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.</li> |
| <li><b><i>objectClass</i></b>. Specify the class or interface of the model objects for which |
| this property page should be registered. Available interfaces are are identical to those in the |
| <samp><A href="popup.html#objectClass">popupMenus</A></samp> extension point.</li> |
| <li><b><i>filtering criteria</i></b>. To scope which objects these property pages should show up for, |
| there are a series of filtering attributes. These attributes are identical to those in the <samp><A href="popup.html#filtering">popupMenus</A></samp> |
| extension point. |
| <!-- |
| Supported through the |
| <samp><a href="../../reference/api/org/eclipse/rse/core/SystemRemoteObjectMatcher.html">SystemRemoteObjectMatcher</a></samp> |
| class, 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: |
| <ul> |
| <li><b>subsystemconfigurationid</b>. Restrict to remote objects originating from subsystems created by this subsystem factory. |
| <li><b>typecategoryfilter</b>. Restrict to remote objects originating from subsystems created by a subsystem factory that specified this value for their category attribute |
| <li><b>namefilter</b>. Restrict to remote objects matching this simple generic name |
| <li><b>typefilter</b>. Restrict to remote objects matching this simple type filter. The "type" of any remote object is subsystem-determined. |
| <li><b>subtypefilter</b>. Restrict to remote objects matching this simple sub-type filter. The "subtype" of any remote object is subsystem-determined. |
| <li><b>subsubtypefilter</b>. Restrict to remote objects matching this simple sub-sub-type filter. The "sub-subtype" of any remote object is subsystem-determined. |
| </ul> |
| --> |
| </ul> |
| |
| <h2>Programming Details</h2> |
| <p>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 <samp>createContents(Composite)</samp>, which populates the details page on the right side when the node is |
| selected on the left side. The supplied classes are listed here: |
| </p> |
| |
| <TABLE border="1"> |
| <TBODY> |
| <TR> |
| <TH>Base Class</TH> |
| <TH>Description</TH> |
| </TR> |
| <TR> |
| <TD><samp><A href="../../reference/api/org/eclipse/rse/ui/propertypages/SystemAbstractPropertyPageExtensionAction.html">SystemAbstractPropertyPageExtensionAction</A></samp> |
| in <samp>org.eclipse.rse.ui</samp> plugin.</TD> |
| <TD>Base class offering generic support for any remote object property page.</TD> |
| </TR> |
| <TR> |
| <TD><samp><A href="../../reference/api/org/eclipse/rse/files/ui/propertypages/SystemAbstractRemoteFilePropertyPageExtensionAction.html">SystemAbstractRemoteFilePropertyPageExtensionAction</A></samp> |
| in <samp>org.eclipse.rse.files.ui</samp> plugin.</TD> |
| <TD>Specialized base class offering specific support for any remote file object property page.</TD> |
| </TR> |
| </TBODY> |
| </TABLE> |
| <p> |
| </p> |
| |
| <br><hr> |
| <p>See the <a href="../tutorial/propertypage.html">property page tutorial</a> for a step-by-step example.</p> |
| <p>See the <a href="../../../org.eclipse.platform.doc.isv/guide/preferences_prop_contribute.htm">Eclipse Platform Programmer's Guide</a> |
| for more background information.</p> |
| </body> |
| </html> |