1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251
|
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.cdt.managedbuilder.ui">
<annotation>
<appInfo>
<meta.schema plugin="org.eclipse.cdt.managedbuilder.ui" id="newWizardPages" name="Custom Wizard Pages for MBS New Project Wizards"/>
</appInfo>
<documentation>
This extension point allows for the specification of pages to the New Managed C/C++ wizards. Via this extension point, the developer may specify one or more wizard pages to add to the wizard, and optionally only add these pages if certain conditions on the project type, project toolchain, and project nature are met. The developer may also specify a Java class which performs any operations pursuant to the state of the wizard when the user clicks Finish.
</documentation>
</annotation>
<element name="extension">
<annotation>
<documentation>
Extensions to this extension point must contain at least one wizardPage child element.
</documentation>
</annotation>
<complexType>
<sequence>
<element ref="wizardPage" 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>
<appInfo>
<meta.attribute translatable="true"/>
</appInfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="wizardPage">
<annotation>
<documentation>
Each instance of this element defines an additional page which is added to the New Project wizard. Pages are added after the default pages provided by MBS. Pages are added in the order they are discovered.
Note that the IWizardPage interface allows a page to specify programmatically and dynamically at runtime what its previous and next pages are. This element does not trump that behaviour, but rather just specifies the order in which the pages are added to the wizard (and hence the order in which the pages appear if they do not override the previous and next page methods).
Wizard pages as GUI elements by themselves are really not all that useful. More than likely if someone is defining their own wizard pages it’s because they need some additional operations to happen upon project creation in addition to the stock behaviour of creating a basic project, and they want to use their new wizard pages to provide a front end to these operations.
As such, along with a specification of the GUI wizard page, ISVs may specify a runnable operation that will be executed in the wizard’s doRunEpilogue() method. These contributions will all be executed in the order that the wizard pages were added to the wizard. Not all pages need have such a contribution however, as ISVs may need to perform all the operations associated with their pages as a group. In cases such as this the ISV can define an operation for one of the pages and it can pull data from any of the other pages as required.
</documentation>
</annotation>
<complexType>
<sequence>
<element ref="nature" minOccurs="0" maxOccurs="unbounded"/>
<element ref="toolchain" minOccurs="0" maxOccurs="unbounded"/>
<element ref="projectType" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="ID" type="string" use="required">
<annotation>
<documentation>
A unique identifier for the page which will be used to reference the page.
</documentation>
</annotation>
</attribute>
<attribute name="pageClass" type="string" use="required">
<annotation>
<documentation>
Specifies the Java class which implements the added page. This class must implement the org.eclipse.jface.wizard.IWizardPage interface.
For convenience, there is an org.eclipse.cdt.managedbuilder.ui.wizards.MBSCustomPage abstract class which provides a default implementation of the getNextPage() and getPreviousPage() members that orders pages in the order they are discovered by the wizard.
</documentation>
<appInfo>
<meta.attribute kind="java"/>
</appInfo>
</annotation>
</attribute>
<attribute name="operationClass" type="string">
<annotation>
<documentation>
Specifies the Java class which implements the operations associated with this page. The class must implement either the java.lang.Runnable interface, or the org.eclipse.jface.operation.IRunnableWithProgress interface if progress reporting is desired.
</documentation>
<appInfo>
<meta.attribute kind="java"/>
</appInfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="nature">
<annotation>
<documentation>
This optional child element of wizardPage specifies the project nature(s) for which the additional pages should apply. One instance of this element is provided per nature supported.
This would for example allow one to add pages to the New Managed C Project wizard but not the New Managed C++ project wizard, or other hypothetical natures that might be supported by MBS in the future (e.g. someday there might be a Fortran nature).
If no natureID elements are specified, then it is assumed that the page potentially applies to all project natures, although it may still be excluded based on project type or toolchain.
</documentation>
</annotation>
<complexType>
<attribute name="natureID" type="string" use="required">
<annotation>
<documentation>
The unique ID of a nature (org.eclipse.core.resources.natures) for which this page should appear.
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="toolchain">
<annotation>
<documentation>
This is an optional child element of wizardPage which specifies a toolchain for which the additional pages should apply. One instance of this element is provided per toolchain supported by the page.
If no toolchain elements are specified, then it is assumed that the page potentially applies to all toolchains, although it may still be excluded based on project type or project nature.
</documentation>
</annotation>
<complexType>
<attribute name="toolchainID" type="string" use="required">
<annotation>
<documentation>
The unique ID of a toolchain for which this page should appear.
</documentation>
</annotation>
</attribute>
<attribute name="versionsSupported" type="string">
<annotation>
<documentation>
A comma separated list of specific versions of the toolchain that are supported by the page. If not specified, it is assumed that this page supports the toolchain regardless of version.
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="projectType">
<annotation>
<documentation>
This is an optional child element of wizardPage which specifies a projectType for which the additional pages should apply. One instance of this element is provided per toolchain supported by the page.
If no projectType elements are specified, then it is assumed that the page potentially applies to all projectTypes, although it may still be excluded based on toolchain or nature.
</documentation>
</annotation>
<complexType>
<attribute name="projectTypeID" type="string" use="required">
<annotation>
<documentation>
The unique ID of a projectType for which this page should appear.
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appInfo>
<meta.section type="since"/>
</appInfo>
<documentation>
3.0
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="examples"/>
</appInfo>
<documentation>
<extension
point="org.eclipse.cdt.managedbuilder.ui.newWizardPages">
<wizardPage
ID="org.eclipse.cdt.managedbuilder.ui.tests.wizardPages.AlwaysPresentWizardPage"
pageClass="org.eclipse.cdt.managedbuilder.ui.tests.wizardPages.AlwaysPresentWizardPage"/>
<wizardPage
ID="org.eclipse.cdt.managedbuilder.ui.tests.wizardPages.NatureAWizardPage"
pageClass="org.eclipse.cdt.managedbuilder.ui.tests.wizardPages.NatureAWizardPage">
<nature natureID="A"/>
</wizardPage>
<wizardPage
ID="org.eclipse.cdt.managedbuilder.ui.tests.wizardPages.NatureBWizardPage"
pageClass="org.eclipse.cdt.managedbuilder.ui.tests.wizardPages.NatureBWizardPage">
<nature natureID="B"/>
</wizardPage>
<wizardPage
ID="org.eclipse.cdt.managedbuilder.ui.tests.wizardPages.ToolchainCWizardPage"
pageClass="org.eclipse.cdt.managedbuilder.ui.tests.wizardPages.ToolchainCWizardPage">
<toolchain toolchainID="C"/>
</wizardPage>
<wizardPage
ID="org.eclipse.cdt.managedbuilder.ui.tests.wizardPages.ProjectTypeDWizardPage"
pageClass="org.eclipse.cdt.managedbuilder.ui.tests.wizardPages.ProjectTypeDWizardPage">
<projectType projectTypeID="D"/>
</wizardPage>
<wizardPage
ID="org.eclipse.cdt.managedbuilder.ui.tests.wizardPages.ProjectTypeEWizardPage"
pageClass="org.eclipse.cdt.managedbuilder.ui.tests.wizardPages.ProjectTypeEWizardPage">
<projectType projectTypeID="E"/>
</wizardPage>
<wizardPage
ID="org.eclipse.cdt.managedbuilder.ui.tests.wizardPages.ToolchainFWizardPage"
pageClass="org.eclipse.cdt.managedbuilder.ui.tests.wizardPages.ToolchainFWizardPage">
<toolchain toolchainID="F"/>
</wizardPage>
</extension>
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="apiInfo"/>
</appInfo>
<documentation>
None
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="implementation"/>
</appInfo>
<documentation>
None.
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="copyright"/>
</appInfo>
<documentation>
Copyright (c) 2005 Texas Instruments Incorporated and others.
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
https://www.eclipse.org/legal/epl-2.0/
SPDX-License-Identifier: EPL-2.0
</documentation>
</annotation>
</schema>
|