# ECF Configuration Wizards

###### Identifier:

org.eclipse.ecf.ui.configurationWizards

###### Since:

ECF v0.9.4

###### Description:

This extension point allows providers to register wizards for creating and configuration IContainer instances.

###### Configuration Markup:

<!ELEMENT extension (category | wizard)*>

<!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 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

category CDATA #IMPLIED

class CDATA #REQUIRED

icon CDATA #IMPLIED

containerFactoryName CDATA #REQUIRED

>

an element that will be used to create export wizard

- id - a unique name that will be used to identify this wizard
- name - a translatable name that will be used in the dialog box to represent this wizard
- 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 class that implements `org.eclipse.ecf.ui.IConfigurationWizard` interface
- icon - a relative name of the icon that will be used alongside the wizard name in the export engine listing.
- containerFactoryName - The ContainerTypeName of the container to be created. For example, "ecf.generic.client".

<!ELEMENT description (#PCDATA)>

an optional subelement whose body should represent a short description of the export engine functionality.

###### Examples:

Implementers of this extension point must specify an extension of the org.eclipse.ecf.ui.configurationWizards extension point.

      <extension
            point="org.eclipse.ecf.ui.configurationWizards">
         <wizard
               class="org.my.client.MyClientConfigurationWizard"
               containerFactoryName="org.my.client"
               id="my.client.configuration.wizard"
               name="My Client Configuration Wizard"
               icon="icons/configuration.png">
         </wizard>
      </extension>

###### API Information:

The "class" attribute (required) must have a class that implements the org.eclipse.ecf.ui.IConfigurationWizard interface:

    /**
     * Required interface for implementing
     * <b>org.eclipse.ecf.ui.configurationWizards</b> extension point. Extensions
     * for extension point <b>org.eclipse.ecf.ui.configurationWizards</b> must
     * provide a class implementing this interface.
     */
    public interface IConfigurationWizard extends IWizard {

     /**
      * Initialize the wizard with the workbench and the desired container type
      * description
      *
      * @param workbench
      *            the workbench for the wizard. Will not be null.
      * @param description
      *            the {@link ContainerTypeDescription} to use to
      *            create/configure the new IContainer instance
      */
     public void init(IWorkbench workbench,
       ContainerTypeDescription description);

     /**
      * Get result of configuration.
      *
      * @return ContainerHolder the result of the configuration.  If null, the container could not be
      * created.
      */
     public ContainerHolder getConfigurationResult();
    }

/**************************************************************************** * Copyright (c) 2004 Composent, Inc. 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 * * Contributors: * Composent, Inc. - initial API and implementation *****************************************************************************/