X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/wizards/TempnewPHPProject.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/wizards/TempnewPHPProject.java new file mode 100644 index 0000000..91a03e9 --- /dev/null +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/wizards/TempnewPHPProject.java @@ -0,0 +1,103 @@ +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