Ignore:
Timestamp:
10/07/05 14:39:09 (19 years ago)
Author:
boris
Message:
  • moved project creation code to org.modelica.mdt.core package
Location:
trunk/org.modelica.mdt/src/org/modelica/mdt
Files:
2 added
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/org.modelica.mdt/src/org/modelica/mdt/NewProjectWizard.java

    r61 r63  
    4242package org.modelica.mdt;
    4343
    44 import java.lang.reflect.InvocationTargetException;
    45 import org.eclipse.core.resources.IProject;
     44import org.modelica.mdt.core.Utility;
     45
    4646import org.eclipse.core.resources.IResource;
    4747import org.eclipse.core.resources.ResourcesPlugin;
    48 import org.eclipse.core.runtime.CoreException;
    49 import org.eclipse.core.runtime.IProgressMonitor;
    5048import org.eclipse.core.runtime.IStatus;
    51 import org.eclipse.core.runtime.Status;
    5249import org.eclipse.jface.dialogs.DialogPage;
    53 import org.eclipse.jface.dialogs.ErrorDialog;
    54 import org.eclipse.jface.operation.IRunnableWithProgress;
    5550import org.eclipse.jface.viewers.IStructuredSelection;
    5651import org.eclipse.jface.wizard.Wizard;
     
    6661import org.eclipse.ui.INewWizard;
    6762import org.eclipse.ui.IWorkbench;
    68 import org.eclipse.ui.wizards.newresource.BasicNewResourceWizard;
    6963
    7064public class NewProjectWizard extends Wizard implements INewWizard
     
    147141
    148142    }
    149     public class CreateNewProjectRunnable implements IRunnableWithProgress
    150     {
    151         IProject newProject;
    152        
    153         public CreateNewProjectRunnable(IProject newProject)
    154         {
    155             this.newProject = newProject;
    156         }
    157 
    158         public void run(IProgressMonitor monitor)
    159                 throws InvocationTargetException, InterruptedException
    160         {
    161             monitor.beginTask("creating project " + newProject.getName(), 3);
    162             try
    163             {
    164                 /* create the project */
    165                 newProject.create(monitor);
    166                 monitor.worked(1);
    167 
    168                 /* open project */
    169                 newProject.open(monitor);
    170                 monitor.worked(2);
    171 
    172                 /* add modelica nature to the project */
    173                 MdtPlugin.addModelicaNature(newProject);
    174                
    175             }
    176             catch (CoreException e)
    177             {
    178                 showProjectCreationError(e.getStatus());
    179             }           
    180             monitor.done();
    181         }
    182 
    183     }
    184143
    185144    private NewProjectPage projectPage = new NewProjectPage();
    186     private IWorkbench workbench;
    187145   
    188146    public void init(IWorkbench workbench, IStructuredSelection selection)
    189147    {
    190         this.workbench = workbench;
    191148        setWindowTitle("New Modelica Project");
    192149    }   
    193150   
    194151
    195     private void showProjectCreationError(String message, Exception e)
    196     {
    197         showProjectCreationError(new Status(IStatus.ERROR,
    198                 MdtPlugin.getSymbolicName(), 0, message, e));
    199     }
    200    
    201    
    202     private void showProjectCreationError(IStatus status)
    203     {
    204         ErrorDialog.openError(null, "Error", "Could not create project", status);   
    205     }
    206 
    207152    @Override
    208153    public boolean performFinish()
    209154    {
    210         try
    211         {
    212             IProject project =
    213                 ResourcesPlugin.getWorkspace().getRoot().getProject(projectPage.projectName.getText());
    214            
    215             getContainer().run(false, true,
    216                     new CreateNewProjectRunnable(project));
    217 
    218             BasicNewResourceWizard.selectAndReveal(project, workbench.getActiveWorkbenchWindow());
    219         }
    220         catch (InvocationTargetException e)
    221         {
    222             showProjectCreationError("internal error during project creation", e);
    223         }
    224         catch (InterruptedException e)
    225         {
    226             return false;
    227         }
    228         return true;
     155        return Utility.createProject(projectPage.projectName.getText(),
     156                this.getContainer());
    229157    }
    230158   
Note: See TracChangeset for help on using the changeset viewer.