introduce common base class ProjectWizard
diff --git a/plugins/org.eclipse.dltk.python.ui/src/org/eclipse/dltk/python/internal/ui/wizards/PythonProjectCreationWizard.java b/plugins/org.eclipse.dltk.python.ui/src/org/eclipse/dltk/python/internal/ui/wizards/PythonProjectCreationWizard.java
index 4898a64..f6507f6 100644
--- a/plugins/org.eclipse.dltk.python.ui/src/org/eclipse/dltk/python/internal/ui/wizards/PythonProjectCreationWizard.java
+++ b/plugins/org.eclipse.dltk.python.ui/src/org/eclipse/dltk/python/internal/ui/wizards/PythonProjectCreationWizard.java
@@ -9,12 +9,6 @@
  *******************************************************************************/
 package org.eclipse.dltk.python.internal.ui.wizards;
 
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExecutableExtension;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.dltk.core.DLTKCore;
-import org.eclipse.dltk.core.IModelElement;
 import org.eclipse.dltk.python.core.PythonNature;
 import org.eclipse.dltk.python.internal.ui.PythonImages;
 import org.eclipse.dltk.python.internal.ui.preferences.PythonBuildPathsBlock;
@@ -22,17 +16,13 @@
 import org.eclipse.dltk.ui.util.BusyIndicatorRunnableContext;
 import org.eclipse.dltk.ui.util.IStatusChangeListener;
 import org.eclipse.dltk.ui.wizards.BuildpathsBlock;
-import org.eclipse.dltk.ui.wizards.NewElementWizard;
+import org.eclipse.dltk.ui.wizards.ProjectWizard;
 import org.eclipse.dltk.ui.wizards.ProjectWizardFirstPage;
 import org.eclipse.dltk.ui.wizards.ProjectWizardSecondPage;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.wizards.newresource.BasicNewProjectResourceWizard;
 
-public class PythonProjectCreationWizard extends NewElementWizard implements
-		INewWizard, IExecutableExtension {
+public class PythonProjectCreationWizard extends ProjectWizard {
 	private ProjectWizardFirstPage fFirstPage;
 	private ProjectWizardSecondPage fSecondPage;
-	private IConfigurationElement fConfigElement;
 
 	public PythonProjectCreationWizard() {
 		setDefaultPageImageDescriptor(PythonImages.DESC_WIZBAN_PROJECT_CREATION);
@@ -72,35 +62,4 @@
 		addPage(fSecondPage);
 	}
 
-	protected void finishPage(IProgressMonitor monitor)
-			throws InterruptedException, CoreException {
-		fSecondPage.performFinish(monitor); // use the full progress monitor
-	}
-
-	public boolean performFinish() {
-		boolean res = super.performFinish();
-		if (res) {
-			BasicNewProjectResourceWizard.updatePerspective(fConfigElement);
-			selectAndReveal(fSecondPage.getScriptProject().getProject());
-		}
-		return res;
-	}
-
-	/*
-	 * Stores the configuration element for the wizard. The config element will
-	 * be used in <code>performFinish</code> to set the result perspective.
-	 */
-	public void setInitializationData(IConfigurationElement cfig,
-			String propertyName, Object data) {
-		fConfigElement = cfig;
-	}
-
-	public boolean performCancel() {
-		fSecondPage.performCancel();
-		return super.performCancel();
-	}
-
-	public IModelElement getCreatedElement() {
-		return DLTKCore.create(fFirstPage.getProjectHandle());
-	}
 }