--- /dev/null
+package net.sourceforge.phpeclipse.wizards;
+
+import java.lang.reflect.InvocationTargetException;
+
+import net.sourceforge.phpdt.core.JavaCore;
+import net.sourceforge.phpdt.internal.ui.util.ExceptionHandler;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
+import org.eclipse.ui.wizards.newresource.BasicNewProjectResourceWizard;
+import org.eclipse.ui.wizards.newresource.BasicNewResourceWizard;
+
+public class TempnewPHPProject extends BasicNewResourceWizard implements
+ INewWizard {
+ /*
+ * This class has been added to cvs to provide a project page that works
+ * correctly and doesn't freezde while i investigate the errors completely
+ */
+ private WizardNewProjectCreationPage phpProjPage;
+
+ private IConfigurationElement fConfigElement;
+
+ public TempnewPHPProject() {
+ setNeedsProgressMonitor(true);
+ setWindowTitle("New Project creation"); //$NON-NLS-1$
+
+ }
+
+ public void addPages() {
+ super.addPages();
+ phpProjPage = new WizardNewProjectCreationPage(
+ "NewProjectCreationWizard"); //$NON-NLS-1$
+ phpProjPage.setTitle(PHPWizardMessages
+ .getString("WizardNewProjectCreationPage.pageTitle")); //$NON-NLS-1$
+ phpProjPage.setDescription(PHPWizardMessages
+ .getString("WizardNewProjectCreationPage.pageDescription")); //$NON-NLS-1$
+ addPage(phpProjPage);
+ }
+
+ public void setInitializationData(IConfigurationElement cfig,
+ String propertyName, Object data) {
+ fConfigElement = cfig;
+ }
+
+ protected void initializeDefaultPageImageDescriptor() {
+ // not used yet
+ }
+
+ protected void finishPage() throws InterruptedException, CoreException {
+ createProject(phpProjPage.getProjectHandle(), phpProjPage
+ .getLocationPath(), new NullProgressMonitor());
+ BasicNewProjectResourceWizard.updatePerspective(fConfigElement);
+ selectAndReveal(phpProjPage.getProjectHandle());
+ }
+
+ protected void handleFinishException(Shell shell,
+ InvocationTargetException e) {
+ ExceptionHandler.handle(e, getShell(), "Error title", "Error message");
+ }
+
+ public boolean performFinish() {
+ try {
+ finishPage();
+ } catch (InterruptedException e) {
+ } catch (CoreException e) {
+ }
+ return true;
+ }
+
+ public void createProject(IProject project, IPath locationPath,
+ IProgressMonitor monitor) throws CoreException {
+ try {
+ if (!project.exists()) {
+ IProjectDescription desc = project.getWorkspace()
+ .newProjectDescription(project.getName());
+ if (Platform.getLocation().equals(locationPath)) {
+ locationPath = null;
+ }
+ desc.setLocation(locationPath);
+ project.create(desc, monitor);
+ monitor = null;
+ }
+ if (!project.isOpen()) {
+ project.open(monitor);
+ monitor = null;
+ }
+ JavaCore.addPHPNature(project, new NullProgressMonitor());
+ } finally {
+ if (monitor != null) {
+ monitor.done();
+ }
+ }
+ }
+}
\ No newline at end of file