source: trunk/src/org/modelica/mdt/NewProjectWizard.java @ 11

Last change on this file since 11 was 10, checked in by boris, 19 years ago
File size: 2.4 KB
Line 
1package org.modelica.mdt;
2
3import java.lang.reflect.InvocationTargetException;
4import org.eclipse.core.resources.IProject;
5import org.eclipse.core.runtime.CoreException;
6import org.eclipse.core.runtime.IProgressMonitor;
7import org.eclipse.jface.operation.IRunnableWithProgress;
8import org.eclipse.jface.viewers.IStructuredSelection;
9import org.eclipse.ui.IWorkbench;
10import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
11import org.eclipse.ui.wizards.newresource.BasicNewResourceWizard;
12
13public class NewProjectWizard extends BasicNewResourceWizard
14{
15    public class CreateNewProjectRunnable implements IRunnableWithProgress
16    {
17        IProject newProject;
18       
19        public CreateNewProjectRunnable(IProject newProject)
20        {
21            this.newProject = newProject;
22        }
23
24        public void run(IProgressMonitor monitor)
25                throws InvocationTargetException, InterruptedException
26        {
27            monitor.beginTask("creating project " + newProject.getName(), 3);
28            try
29            {
30                /* create the project */
31                newProject.create(monitor);
32                monitor.worked(1);
33
34                /* open project */
35                newProject.open(monitor);
36                monitor.worked(2);
37
38                /* add modelica nature to the project */
39                MdtPlugin.addModelicaNature(newProject);
40               
41            }
42            catch (CoreException e)
43            {
44                // TODO Auto-generated catch block
45                e.printStackTrace();
46            }           
47            monitor.done();
48        }
49
50    }
51    protected WizardNewProjectCreationPage projectPage;
52
53    public void init(IWorkbench workbench,IStructuredSelection selection)
54    {
55        super.init(workbench, selection);
56        setWindowTitle("New Modelica Project");
57    }
58   
59    @Override
60    public boolean performFinish()
61    {
62        try 
63        {
64            IProject project = projectPage.getProjectHandle();
65            getContainer().run(false, true, 
66                    new CreateNewProjectRunnable(project));
67
68            selectAndReveal(project);
69        } catch (InvocationTargetException e) {
70            // TODO Auto-generated catch block
71            e.printStackTrace();
72            return false;
73        } catch (InterruptedException e) {
74            // TODO Auto-generated catch block
75            e.printStackTrace();
76            return false;
77        }
78        return true;
79    }
80    public void addPages()
81    {
82        super.addPages();
83       
84        projectPage = new WizardNewProjectCreationPage("");
85        projectPage.setTitle("Create a Modelica project");
86        projectPage.setDescription("Create a Modelica project in the workspace" +
87                " or in an external location.");
88
89        addPage(projectPage);
90       
91     }
92
93}
Note: See TracBrowser for help on using the repository browser.