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

Last change on this file since 18 was 18, checked in by boris, 19 years ago
  • gui skeleton for 'new modelica class wizard' created
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        setNeedsProgressMonitor(true);
57        setWindowTitle("New Modelica Project");
58    }
59   
60    @Override
61    public boolean performFinish()
62    {
63        try 
64        {
65            IProject project = projectPage.getProjectHandle();
66            getContainer().run(false, true, 
67                    new CreateNewProjectRunnable(project));
68
69            selectAndReveal(project);
70        } catch (InvocationTargetException e) {
71            // TODO Auto-generated catch block
72            e.printStackTrace();
73            return false;
74        } catch (InterruptedException e) {
75            // TODO Auto-generated catch block
76            e.printStackTrace();
77            return false;
78        }
79        return true;
80    }
81    public void addPages()
82    {
83        super.addPages();
84       
85        projectPage = new WizardNewProjectCreationPage("");
86        projectPage.setTitle("Create a Modelica project");
87        projectPage.setDescription("Create a Modelica project in the workspace" +
88                " or in an external location.");
89
90        addPage(projectPage);
91       
92     }
93
94}
Note: See TracBrowser for help on using the repository browser.