1 26 30 31 package org.omg.lifl.eclipse.plugin.project.OpenCCM; 32 33 import org.eclipse.core.resources.IResource; 34 import org.eclipse.core.resources.IWorkspace; 35 import org.eclipse.core.resources.ResourcesPlugin; 36 import org.eclipse.core.runtime.IConfigurationElement; 37 import org.eclipse.core.runtime.IStatus; 38 import org.eclipse.core.runtime.Status; 39 import org.eclipse.jface.dialogs.DialogPage; 40 import org.eclipse.jface.wizard.WizardPage; 41 import org.eclipse.swt.SWT; 42 import org.eclipse.swt.layout.RowLayout; 43 import org.eclipse.swt.widgets.Composite; 44 import org.eclipse.swt.widgets.DirectoryDialog; 45 import org.omg.lifl.eclipse.plugin.project.OpenCCM.utils.CVSsrcFSChooser; 46 import org.omg.lifl.eclipse.plugin.project.OpenCCM.utils.EclipseConfigChooser; 47 import org.omg.lifl.eclipse.plugin.project.OpenCCM.utils.OpenCCMConfigChooser; 48 import org.omg.lifl.eclipse.plugin.project.OpenCCM.utils.ProjectMessages; 49 import org.omg.lifl.eclipse.plugin.project.OpenCCM.utils.ValidatorProject; 50 import org.omg.lifl.eclipse.plugin.project.utils.AttributeManager; 51 52 56 public class ProjectCreationWizardPage 57 extends WizardPage 58 implements ValidatorProject { 59 60 private DirectoryDialog fd1; 61 private IStatus fCurrStatus; 62 private boolean fPageVisible; 63 private AttributeManager attributeManager; 64 65 private ProjectChooser projectChooser; 66 private CVSsrcFSChooser cvsFSchooser; 67 private OpenCCMConfigChooser openccmConfigChooser; 68 private EclipseConfigChooser eclipseConfigChooser; 69 70 74 public ProjectCreationWizardPage( 75 int pageNumber, 76 IConfigurationElement elem) { 77 super("page" + pageNumber); 78 fCurrStatus = createStatus(IStatus.OK, ""); 79 attributeManager = new AttributeManager(elem); 80 81 setTitle(attributeManager.getAttribute("pagetitle")); 82 setDescription(attributeManager.getAttribute("pagedescription")); 83 84 projectChooser = new ProjectChooser(elem); 85 cvsFSchooser = new CVSsrcFSChooser(elem); 86 openccmConfigChooser = new OpenCCMConfigChooser(elem); 87 eclipseConfigChooser = new EclipseConfigChooser(elem); 88 89 } 90 91 95 private static IStatus createStatus(int severity, String message) { 96 return new Status( 97 severity, 98 MainPlugin.getPluginId(), 99 severity, 100 message, 101 null); 102 103 } 104 105 108 public void createControl(Composite parent) { 109 Composite composite = new Composite(parent, SWT.NONE); 110 RowLayout gd2 = new RowLayout(SWT.VERTICAL); 111 composite.setLayout(gd2); 112 113 projectChooser.viewToSetOpenCCMProjectName(composite,this); 115 116 cvsFSchooser.viewToSetCVSsrcFS(composite); 118 119 openccmConfigChooser.viewToSetCCMConfig(composite); 121 122 eclipseConfigChooser.viewToSetEclipseConfig(composite); 124 125 setControl(composite); 126 } 127 128 131 public void validateTextProjectName(String text) { 132 IWorkspace workspace = ResourcesPlugin.getWorkspace(); 133 IStatus status = workspace.validateName(text, IResource.PROJECT); 134 if (status.isOK()) { 135 if (workspace.getRoot().getProject(text).exists()) { 136 status = 137 createStatus( 138 IStatus.ERROR, 139 ProjectMessages.getString( 140 "ProjectCreationWizardPage.error.alreadyexists")); 141 } 142 } 143 updateStatus(status); 144 145 projectChooser.set_ProjectName(text); 146 147 } 148 149 153 private void updateStatus(IStatus status) { 154 fCurrStatus = status; 155 setPageComplete(!status.matches(IStatus.ERROR)); 156 if (fPageVisible) { 157 applyToStatusLine(this, status); 158 } 159 } 160 161 166 private static void applyToStatusLine(DialogPage page, IStatus status) { 167 String errorMessage = null; 168 String warningMessage = null; 169 String statusMessage = status.getMessage(); 170 if (statusMessage.length() > 0) { 171 if (status.matches(IStatus.ERROR)) { 172 errorMessage = statusMessage; 173 } else if (!status.isOK()) { 174 warningMessage = statusMessage; 175 } 176 } 177 page.setErrorMessage(errorMessage); 178 page.setMessage(warningMessage); 179 } 180 181 184 public void setVisible(boolean visible) { 185 super.setVisible(visible); 186 fPageVisible = visible; 187 if (visible && fCurrStatus.matches(IStatus.ERROR)) { 189 fCurrStatus = createStatus(IStatus.ERROR, ""); 191 } 192 updateStatus(fCurrStatus); 193 } 194 195 198 public String getName() { 199 return projectChooser.get_ProjectName(); 200 } 201 202 205 public CVSsrcFSChooser getCvsFSchooser() { 206 return cvsFSchooser; 207 } 208 209 212 public void setCvsFSchooser(CVSsrcFSChooser chooser) { 213 cvsFSchooser = chooser; 214 } 215 216 219 public OpenCCMConfigChooser getOpenccmConfigChooser() { 220 return openccmConfigChooser; 221 } 222 223 226 public void setOpenccmConfigChooser(OpenCCMConfigChooser chooser) { 227 openccmConfigChooser = chooser; 228 } 229 230 233 public AttributeManager getAttributeManager() { 234 return attributeManager; 235 } 236 237 240 public void setAttributeManager(AttributeManager manager) { 241 attributeManager = manager; 242 } 243 244 247 public ProjectChooser getProjectChooser() { 248 return projectChooser; 249 } 250 251 254 public void setProjectChooser(ProjectChooser chooser) { 255 projectChooser = chooser; 256 } 257 258 261 public EclipseConfigChooser getEclipseConfigChooser() { 262 return eclipseConfigChooser; 263 } 264 265 268 public void setEclipseConfigChooser(EclipseConfigChooser chooser) { 269 eclipseConfigChooser = chooser; 270 } 271 272 } 273 | Popular Tags |