Property Pages

Identifier

com.ibm.etools.systems.core.propertyPages

Description

This extension point is modelled after the eclipse workbench extension point org.eclipse.ui.propertyPages. However, because we know we are targeting remote resources, it is simplified a bit. Specifically, there is no need to specify the object class, as we assume these actions apply to remote resources, which often share a common object class. On the other hand, we need additional filtering capabilities to scope which remote resources these pages are to apply to.

To this end, there is a rich set of filtering attributes to enable fine-grained scoping by a number of criteria. These scoping attributes are the same as those for our com.ibm.etools.systems.core.popupMenus extension point.

While not fully documented here, this extension point supports the <filter> element from the org.eclipse.ui.popupMenus extension point. See its documentation in the help for information on this element. For example:

   <filter name="subsystemFactoryCategory" value="files"/>   
This element is for conditionally deciding whether to show the property page, very much like the attributes of the <page> element do; in fact there is some overlap.
The names supported for the <filter> element are:

Markup

   <!ELEMENT extension (page+)>
   <!ATTLIST extension
     point CDATA #REQUIRED
     id    CDATA #IMPLIED
     name  CDATA #IMPLIED
   >

   <!ELEMENT page EMPTY>
   <!ATTLIST page
     id                       CDATA #REQUIRED
     name                     CDATA #REQUIRED
     class                    CDATA #REQUIRED
     icon                     CDATA #IMPLIED
     subsystemfactoryid       CDATA #IMPLIED
     subsystemfactoryCategory CDATA #IMPLIED
     systemtypes              CDATA #IMPLIED
     namefilter               CDATA #IMPLIED
     typecategoryfilter       CDATA #IMPLIED
     typefilter               CDATA #IMPLIED
     subtypefilter            CDATA #IMPLIED
     subsubtypefilter         CDATA #IMPLIED
   >

Example

The following is a simple example of a property page for files or folders in any remote system type:

Example One

<extension point="com.ibm.etools.systems.core.propertyPages">
      <page 
            class="com.acme.myPropertyPage1"
            id="com.acme.mypropertypage1"
            name="Remote Folder and File Info"
            typecategoryfilter="files">
      </page>
</extension>

The following refines the first example so it only applies to files, versus folders, and only for local files:

Example Two

<extension point="com.ibm.etools.systems.core.propertyPages">
      <page 
            class="com.acme.myPropertyPage2"
            id="com.acme.mypropertypage2"
            name="Remote File Info"
            typecategoryfilter="files"
            typefilter="file"
            subsystemfactoryid="ibm.filesLocal">
      </page>
</extension>

The following refines the second example so it only applies to local Java files:

Example Three

<extension point="com.ibm.etools.systems.core.propertyPages">
      <page 
            class="com.acme.myPropertyPage3"
            id="com.acme.mypropertypage3"
            name="Remote Java File Info"
            typecategoryfilter="files"
            typefilter="file"
            subsystemfactoryid="ibm.filesLocal"
            namefilter="*.java">
      </page>
</extension>

Remember, you can repeat the page elements as needed, to define multiple property pages within the same extension configuration.

API Information

Your actions must all implement the interface org.eclipse.ui.IWorkbenchPropertyPage. Typically, you will subclass one of the supplied base classes for this extension point:

Supplied Implementation

There is no supplied implementation for this extension point.

(C) Copyright IBM Corp. 2002 All Rights Reserved.