org.jlense.uiworks.newWizards Extension Point

Identifier: org.jlense.uiworks.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 new projects, folders and files.

In the "New Dialog", wizards are organized into categories which usually reflect a particular problem domain. For instance, a Chart oriented plugin may define a category called "Charts" which is appropriate for "Bar Chart" or "Line Chart" 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 category EMPTY>
   <!ATTLIST category
      id            CDATA #REQUIRED
      name          CDATA #REQUIRED
      parentCategory CDATA #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)?>
   <!ATTLIST wizard
      id                CDATA #REQUIRED
      name              CDATA #REQUIRED
      icon              CDATA #IMPLIED
      category          CDATA #IMPLIED
      class             CDATA #REQUIRED
      project           (true | false) #IMPLIED
      finalPerspective  CDATA #OPTIONAL
   >
   <!ELEMENT description (#PCDATA)>

  • id - a unique name that can be used to identify this wizard
  • name - a translatable name for the wizard that will be used in the 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.
  • icon - a relative path of the icon that will be used together with the name to represent the wizard as one of the choices in the creation dialog box.
  • class - a fully qualified name of the Java class implementing org.jlense.uiworks.workbench.INewWizard.
  • project - an optional attribute indicating the wizard will create an IProject resource. Also cause 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. For more information, see API Information below.
  • description - 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 #OPTIONAL
   >

  • 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.

Examples:

Following is an example of creation wizard configuration:

   <extension point="org.jlense.uiworks.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>
      </wizard>
   </extension>

API Information: The value of the class attribute must represent a class that implements org.jlense.uiworks.workbench.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.

The finalPerspective attribute identifies a perspective to activate when IProject resource creation is finished within the wizard class. The activation of this perspective should be interpreted according to the workbench preference defined by IWorkbenchPreferenceConstants.PROJECT_OPEN_NEW_PERSPECTIVE. This may mean "open in a new window", "open in the current window", "replace the current perspective", or "do nothing". This is only a hint, but developers are encouraged to read and activate the hint, or they can call the api BasicNewProjectResourceWizard#updatePerspective(IConfigurationElement) which will do the work for them.