blob: 221163fa616c6b6a0fc422317e5e97fe659b5b20 [file] [log] [blame]
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.gmf.runtime.common.ui.services">
<annotation>
<appInfo>
<meta.schema plugin="org.eclipse.gmf.runtime.common.ui.services" id="iconProviders" name="Icon Providers Extension Point"/>
</appInfo>
<documentation>
This extension point is used to define icon providers for the icon service
(&lt;tt&gt;org.eclipse.gmf.runtime.common.ui.services.icon.IconService&lt;/tt&gt;).
&lt;p&gt;
The icon service supplies an icon for a given element.
</documentation>
</annotation>
<element name="extension">
<complexType>
<sequence>
<element ref="IconProvider"/>
</sequence>
<attribute name="point" type="string" use="required">
<annotation>
<documentation>
The identifier of the extension point, i.e. &lt;tt&gt;org.eclipse.gmf.runtime.common.ui.services.iconProviders&lt;/tt&gt;.
</documentation>
</annotation>
</attribute>
<attribute name="id" type="string">
<annotation>
<documentation>
The identifier of the extension, e.g. &lt;tt&gt;iconProviders&lt;/tt&gt;.
</documentation>
</annotation>
</attribute>
<attribute name="name" type="string">
<annotation>
<documentation>
The name of the extension, e.g. &lt;tt&gt;%ext.iconProviders&lt;/tt&gt;.
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="IconProvider">
<complexType>
<sequence>
<element ref="Priority"/>
<element ref="Policy" minOccurs="0" maxOccurs="1"/>
<element ref="object" minOccurs="0" maxOccurs="unbounded"/>
<element ref="context" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
The provider class.
</documentation>
<appInfo>
<meta.attribute kind="java" basedOn="org.eclipse.gmf.runtime.common.ui.services.icon.IIconProvider"/>
</appInfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="Priority">
<complexType>
<attribute name="name" use="required">
<annotation>
<documentation>
The name of the provider priority, i.e. Lowest, Low, Medium, High, or Highest.
</documentation>
</annotation>
<simpleType>
<restriction base="string">
<enumeration value="Lowest">
</enumeration>
<enumeration value="Low">
</enumeration>
<enumeration value="Medium">
</enumeration>
<enumeration value="High">
</enumeration>
<enumeration value="Highest">
</enumeration>
</restriction>
</simpleType>
</attribute>
</complexType>
</element>
<element name="Policy">
<complexType>
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
The provider policy class.
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="object">
<annotation>
<documentation>
A descriptor of an object that is examined by this provider. The object descriptor can include an optional set of methods to call on the object.
</documentation>
</annotation>
<complexType>
<sequence>
<element ref="method" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="id" type="string" use="required">
<annotation>
<documentation>
A unique (within the context of this provider definition) identifier for the object
</documentation>
</annotation>
</attribute>
<attribute name="class" type="string">
<annotation>
<documentation>
The fully qualified name of a class/interface that is assignable from or adaptable to the object. The name could be followed (between paranthesis &quot;()&quot;) by the id of a plugin whose classloader is able to load that class. The finaly syntax is:
className(plugin id)
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="method">
<annotation>
<documentation>
A method to call by reflection on the object. The method has a name and a value. The value could be described by its string representation (value &amp; notValue), or as an object &quot;value&quot; or &quot;notValue&quot;.
The rules of evaluation are as follows:
1- The return value string has to be in the &quot;value&quot; string set.
2- The return value string has to be not in the &quot;notValue&quot; string set.
3- The return value object has to be in the &quot;value&quot; object set.
4- The return value object has to be not in the &quot;notValue&quot; object set.
</documentation>
</annotation>
<complexType>
<sequence>
<element ref="value" minOccurs="0" maxOccurs="unbounded"/>
<element ref="notValue" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="name" type="string" use="required">
<annotation>
<documentation>
The name of the method followed by an optional paramter set between paranthesis &quot;()&quot;. The parameter set can contain any number of string parameters (literals). other param types are not supported. The method name could contain nested calling separated by &quot;.&quot; The general format for this method name is : func(param[,param]*)
</documentation>
</annotation>
</attribute>
<attribute name="value" type="string">
<annotation>
<documentation>
A comma-separated (&quot;,&quot;) list of string representations of the method return value. The string representation of the value is expected to be &quot;one&quot; of those in the list. The syntax to use is the following: string[,string]*
If (&quot;,&quot;) is expected to be in one of the strings, it has to be escaped by a forward slash (&quot;\&quot;). &quot;null&quot; is accepted as a string and it means (a null object).
</documentation>
</annotation>
</attribute>
<attribute name="notValue" type="string">
<annotation>
<documentation>
A comma-separated (&quot;,&quot;) list of string representations of the method return value that is not expected (the execulsion set). The string representation of the value is expected &quot;not&quot; to be &quot;one&quot; of those in the list. The syntax to use is the following: string[,string]*
If (&quot;,&quot;) is expected to be in one of the strings, it has to be escaped by a forward slash (&quot;\&quot;). &quot;null&quot; is accepted as a string and it means (a null object).
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="value">
<annotation>
<documentation>
A descriptor of an object that represents a method&apos;s returned value. The descriptor can include an optional set of methods to call on the &quot;value&quot; object.
</documentation>
</annotation>
<complexType>
<sequence>
<element ref="method" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="class" type="string">
<annotation>
<documentation>
The fully qualified name of a class/interface that is assignable from or adaptable to the &quot;value&quot; object. The name could be followed (between paranthesis &quot;()&quot;) by the id of a plugin whose classloader is able to load that class. The finaly syntax is:
className(plugin id)
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="context">
<annotation>
<documentation>
A context supported by the editpart provider.
</documentation>
</annotation>
<complexType>
<attribute name="elements" type="string">
<annotation>
<documentation>
A comma-separated list of element object ids (from the provider XML definition) that are supported by this provider in this context.
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="notValue">
<annotation>
<documentation>
A descriptor of an object that represents a method&apos;s returned value that is not required. The descriptor can include an optional set of methods to call on the &quot;notValue&quot; object.
</documentation>
</annotation>
<complexType>
<sequence>
<element ref="method" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="class" type="string">
<annotation>
<documentation>
The fully qualified name of a class/interface that is assignable from or adaptable to the &quot;value&quot; object. The name could be followed (between paranthesis &quot;()&quot;) by the id of a plugin whose classloader is able to load that class. The finaly syntax is:
className(plugin id)
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appInfo>
<meta.section type="examples"/>
</appInfo>
<documentation>
Following is an example of an icon provider extension:
&lt;p&gt;
&lt;pre&gt;
&lt;extension
id=&quot;iconProviders&quot;
name=&quot;%ext.iconProviders&quot;
point=&quot;org.eclipse.gmf.runtime.common.ui.services.iconProviders&quot;&gt;
&lt;IconProvider
class=&quot;org.eclipse.test.project.providers.icon.MyIconProvider&quot;&gt;
&lt;Priority name=&quot;Lowest&quot;&gt;&lt;/Priority&gt;
&lt;/IconProvider&gt;
&lt;/extension&gt;
&lt;/pre&gt;
&lt;/p&gt;
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="apiInfo"/>
</appInfo>
<documentation>
The value of the class attribute must be the fully qualified name of
a class that implements &lt;tt&gt;org.eclipse.gmf.runtime.common.ui.services.icon.IIconProvider&lt;/tt&gt;.
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="implementation"/>
</appInfo>
<documentation>
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="copyright"/>
</appInfo>
<documentation>
Copyright (c) 2003 IBM Corporation and others.&lt;br&gt;
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
&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
</documentation>
</annotation>
</schema>