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

Last change on this file since 9 was 7, checked in by boris, 19 years ago
  • creating modelica projects with the wizard now works
File size: 2.2 KB
RevLine 
[5]1package org.modelica.mdt;
2
[7]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;
[5]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{
[7]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(), 2);
28            try
29            {
30                newProject.create(monitor);
31                monitor.worked(1);
32                newProject.open(monitor);
33            }
34            catch (CoreException e)
35            {
36                // TODO Auto-generated catch block
37                e.printStackTrace();
38            }           
39            monitor.done();
40        }
41
42    }
[5]43    protected WizardNewProjectCreationPage projectPage;
44
45    public void init(IWorkbench workbench,IStructuredSelection selection)
46    {
[7]47        super.init(workbench, selection);
[5]48        setWindowTitle("New Modelica Project");
49    }
50   
51    @Override
52    public boolean performFinish()
53    {
[7]54        try 
55        {
56            IProject project = projectPage.getProjectHandle();
57            getContainer().run(false, true, 
58                    new CreateNewProjectRunnable(project));
59
60            selectAndReveal(project);
61        } catch (InvocationTargetException e) {
62            // TODO Auto-generated catch block
63            e.printStackTrace();
64            return false;
65        } catch (InterruptedException e) {
66            // TODO Auto-generated catch block
67            e.printStackTrace();
68            return false;
69        }
70        return true;
[5]71    }
72    public void addPages()
73    {
74        super.addPages();
75       
76        projectPage = new WizardNewProjectCreationPage("");
77        projectPage.setTitle("Create a Modelica project");
78        projectPage.setDescription("Create a Modelica project in the workspace" +
79                " or in an external location.");
80
81        addPage(projectPage);
82       
83     }
84
85}
Note: See TracBrowser for help on using the repository browser.