# Interface IExtensionEditorWizard

All Superinterfaces:
  `IBasePluginWizard, IWizard`

public interface IExtensionEditorWizard extends IBasePluginWizard
An interface for extension editor wizards. Clients should implement this interface if they are plugging into PDE using `org.eclipse.pde.ui.newExtension` extension point and want to register wizards for custom editing of the selected extensions and extension elements in the plug-in manifest wizard.

Since:
  3.0
Restriction:
  This interface is not intended to be extended by clients.

## Method Summary

Modifier and Type
Method
Description
`void`
`init(IProject project, IPluginModelBase pluginModel, IStructuredSelection selection)`
Initializes the wizard with the project of the plug-in and the model object for the plug-in manifest file.

### Methods inherited from interface IWizard

`addPages, canFinish, createPageControls, dispose, getContainer, getDefaultPageImage, getDialogSettings, getMinimumWizardSize, getNextPage, getPage, getPageCount, getPages, getPreviousPage, getStartingPage, getTitleBarColor, getWindowTitle, isHelpAvailable, needsPreviousAndNextButtons, needsProgressMonitor, performCancel, performFinish, setContainer`

## Method Details

### init

void init(IProject project, IPluginModelBase pluginModel, IStructuredSelection selection)
Initializes the wizard with the project of the plug-in and the model object for the plug-in manifest file. Java code and other resorces should be created in the source folder under the provided project. Changes in the plug-in manifest should be made using the APIs of the provided model. Changing the model will make the model dirty. This will show up in the UI indicating that the currently opened manifest file is modified and needs to be saved.

The wizard is opened on a current selection in the extension tree. It is supposed to modify the selected element and/or its children using plug-in model APIs. The setters on the APIs will cause the model to be dirty and make the editor dirty as well. Saving the editor will commit the changes made by the wizard to the edited file.

Parameters:
  `project` - the plug-in project resource where the new code and resources should go
  `pluginModel` - the model instance that should be used to modify the plug-in manifest
  `selection` - the currently selected extension or extension element in the manifest editor extension tree