diff options
Diffstat (limited to 'core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/NewCProjectWizard.java')
-rw-r--r-- | core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/NewCProjectWizard.java | 305 |
1 files changed, 0 insertions, 305 deletions
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/NewCProjectWizard.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/NewCProjectWizard.java deleted file mode 100644 index 9632001d92f..00000000000 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/NewCProjectWizard.java +++ /dev/null @@ -1,305 +0,0 @@ -package org.eclipse.cdt.ui.wizards; - -/* - * (c) Copyright QNX Software Systems Ltd. 2002. - * All Rights Reserved. - */ - -import java.lang.reflect.InvocationTargetException; -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.cdt.core.CCorePlugin; -import org.eclipse.cdt.internal.ui.CPluginImages; -import org.eclipse.cdt.ui.CUIPlugin; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IProjectDescription; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IWorkspace; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.runtime.IExecutableExtension; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.core.runtime.Platform; -import org.eclipse.core.runtime.Status; -import org.eclipse.core.runtime.SubProgressMonitor; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.jface.operation.IRunnableWithProgress; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchPage; -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.PartInitException; -import org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation; -import org.eclipse.ui.ide.IDE; -import org.eclipse.ui.wizards.newresource.BasicNewProjectResourceWizard; -import org.eclipse.ui.wizards.newresource.BasicNewResourceWizard; - - -/** - * C Project wizard that creates a new project resource in - * a location of the user's choice. - */ -public abstract class NewCProjectWizard extends BasicNewResourceWizard implements IExecutableExtension { - - private static final String OP_ERROR= "CProjectWizard.op_error"; //$NON-NLS-1$ - private static final String OP_DESC= "CProjectWizard.op_description"; //$NON-NLS-1$ - - private static final String PREFIX= "CProjectWizard"; //$NON-NLS-1$ - private static final String WZ_TITLE= "CProjectWizard.title"; //$NON-NLS-1$ - private static final String WZ_DESC= "CProjectWizard.description"; //$NON-NLS-1$ - - private static final String WINDOW_TITLE = "CProjectWizard.windowTitle"; //$NON-NLS-1$ - - - private String wz_title; - private String wz_desc; - private String op_error; - - protected IConfigurationElement fConfigElement; - protected NewCProjectWizardPage fMainPage; - protected IProject newProject; - - List tabItemsList = new ArrayList(); - - public NewCProjectWizard() { - this(CUIPlugin.getResourceString(WZ_TITLE), CUIPlugin.getResourceString(WZ_DESC), - CUIPlugin.getResourceString(OP_ERROR)); - } - - public NewCProjectWizard(String title, String description) { - this(title, description, CUIPlugin.getResourceString(OP_ERROR)); - } - - public NewCProjectWizard(String title, String description, String error) { - super(); - setDialogSettings(CUIPlugin.getDefault().getDialogSettings()); - setNeedsProgressMonitor(true); - wz_title = title; - wz_desc = description; - op_error = error; - } - - /** - * @see Wizard#createPages - */ - public void addPages() { - fMainPage= new NewCProjectWizardPage(CUIPlugin.getResourceString(PREFIX)); - fMainPage.setTitle(wz_title); - fMainPage.setDescription(wz_desc); - addPage(fMainPage); - } - - protected abstract void doRunPrologue(IProgressMonitor monitor); - - protected abstract void doRunEpilogue(IProgressMonitor monitor); - - protected IStatus isValidName(String name) { - return new Status(IStatus.OK, CUIPlugin.PLUGIN_ID, 0, "", null); - } - - /** - * Method isValidLocation. - * @param projectFieldContents - * @return IStatus - */ - protected IStatus isValidLocation(String projectFieldContents) { - return new Status(IStatus.OK, CUIPlugin.PLUGIN_ID, 0, "", null); - } - - /** - * Gets the project location path from the main page - * Overwrite this method if you do not have a main page - */ - protected IPath getLocationPath() throws UnsupportedOperationException { - if (null == fMainPage) - throw new UnsupportedOperationException(); - return fMainPage.getLocationPath(); - } - - /** - * Gets the project handle from the main page. - * Overwrite this method if you do not have a main page - */ - - protected IProject getProjectHandle() throws UnsupportedOperationException { - if (null == fMainPage) - throw new UnsupportedOperationException(); - return fMainPage.getProjectHandle(); - } - - /** - * Returns the C project handle corresponding to the project defined in - * in the main page. - * - * @returns the C project - */ - public IProject getNewProject() { - return newProject; - } - - protected IResource getSelectedResource() { - return getNewProject(); - } - - /** - * @see Wizard#performFinish - */ - public boolean performFinish() { - if (!invokeRunnable(getRunnable())) { - return false; - } - BasicNewProjectResourceWizard.updatePerspective(fConfigElement); - IResource resource = getSelectedResource(); - selectAndReveal(resource); - if (resource != null && resource.getType() == IResource.FILE) { - IFile file = (IFile)resource; - // Open editor on new file. - IWorkbenchWindow dw = getWorkbench().getActiveWorkbenchWindow(); - if (dw != null) { - try { - IWorkbenchPage page = dw.getActivePage(); - if (page != null) - IDE.openEditor(page, file, true); - } catch (PartInitException e) { - MessageDialog.openError(dw.getShell(), - CUIPlugin.getResourceString(OP_ERROR), e.getMessage()); - } - } - } - return true; - } - - /** - * Stores the configuration element for the wizard. The config element will be used - * in <code>performFinish</code> to set the result perspective. - * - * @see IExecutableExtension#setInitializationData - */ - public void setInitializationData(IConfigurationElement cfig, String propertyName, Object data) { - fConfigElement= cfig; - } - - /* - * Reimplemented method from superclass - */ - protected void initializeDefaultPageImageDescriptor() { - setDefaultPageImageDescriptor(CPluginImages.DESC_WIZABAN_NEW_PROJ); - } - - /* (non-Javadoc) - * Method declared on IWorkbenchWizard. - */ - public void init(IWorkbench workbench, IStructuredSelection currentSelection) { - super.init(workbench, currentSelection); - setWindowTitle(CUIPlugin.getResourceString(WINDOW_TITLE)); - } - - public IRunnableWithProgress getRunnable() { - return new IRunnableWithProgress() { - public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { - if (monitor == null) { - monitor= new NullProgressMonitor(); - } - monitor.beginTask(CUIPlugin.getResourceString(OP_DESC), 3); - - doRunPrologue(new SubProgressMonitor(monitor, 1)); - try { - doRun(new SubProgressMonitor(monitor, 1)); - } - catch (CoreException e) { - throw new InvocationTargetException(e); - } - doRunEpilogue(new SubProgressMonitor(monitor, 1)); - - monitor.done(); - } - }; - } - - /** - * Utility method: call a runnable in a WorkbenchModifyDelegatingOperation - */ - protected boolean invokeRunnable(IRunnableWithProgress runnable) { - IRunnableWithProgress op= new WorkspaceModifyDelegatingOperation(runnable); - try { - getContainer().run(false, true, op); - } catch (InvocationTargetException e) { - Shell shell= getShell(); - String title= CUIPlugin.getResourceString(OP_ERROR + ".title"); //$NON-NLS-1$ - String message= CUIPlugin.getResourceString(OP_ERROR + ".message"); //$NON-NLS-1$ - - Throwable th= e.getTargetException(); - CUIPlugin.errorDialog(shell, title, message, th); - try { - getProjectHandle().delete(false, false, null); - } catch (CoreException ignore) { - } catch (UnsupportedOperationException ignore) { - } - return false; - } catch (InterruptedException e) { - return false; - } - return true; - } - - protected void doRun(IProgressMonitor monitor) throws CoreException { - createNewProject(monitor); - } - - /** - * Creates a new project resource with the selected name. - * <p> - * In normal usage, this method is invoked after the user has pressed Finish on - * the wizard; the enablement of the Finish button implies that all controls - * on the pages currently contain valid values. - * </p> - * <p> - * Note that this wizard caches the new project once it has been successfully - * created; subsequent invocations of this method will answer the same - * project resource without attempting to create it again. - * </p> - * - * @return the created project resource, or <code>null</code> if the project - * was not created - */ - protected IProject createNewProject(IProgressMonitor monitor) throws CoreException { - - if (newProject != null) - return newProject; - - // get a project handle - IProject newProjectHandle = null; - try { - newProjectHandle = getProjectHandle(); - } catch (UnsupportedOperationException e) { - throw new CoreException(new Status(IStatus.ERROR, CUIPlugin.PLUGIN_ID, 0, e.getMessage(), null)); - } - - // get a project descriptor - IPath defaultPath = Platform.getLocation(); - IPath newPath = getLocationPath(); - if (defaultPath.equals(newPath)) - newPath = null; - IWorkspace workspace = ResourcesPlugin.getWorkspace(); - IProjectDescription description = workspace.newProjectDescription(newProjectHandle.getName()); - description.setLocation(newPath); - - newProject = CCorePlugin.getDefault().createCProject(description, newProjectHandle, monitor, getProjectID()); - return newProject; - } - - - /** - * Method getID. - * @return String - */ - public abstract String getProjectID(); - -} |