- Timestamp:
- 10/04/05 13:03:41 (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/org.modelica.mdt/src/org/modelica/mdt/NewProjectWizard.java
r37 r49 3 3 import java.lang.reflect.InvocationTargetException; 4 4 import org.eclipse.core.resources.IProject; 5 import org.eclipse.core.resources.IResource; 6 import org.eclipse.core.resources.ResourcesPlugin; 5 7 import org.eclipse.core.runtime.CoreException; 6 8 import org.eclipse.core.runtime.IProgressMonitor; 7 9 import org.eclipse.core.runtime.IStatus; 8 10 import org.eclipse.core.runtime.Status; 11 import org.eclipse.jface.dialogs.DialogPage; 9 12 import org.eclipse.jface.dialogs.ErrorDialog; 10 13 import org.eclipse.jface.operation.IRunnableWithProgress; 11 14 import org.eclipse.jface.viewers.IStructuredSelection; 15 import org.eclipse.jface.wizard.Wizard; 16 import org.eclipse.jface.wizard.WizardPage; 17 import org.eclipse.swt.SWT; 18 import org.eclipse.swt.events.ModifyEvent; 19 import org.eclipse.swt.events.ModifyListener; 20 import org.eclipse.swt.layout.GridData; 21 import org.eclipse.swt.layout.GridLayout; 22 import org.eclipse.swt.widgets.Composite; 23 import org.eclipse.swt.widgets.Label; 24 import org.eclipse.swt.widgets.Text; 25 import org.eclipse.ui.INewWizard; 12 26 import org.eclipse.ui.IWorkbench; 13 import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;14 27 import org.eclipse.ui.wizards.newresource.BasicNewResourceWizard; 15 28 16 public class NewProjectWizard extends BasicNewResourceWizard29 public class NewProjectWizard extends Wizard implements INewWizard 17 30 { 31 public class NewProjectPage extends WizardPage 32 { 33 private Text projectName; 34 35 public NewProjectPage() 36 { 37 super(""); 38 } 39 40 public void createControl(Composite parent) 41 { 42 setPageComplete(false); 43 /* 44 * configure description of this page 45 */ 46 setTitle("Create a Modelica project"); 47 setDescription("Create a Modelica project in the workspace."); 48 49 // TODO set image descriptor 50 //setImageDescriptor(...); 51 52 /* 53 * setup widgets for this page 54 */ 55 Composite composite= new Composite(parent, SWT.NONE); 56 setControl(composite); 57 composite.setFont(parent.getFont()); 58 59 GridLayout layout = new GridLayout(); 60 layout.numColumns = 2; 61 composite.setLayout(layout); 62 63 GridData gd; 64 65 /* project name field */ 66 Label l = new Label(composite, SWT.LEFT | SWT.WRAP); 67 l.setText("Project name:"); 68 gd = new GridData(); 69 gd.horizontalAlignment = GridData.BEGINNING; 70 l.setLayoutData(gd); 71 72 projectName = new Text(composite, SWT.SINGLE | SWT.BORDER); 73 gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL); 74 projectName.setLayoutData(gd); 75 76 projectName.addModifyListener(new ModifyListener() 77 { 78 /* check if entered classname is valid */ 79 public void modifyText(ModifyEvent e) 80 { 81 validateProjectName(projectName.getText()); 82 } 83 }); 84 85 } 86 87 public void validateProjectName(String name) 88 { 89 IStatus res = ResourcesPlugin.getWorkspace().validateName(name, IResource.PROJECT); 90 if (res.isOK()) 91 { 92 projectPage.setPageComplete(true); 93 setMessage(null); 94 } 95 else 96 { 97 projectPage.setPageComplete(false); 98 setMessage(res.getMessage(), DialogPage.ERROR); 99 } 100 } 101 102 103 104 } 18 105 public class CreateNewProjectRunnable implements IRunnableWithProgress 19 106 { … … 51 138 52 139 } 53 protected WizardNewProjectCreationPage projectPage;54 140 55 public void init(IWorkbench workbench,IStructuredSelection selection) 141 private NewProjectPage projectPage = new NewProjectPage(); 142 private IWorkbench workbench; 143 144 public void init(IWorkbench workbench, IStructuredSelection selection) 56 145 { 57 super.init(workbench, selection); 58 setNeedsProgressMonitor(true); 146 this.workbench = workbench; 59 147 setWindowTitle("New Modelica Project"); 60 61 } 148 } 62 149 63 150 … … 79 166 try 80 167 { 81 IProject project = projectPage.getProjectHandle(); 168 IProject project = 169 ResourcesPlugin.getWorkspace().getRoot().getProject(projectPage.projectName.getText()); 170 82 171 getContainer().run(false, true, 83 172 new CreateNewProjectRunnable(project)); 84 173 85 selectAndReveal(project);174 BasicNewResourceWizard.selectAndReveal(project, workbench.getActiveWorkbenchWindow()); 86 175 } 87 176 catch (InvocationTargetException e) … … 95 184 return true; 96 185 } 186 187 @Override 97 188 public void addPages() 98 189 { 99 super.addPages();100 101 projectPage = new WizardNewProjectCreationPage("");102 projectPage.setTitle("Create a Modelica project");103 projectPage.setDescription("Create a Modelica project in the workspace" +104 " or in an external location.");105 106 190 addPage(projectPage); 107 108 } 109 191 } 110 192 }
Note: See TracChangeset
for help on using the changeset viewer.