blob: e1f08765ceea90e6e06d7dfce3a0580fdd801eb0 [file] [log] [blame]
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.pde.ui" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
<appInfo>
<meta.schema plugin="org.eclipse.pde.ui" id="newExtension" name="Extension Wizards"/>
</appInfo>
<documentation>
This extension point should be used to contribute wizards that will be used to create and edit new extensions in PDE plug-in manifest editor. Wizards can create one or more extensions at the same time, as well as the code needed to implement those extensions. If a contributed wizard is specifically created for a particular extension point, it is advisable to also register a matching editor wizard. This wizard will be used to edit the extension point in the manifest editor after it has been created in the manifest file.
</documentation>
</annotation>
<element name="extension">
<annotation>
<appInfo>
<meta.element />
</appInfo>
</annotation>
<complexType>
<choice minOccurs="0" maxOccurs="unbounded">
<element ref="wizard"/>
<element ref="category"/>
<element ref="editorWizard"/>
</choice>
<attribute name="point" type="string" use="required">
<annotation>
<documentation>
a fully qualified identifier of the target extension point
</documentation>
</annotation>
</attribute>
<attribute name="id" type="string">
<annotation>
<documentation>
an optional identifier of the extension instance
</documentation>
</annotation>
</attribute>
<attribute name="name" type="string">
<annotation>
<documentation>
an optional name of the extension instance
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="wizard">
<annotation>
<appInfo>
<meta.element labelAttribute="name" icon="icon"/>
</appInfo>
<documentation>
a wizard that can be used to create a new extension from within the plug-in manifest editor
</documentation>
</annotation>
<complexType>
<sequence>
<element ref="description" minOccurs="0" maxOccurs="1"/>
</sequence>
<attribute name="id" type="string" use="required">
<annotation>
<documentation>
a unique name that will be used to identify this wizard.
</documentation>
<appInfo>
<meta.attribute kind="identifier"/>
</appInfo>
</annotation>
</attribute>
<attribute name="name" type="string" use="required">
<annotation>
<documentation>
a translatable name that will be used in UI representation of this wizard.
</documentation>
<appInfo>
<meta.attribute translatable="true"/>
</appInfo>
</annotation>
</attribute>
<attribute name="icon" type="string">
<annotation>
<documentation>
a relative path of an icon that will be used to visually
represent the wizard.
</documentation>
<appInfo>
<meta.attribute kind="resource"/>
</appInfo>
</annotation>
</attribute>
<attribute name="class" type="string">
<annotation>
<documentation>
a fully qualified name of a class which implements
&lt;samp&gt;org.eclipse.pde.ui.IExtensionWizard&lt;/samp&gt;
interface. This attribute is mutually exclusive with the &lt;code&gt;template&lt;/code&gt; attribute.
</documentation>
<appInfo>
<meta.attribute kind="java" basedOn="org.eclipse.pde.ui.IExtensionWizard"/>
</appInfo>
</annotation>
</attribute>
<attribute name="availableAsShortcut" type="boolean">
<annotation>
<documentation>
If &lt;samp&gt;true&lt;/samp&gt;, this wizard will appear in the
short cut menu on the menu bar and the tool bar.
</documentation>
</annotation>
</attribute>
<attribute name="category" type="string">
<annotation>
<documentation>
an optional id that makes this wizard a member of the
previously defined category. If category is hierarchical,
full path to the parent category should be specified
using &apos;/&apos; as a delimiter.
</documentation>
<appInfo>
<meta.attribute kind="identifier" basedOn="org.eclipse.pde.ui.newExtension/category/@id"/>
</appInfo>
</annotation>
</attribute>
<attribute name="template" type="string">
<annotation>
<documentation>
an identifier of a template declared elsewhere using the extension point &lt;code&gt;org.eclipse.pde.ui.templates&lt;/code&gt;. If defined, the template with the specified id will be located and the extension wizard will be created using the template. This attribute is mutually exclusive with the &lt;code&gt;class&lt;/code&gt; attribute.
</documentation>
<appInfo>
<meta.attribute kind="identifier" basedOn="org.eclipse.pde.ui.templates/template/@id"/>
</appInfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="editorWizard">
<annotation>
<appInfo>
<meta.element labelAttribute="name" icon="icon"/>
</appInfo>
<documentation>
a wizard that can be used to edit an existing extension from within the plug-in manifest editor
</documentation>
</annotation>
<complexType>
<sequence>
<element ref="description" minOccurs="0" maxOccurs="1"/>
</sequence>
<attribute name="id" type="string" use="required">
<annotation>
<documentation>
a unique name that will be used to identify this wizard.
</documentation>
<appInfo>
<meta.attribute kind="identifier"/>
</appInfo>
</annotation>
</attribute>
<attribute name="name" type="string" use="required">
<annotation>
<documentation>
a translatable name that will be used in UI representation
of this wizard.
</documentation>
<appInfo>
<meta.attribute translatable="true"/>
</appInfo>
</annotation>
</attribute>
<attribute name="icon" type="string">
<annotation>
<documentation>
a relative path of an icon that will be used to visually
represent the wizard.
</documentation>
<appInfo>
<meta.attribute kind="resource"/>
</appInfo>
</annotation>
</attribute>
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
a fully qualified name of a class which implements
&lt;samp&gt;org.eclipse.pde.ui.IExtensionEditorWizard&lt;/samp&gt;
interface.
</documentation>
<appInfo>
<meta.attribute kind="java" basedOn="org.eclipse.pde.ui.IExtensionEditorWizard"/>
</appInfo>
</annotation>
</attribute>
<attribute name="point" type="string" use="required">
<annotation>
<documentation>
a fully qualified identifier of the extension point that this wizard is capable of editing
</documentation>
<appInfo>
<meta.attribute kind="identifier"/>
</appInfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="category">
<annotation>
<appInfo>
<meta.element labelAttribute="name"/>
</appInfo>
</annotation>
<complexType>
<attribute name="id" type="string" use="required">
<annotation>
<documentation>
a unique name that will be used to reference this category
</documentation>
<appInfo>
<meta.attribute kind="identifier"/>
</appInfo>
</annotation>
</attribute>
<attribute name="name" type="string" use="required">
<annotation>
<documentation>
a translatable name that will be used for UI presentation
of this category
</documentation>
<appInfo>
<meta.attribute translatable="true"/>
</appInfo>
</annotation>
</attribute>
<attribute name="parentCategory" type="string">
<annotation>
<documentation>
an optional attribute that can be used to create category hierarchy
</documentation>
<appInfo>
<meta.attribute kind="identifier" basedOn="org.eclipse.pde.ui.newExtension/category/@id"/>
</appInfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="description" type="string">
<annotation>
<appInfo>
<meta.element translatable="true"/>
</appInfo>
<documentation>
A short description of this wizard.
</documentation>
</annotation>
</element>
<annotation>
<appInfo>
<meta.section type="implementation"/>
</appInfo>
<documentation>
PDE provides a generic wizard that creates extension
points based on the extension point schema information. In addition, all templates registered using &lt;code&gt;org.eclipse.pde.ui.templates&lt;/code&gt; extension point in PDE UI are also hooked as individual extension wizards.
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="copyright"/>
</appInfo>
<documentation>
Copyright (c) 2004, 2014 IBM Corporation and others.
&lt;br&gt;
This program and the accompanying materials are made
available under the terms of the Eclipse Public License 2.0 which
accompanies this distribution, and is available at
&lt;a href=&quot;https://www.eclipse.org/legal/epl-2.0&quot;&gt;https://www.eclipse.org/legal/epl-v20.html&lt;/a&gt;/
SPDX-License-Identifier: EPL-2.0.
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="apiInfo"/>
</appInfo>
<documentation>
This extension point requires that a class that
implements
&lt;samp&gt;org.eclipse.pde.ui.IExtensionWizard&lt;/samp&gt;
interface.
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="examples"/>
</appInfo>
<documentation>
The following is an example of the extension:
&lt;p&gt;
&lt;pre&gt;
&lt;extension
point=&quot;org.eclipse.pde.ui.newExtension&quot;&gt;
&lt;category
name=&quot;Custom Extensions&quot;
id=&quot;custom&quot;&gt;
&lt;/category&gt;
&lt;wizard
availableAsShortcut=&quot;true&quot;
name=&quot;Simple Java Editor Extension&quot;
icon=&quot;icons/java_edit.png&quot;
category=&quot;generic&quot;
class=&quot;com.example.xyz.SimpleJavaEditorExtension&quot;
id=&quot;com.example.xyz.simple&quot;&gt;
&lt;description&gt;
This wizard creates a simple Java editor with
all the required classes and manifest markup.
&lt;/description&gt;
&lt;/wizard&gt;
&lt;/extension&gt;
&lt;/pre&gt;
&lt;/p&gt;
</documentation>
</annotation>
</schema>