mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-19 15:05:36 +02:00
465 lines
19 KiB
Text
465 lines
19 KiB
Text
![]() |
<?xml version='1.0' encoding='UTF-8'?>
|
||
|
<!-- Schema file written by PDE -->
|
||
|
<schema targetNamespace="org.eclipse.rse.ui">
|
||
|
<annotation>
|
||
|
<appInfo>
|
||
|
<meta.schema plugin="org.eclipse.rse.ui" id="propertyPages" name="Property Pages"/>
|
||
|
</appInfo>
|
||
|
<documentation>
|
||
|
<p>
|
||
|
This extension point is modelled after the eclipse workbench
|
||
|
extension point <samp>org.eclipse.ui.propertyPages</samp>.
|
||
|
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.
|
||
|
</p>
|
||
|
|
||
|
<p>
|
||
|
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 <samp>org.eclipse.rse.ui.popupMenus</samp>
|
||
|
extension point.
|
||
|
|
||
|
<p>
|
||
|
While not fully documented here, this extension point supports
|
||
|
the
|
||
|
<samp>&lt;filter&gt;</samp>
|
||
|
element from the <samp>org.eclipse.ui.popupMenus</samp>
|
||
|
extension point. See its
|
||
|
documentation in the help for information on this element.
|
||
|
For example:
|
||
|
<samp><pre>
|
||
|
<filter name="subsystemFactoryCategory" value="files"/>
|
||
|
</pre></samp>
|
||
|
This element is for conditionally deciding whether to show
|
||
|
the property page, very much like the attributes of the &lt;page&gt; element
|
||
|
do; in fact there is some overlap. <br>
|
||
|
The <samp>name</samp>s
|
||
|
supported for the <samp>&lt;filter&gt;</samp>
|
||
|
element are:</p>
|
||
|
<ul>
|
||
|
<li><b><samp>"name"</samp></b>. Will test the <i>value</i> for
|
||
|
an exact match on an object's name,
|
||
|
or beginning-of-name match if ends with an asterisk.
|
||
|
<li><b><samp>"type"</samp></b>. Will test the <i>value</i> for
|
||
|
an exact match on an object's type.
|
||
|
<li><b><samp>"offline"</samp></b>.Will test the <i>value</i>
|
||
|
against "true" if the user is working
|
||
|
in "offline" mode or "false" if not. Currently only supported
|
||
|
for iSeries connections.
|
||
|
<li><b><samp>"connected"</samp></b>. Will test the <i>value</i>
|
||
|
against "true" if the connection
|
||
|
containing the selected object is active or "false" if not.
|
||
|
<li><b><samp>"hasChildren"</samp></b>. Will test the <i>value</i>
|
||
|
against "true" if this object's
|
||
|
adapter reports that it has children or "false" if it doesn't
|
||
|
have children.
|
||
|
<li><b><samp>"systemType"</samp></b>. Will test the <i>value</i>
|
||
|
for an exact match on the system type of
|
||
|
this object's parent SystemConnection object.
|
||
|
You can specify multiple values if you comma-separate them.
|
||
|
<li><b><samp>"subsystemFactoryId"</samp></b>. Will test the <i>value</i>
|
||
|
for an exact match on the
|
||
|
<samp>ID</samp> of the subsystem factory that created this object's
|
||
|
subsystem. Returns false for SystemConnection objects.
|
||
|
You can specify multiple values if you comma-separate them.
|
||
|
<li><b><samp>"subsystemFactoryCategory"</samp></b>. Will test
|
||
|
the <i>value</i> for an exact match
|
||
|
on the <samp>category</samp> of the subsystem factory that created
|
||
|
this object's subsystem.
|
||
|
You can specify multiple values if you comma-separate them.
|
||
|
</ul>
|
||
|
</documentation>
|
||
|
</annotation>
|
||
|
|
||
|
<element name="extension">
|
||
|
<complexType>
|
||
|
<sequence>
|
||
|
<element ref="page" minOccurs="1" maxOccurs="unbounded"/>
|
||
|
</sequence>
|
||
|
<attribute name="point" type="string" use="required">
|
||
|
<annotation>
|
||
|
<documentation>
|
||
|
|
||
|
</documentation>
|
||
|
</annotation>
|
||
|
</attribute>
|
||
|
<attribute name="id" type="string">
|
||
|
<annotation>
|
||
|
<documentation>
|
||
|
|
||
|
</documentation>
|
||
|
</annotation>
|
||
|
</attribute>
|
||
|
<attribute name="name" type="string">
|
||
|
<annotation>
|
||
|
<documentation>
|
||
|
|
||
|
</documentation>
|
||
|
</annotation>
|
||
|
</attribute>
|
||
|
</complexType>
|
||
|
</element>
|
||
|
|
||
|
<element name="page">
|
||
|
<annotation>
|
||
|
<documentation>
|
||
|
Identifies an individual property page contribution.
|
||
|
</documentation>
|
||
|
</annotation>
|
||
|
<complexType>
|
||
|
<attribute name="id" type="string" use="required">
|
||
|
<annotation>
|
||
|
<documentation>
|
||
|
a unique ID that will be used to identify this page.
|
||
|
</documentation>
|
||
|
</annotation>
|
||
|
</attribute>
|
||
|
<attribute name="name" type="string" use="required">
|
||
|
<annotation>
|
||
|
<documentation>
|
||
|
a translatable name that will be used in the UI for this page.
|
||
|
</documentation>
|
||
|
</annotation>
|
||
|
</attribute>
|
||
|
<attribute name="class" type="string" use="required">
|
||
|
<annotation>
|
||
|
<documentation>
|
||
|
a fully qualified name of the class that implements <code>org.eclipse.ui.IWorkbenchPropertyPage</code>.
|
||
|
Or better yet, extends one of the IBM-supplied base classes, described in the API Information section.
|
||
|
</documentation>
|
||
|
<appInfo>
|
||
|
<meta.attribute kind="java" basedOn="org.eclipse.ui.IWorkbenchPropertyPage"/>
|
||
|
</appInfo>
|
||
|
</annotation>
|
||
|
</attribute>
|
||
|
<attribute name="icon" type="string">
|
||
|
<annotation>
|
||
|
<documentation>
|
||
|
A relative path to an icon that will be used in the UI in addition to the page name. Optional.
|
||
|
</documentation>
|
||
|
</annotation>
|
||
|
</attribute>
|
||
|
<attribute name="subsystemfactoryid" type="string">
|
||
|
<annotation>
|
||
|
<documentation>
|
||
|
One of the optional filters to scope the remote resources for
|
||
|
which the property page is to appear.
|
||
|
Specify as many of these optional filters like this as needed to explicitly scope this property page element.
|
||
|
<p>
|
||
|
This filter specifies a subsystem factory id, such that this
|
||
|
property page will only appear for remote resources returned from subsystems of the given subsystem factory.
|
||
|
This ID can be scalar, or it can be generic to match on multiple subsystem factory IDs. The
|
||
|
IDs of the IBM-supplied subsystem factories that display remote resources in the Remote
|
||
|
Systems view are:
|
||
|
</p>
|
||
|
<ul>
|
||
|
<li><b>ibm.filesLocal</b>. For local file system resources, under
|
||
|
the "Files" subsystem.
|
||
|
<li><b>ibm.filesWindows</b>. For remote Windows file system resources,
|
||
|
under the "Files" subsystem.
|
||
|
<li><b>ibm.files</b>. For remote Unix and Linux file system resources,
|
||
|
under the "Files" subsystem.
|
||
|
<li><b>ibm.filesIFS</b>. For remote iSeries unix file system resources,
|
||
|
under the "IFS Files" subsystem.
|
||
|
<li><b>ibm.files400</b>. For remote iSeries native QSYS file system
|
||
|
resources, under the "iSeries Objects" subsystem.
|
||
|
<li><b>ibm.jobs400</b>. For remote iSeries jobs, under the "iSeries Jobs" subsystem.
|
||
|
<li><b>ibm.cmds400</b>. For remote iSeries jobs, under the "iSeries Jobs" subsystem.
|
||
|
</ul>
|
||
|
<br>
|
||
|
</documentation>
|
||
|
</annotation>
|
||
|
</attribute>
|
||
|
<attribute name="subsystemfactoryCategory" type="string">
|
||
|
<annotation>
|
||
|
<documentation>
|
||
|
One of the optional filters to scope the remote resources for
|
||
|
which the property page is to appear.
|
||
|
Specify as many of these optional filters like this as needed to explicitly scope
|
||
|
this property page element.
|
||
|
|
||
|
<p>
|
||
|
This filter specifies a subsystem factory category, such that
|
||
|
this
|
||
|
property page will only appear for remote resources returned from subsystems
|
||
|
owned by factories
|
||
|
declared defined with the specified category.
|
||
|
|
||
|
<p>
|
||
|
This category can be scalar, or it can be generic to match on
|
||
|
multiple subsystem factory categories. The
|
||
|
categories of the IBM-supplied subsystem factories that display
|
||
|
remote resources in the Remote
|
||
|
Systems view are:
|
||
|
</p>
|
||
|
<ul>
|
||
|
<li><b>files</b>. For subsystems that list hierarchical file
|
||
|
system resources, such as folders and files.
|
||
|
<li><b>nativefiles</b>. For subsystems that list non-hierarchical file
|
||
|
system resources, such as in the iSeries QSYS file system.
|
||
|
<li><b>commands</b>. For subsystems that list remote commands.
|
||
|
<li><b>jobs</b>. For subsystems that list remote jobs.
|
||
|
</ul>
|
||
|
<br>
|
||
|
</documentation>
|
||
|
</annotation>
|
||
|
</attribute>
|
||
|
<attribute name="systemtypes" type="string">
|
||
|
<annotation>
|
||
|
<documentation>
|
||
|
One of the optional filters to scope the remote resources for
|
||
|
which the popup menu actions are to appear.
|
||
|
Specify as many of these optional filters like this as needed to explicitly scope
|
||
|
all the actions defined in this objectContribution element.
|
||
|
<br>
|
||
|
This filter specifies a single system type, or semicolon-separated list of system types,
|
||
|
or asterisk for all system types (the default).
|
||
|
Will scope these actions to only remote objects from systems of this type or types.
|
||
|
<br><br>
|
||
|
</documentation>
|
||
|
</annotation>
|
||
|
</attribute>
|
||
|
<attribute name="namefilter" type="string">
|
||
|
<annotation>
|
||
|
<documentation>
|
||
|
One of the optional filters to scope the remote resources for
|
||
|
which the property page is to appear.
|
||
|
Specify as many of these optional filters like this as needed to explicitly scope this property page element.
|
||
|
<p>
|
||
|
This filter specifies a simple or generic resource name.
|
||
|
Only resources whose name matches this filter will show the property page
|
||
|
defined within this page element.
|
||
|
</p>
|
||
|
</documentation>
|
||
|
</annotation>
|
||
|
</attribute>
|
||
|
<attribute name="typecategoryfilter" type="string">
|
||
|
<annotation>
|
||
|
<documentation>
|
||
|
One of the optional filters to scope the remote resources for
|
||
|
which the property page is to appear.
|
||
|
Specify as many of these optional filters like this as needed to explicitly scope this property page element.
|
||
|
<p>
|
||
|
This filter specifies a type category. Normally the subsystemfactoryid
|
||
|
is sufficient, but some subsystems display multiple types of
|
||
|
resources, and these are categorized by a type name that can
|
||
|
be used to scope property pages. Here are the type categories supported by IBM-
|
||
|
supplied subsystems:
|
||
|
</p>
|
||
|
<ul>
|
||
|
<li><b>files</b>. For hierarchical file systems resources.
|
||
|
<li><b>commands</b>. For remote commands.
|
||
|
<li><b>jobs</b>. For remote jobs.
|
||
|
</ul>
|
||
|
<br>
|
||
|
The IBM-supplied subsystem for iSeries native file system objects also supports
|
||
|
these type categories:
|
||
|
<ul>
|
||
|
<li><b>LIBRARIES</b>. Set for libraries.
|
||
|
<li><b>OBJECTS</b>. Set for objects, excluding files.
|
||
|
<li><b>OBJECTFILES</b>. Set for file objects. Use <samp>OBJECTS*</samp>
|
||
|
to match on all objects.
|
||
|
<li><b>MEMBERS</b>. Set for data and source file members.
|
||
|
<li><b>RECORDS</b>. Set for record formats within files.
|
||
|
<li><b>FIELDS</b>. Set for fields within record formats.
|
||
|
<li><b>MESSAGE_DESCRIPTIONS</b>. Set for messages within message
|
||
|
files.
|
||
|
</ul>
|
||
|
<br>
|
||
|
</documentation>
|
||
|
</annotation>
|
||
|
</attribute>
|
||
|
<attribute name="typefilter" type="string">
|
||
|
<annotation>
|
||
|
<documentation>
|
||
|
One of the optional filters to scope the remote resources for
|
||
|
which the property page is to appear.
|
||
|
Specify as many of these optional filters like this as needed to explicitly scope
|
||
|
this property page element.
|
||
|
|
||
|
<p>
|
||
|
This filter specifies a resource type, either simple or generic.
|
||
|
The resource types depends on the subsystem. The types
|
||
|
for IBM-supplied subsystems which support them are:
|
||
|
</p>
|
||
|
<ul>
|
||
|
<li><b>filesXXX</b>. Either <i>folder</i> or <i>file</i>.
|
||
|
<li><b>files400</b>. This is the object's type (for objects),
|
||
|
such as <i>*PGM</i>, or member's type (for members),
|
||
|
such as <i>RPGLE</i>. Since * is a valid character in an iSeries
|
||
|
object type, use %ast. instead of * to prevent wildcard matching.
|
||
|
For example, to prevent matching on both *PGM and *SRVPGM, use %ast.PGM
|
||
|
for the type.
|
||
|
</ul>
|
||
|
<br>
|
||
|
</documentation>
|
||
|
</annotation>
|
||
|
</attribute>
|
||
|
<attribute name="subtypefilter" type="string">
|
||
|
<annotation>
|
||
|
<documentation>
|
||
|
One of the optional filters to scope the remote resources for
|
||
|
which the property page is to appear.
|
||
|
Specify as many of these optional filters like this as needed to explicitly scope
|
||
|
this property page element.
|
||
|
|
||
|
<p>
|
||
|
This filter specifies a simple or generic resource subtype to
|
||
|
match. Not all subsystems support subtypes for their resources.
|
||
|
The IBM-supplied subsystems that do support this are:
|
||
|
</p>
|
||
|
<ul>
|
||
|
<li>FilesXXX. This can be either <i>subfolder</i> for nested
|
||
|
folders only, or
|
||
|
<i>root</i> for the root folder or Windows' drives.
|
||
|
<li>Files400. For iSeries objects within a library, this is the
|
||
|
object's attribute. For members, this is either <i>DTA</i> or <i>SRC</i>.
|
||
|
For fields, this is the field's datatype (a single character).
|
||
|
</ul>
|
||
|
<br>
|
||
|
</documentation>
|
||
|
</annotation>
|
||
|
</attribute>
|
||
|
<attribute name="subsubtypefilter" type="string">
|
||
|
<annotation>
|
||
|
<documentation>
|
||
|
One of the optional filters to scope the remote resources for
|
||
|
which the property page is to appear.
|
||
|
Specify as many of these optional filters like this as needed to explicitly scope
|
||
|
this property page element.
|
||
|
|
||
|
<p>
|
||
|
This filter specifies a simple or generic resource sub-subtype
|
||
|
to match. No IBM-supplied subsystems support sub-subtypes for
|
||
|
their resources today.
|
||
|
</p>
|
||
|
</documentation>
|
||
|
</annotation>
|
||
|
</attribute>
|
||
|
</complexType>
|
||
|
</element>
|
||
|
|
||
|
<annotation>
|
||
|
<appInfo>
|
||
|
<meta.section type="examples"/>
|
||
|
</appInfo>
|
||
|
<documentation>
|
||
|
The following is a simple example of a property page for
|
||
|
files or folders in any remote system type:
|
||
|
<h3>Example One</h3>
|
||
|
<p>
|
||
|
<pre>
|
||
|
<extension point="org.eclipse.rse.ui.propertyPages">
|
||
|
<page
|
||
|
class="com.acme.myPropertyPage1"
|
||
|
id="com.acme.mypropertypage1"
|
||
|
name="Remote Folder and File Info"
|
||
|
typecategoryfilter="files">
|
||
|
</page>
|
||
|
</extension>
|
||
|
</pre>
|
||
|
</p>
|
||
|
|
||
|
The following refines the first example so it only applies
|
||
|
to files, versus folders, and only for local files:
|
||
|
<h3>Example Two</h3>
|
||
|
<p>
|
||
|
<pre>
|
||
|
<extension point="org.eclipse.rse.ui.propertyPages">
|
||
|
<page
|
||
|
class="com.acme.myPropertyPage2"
|
||
|
id="com.acme.mypropertypage2"
|
||
|
name="Remote File Info"
|
||
|
typecategoryfilter="files"
|
||
|
typefilter="file"
|
||
|
subsystemfactoryid="ibm.filesLocal">
|
||
|
</page>
|
||
|
</extension>
|
||
|
</pre>
|
||
|
</p>
|
||
|
|
||
|
The following refines the second example so it only applies
|
||
|
to local Java files:
|
||
|
<h3>Example Three</h3>
|
||
|
<p>
|
||
|
<pre>
|
||
|
<extension point="org.eclipse.rse.ui.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>
|
||
|
</pre>
|
||
|
</p>
|
||
|
|
||
|
|
||
|
<p>
|
||
|
Remember, you can repeat the <samp>page</samp> elements as needed, to define
|
||
|
multiple property pages within the same extension configuration.
|
||
|
</p>
|
||
|
</documentation>
|
||
|
</annotation>
|
||
|
|
||
|
<annotation>
|
||
|
<appInfo>
|
||
|
<meta.section type="apiInfo"/>
|
||
|
</appInfo>
|
||
|
<documentation>
|
||
|
Your actions must all implement the interface <samp>org.eclipse.ui.IWorkbenchPropertyPage</samp>.
|
||
|
Typically, you will subclass one of the supplied base classes
|
||
|
for this extension point:
|
||
|
<ul>
|
||
|
<li><b>org.eclipse.rse.ui.ui.propertypages.SystemAbstractPropertyPageExtensionAction</b>,
|
||
|
in plugin org.eclipse.rse.ui.
|
||
|
Base class offering generic support for any remote resource property page, for any system type.
|
||
|
<li><b>org.eclipse.rse.ui.ui.propertypages.SystemAbstractRemoteFilePropertyPageExtensionAction</b>,
|
||
|
in plugin org.eclipse.rse.ui.
|
||
|
Specialized base class offering specific support for any remote file or folder property page, for any system type.
|
||
|
<li><b>com.ibm.etools.iseries.core.ui.actions.isv.ISeriesAbstractIFSPropertyPageExtensionAction</b>,
|
||
|
in plugin com.ibm.etools.iseries.core.
|
||
|
Specialized base class offering specific support for iSeries IFS file or folder property pages.
|
||
|
<li><b>com.ibm.etools.iseries.core.ui.actions.isv.ISeriesAbstractQSYSPropertyPageExtensionAction</b>,
|
||
|
in plugin com.ibm.etools.iseries.core.
|
||
|
Specialized base class offering specific support for property pages for iSeries objects in the QSYS file system.
|
||
|
</ul>
|
||
|
<br>
|
||
|
</documentation>
|
||
|
</annotation>
|
||
|
|
||
|
<annotation>
|
||
|
<appInfo>
|
||
|
<meta.section type="implementation"/>
|
||
|
</appInfo>
|
||
|
<documentation>
|
||
|
There is no supplied implementation for this extension point.
|
||
|
</documentation>
|
||
|
</annotation>
|
||
|
|
||
|
<annotation>
|
||
|
<appInfo>
|
||
|
<meta.section type="copyright"/>
|
||
|
</appInfo>
|
||
|
<documentation>
|
||
|
Copyright (c) 2002, 2006 IBM Corporation. All Rights Reserved.
|
||
|
This program and the accompanying materials are made available under the terms
|
||
|
of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||
|
available at http://www.eclipse.org/legal/epl-v10.html
|
||
|
|
||
|
Contributors:
|
||
|
IBM Corporation - initial API and implementation
|
||
|
</documentation>
|
||
|
</annotation>
|
||
|
|
||
|
</schema>
|