# Creation Wizards

###### Identifier:

org.eclipse.ui.newWizards

###### Description:

This extension point is used to register resource creation wizard extensions. Creation wizards appear as choices within the "New Dialog", and are typically used to create folders and files.

In the "New Dialog", wizards are organized into categories which usually reflect a particular problem domain. For instance, a Java oriented plugin may define a category called "Java" which is appropriate for "Class" or "Package" creation wizards. The categories defined by one plug-in can be referenced by other plug-ins using the category attribute. Uncategorized wizards, as well as wizards with invalid category paths, will end up in an "Other" category.

Wizards may optionally specify a description subelement whose body should contain short text about the wizard.

###### Configuration Markup:

<!ELEMENT extension (category | wizard | primaryWizard)*>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED>

- point - a fully qualified identifier of the target extension point
- id - an optional identifier of the extension instance
- name - an optional name of the extension instance

<!ELEMENT category EMPTY>

<!ATTLIST category

id CDATA #REQUIRED

name CDATA #REQUIRED

parentCategory IDREF #IMPLIED>

- id - a unique name that can be used to identify this category
- name - a translatable name of the category that will be used in the dialog box
- parentCategory - a path to another category if this category should be added as a child

<!ELEMENT wizard (description? , selection* , keywordReference*)>

<!ATTLIST wizard

id CDATA #REQUIRED

name CDATA #REQUIRED

icon CDATA #IMPLIED

category CDATA #IMPLIED

class CDATA #REQUIRED

project (true | false)

finalPerspective IDREF #IMPLIED

preferredPerspectives CDATA #IMPLIED

helpHref CDATA #IMPLIED

descriptionImage CDATA #IMPLIED

canFinishEarly (true | false)

hasPages (true | false) >

- id - a unique name that can be used to identify this wizard
- name - a translatable name of the wizard that will be used in the dialog box
- icon - a relative path of an icon that will be used together with the name to represent the wizard as one of the choices in the creation dialog box.
- category - a slash-delimited path ('/') of category IDs. Each token in the path must represent a valid category ID previously defined by this or some other plug-in. If omitted, the wizard will be added to the "Other" category.
- class - a fully qualified name of the Java class implementing `org.eclipse.ui.INewWizard`.
- project - an optional attribute indicating the wizard will create an IProject resource. Also causes the wizard to appear as a choice within the "New Project Dialog".
- finalPerspective - an optional attribute which identifies a perspective to activate when IProject resource creation is finished.
- preferredPerspectives - an optional attribute specifying a comma-separated list of perspective IDs. If the current perspective is in this list, then no perspective activation occurs when IProject resource creation is finished.
- helpHref - a help url that can describe this wizard in detail.

  Since 3.0

- descriptionImage - a larger image that can help describe this wizard.

  Since 3.0

- canFinishEarly - whether the wizard is capable of finishing without ever showing pages to the user.
- hasPages - whether the wizard provides any pages.

<!ELEMENT description (#PCDATA)>

an optional subelement whose body contains a short text describing what the wizard will do when started

<!ELEMENT selection EMPTY>

<!ATTLIST selection

class CDATA #REQUIRED

name CDATA #IMPLIED>

- class - a fully qualified class name. If each object in the workbench selection implements this interface the selection will be passed to the wizard. Otherwise, an empty selection is passed
- name - an optional name filter. Each object in the workbench selection must match the name filter to be passed to the wizard

<!ELEMENT primaryWizard EMPTY>

<!ATTLIST primaryWizard

id IDREF #REQUIRED>

a means of declaring that a wizard is "primary" in the UI. A primary wizard is emphasized in the new wizard dialog. Please note that this element is not intended to be used by plug in developers! This element exists so that product managers may emphasize a set of wizards for their products.

- id - the id of a wizard that should be made primary.

<!ELEMENT keywordReference EMPTY>

<!ATTLIST keywordReference

id IDREF #REQUIRED>

A reference by a New Wizard to a keyword. See the keywords extension point.

- id - The id of the keyword being referred to.

###### Examples:

Following is an example of creation wizard configuration:

       <extension point="org.eclipse.ui.newWizards">
          <category
            id="com.xyz.XYZ"
            name="XYZ Wizards">
          </category>
          <category
            id="com.xyz.XYZ.Web"
            name="Web Wizards"
            parentCategory="com.xyz.XYZ">
          </category>
          <wizard
              id="com.xyz.wizard1"
              name="XYZ artifact"
              category="com.xyz.XYZ/com.xyz.XYZ.Web"
              icon="./icons/XYZwizard1.gif"
              class="com.xyz.XYZWizard1">
              <description>
                  Create a simple XYZ artifact and set initial content
              </description>
               <selection class="org.eclipse.core.resources.IResource"/>
          </wizard>
       </extension>

###### API Information:

The value of the class attribute must represent a class that implements `org.eclipse.ui.INewWizard`. If the wizard is created from within the New Wizard it will be inserted into the existing wizard. If the wizard is launched as a shortcut (from the File New menu or a toolbar button) it will appear standalone as a separate dialog box.

###### Supplied Implementation:

The workbench comes with wizards for creating empty resources of the following types: project, folder and file. These wizards are registered using the same mechanism as described above. Additional wizards may also appear, subject to particular platform installation.

Copyright (c) 2002, 2005 IBM Corporation and others.
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