Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-patch] CProjectWizare.isValidName()

Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/ChangeLog,v
retrieving revision 1.18
diff -u -r1.18 ChangeLog
--- ChangeLog	13 Nov 2002 13:19:12 -0000	1.18
+++ ChangeLog	13 Nov 2002 16:41:51 -0000
@@ -1,3 +1,12 @@
+2002-11-13 Alain Magloire
+
+	* src/.../wizards/CProjectWizard.java (isValidName):
+	New method to give a change to the wizard to check
+	the validity of a project name.
+	* src/.../wizard/CProjectWizardPage.java (CProjectWizardPage):
+	Takes new argument, the CProjectWizard.
+	(validatePage): calls isValidName() to check if name is valid.
+
 2002-11-13 David Inglis	
 	
 	* plugin.properties
Index: src/org/eclipse/cdt/ui/wizards/CProjectWizard.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/CProjectWizard.java,v
retrieving revision 1.5
diff -u -r1.5 CProjectWizard.java
--- src/org/eclipse/cdt/ui/wizards/CProjectWizard.java	29 Oct 2002 21:40:58 -0000	1.5
+++ src/org/eclipse/cdt/ui/wizards/CProjectWizard.java	13 Nov 2002 16:41:51 -0000
@@ -9,6 +9,10 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import org.eclipse.cdt.core.CCorePlugin;
+import org.eclipse.cdt.internal.ui.CPluginImages;
+import org.eclipse.cdt.ui.CUIPlugin;
+import org.eclipse.cdt.utils.ui.swt.IValidation;
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IProjectDescription;
@@ -23,6 +27,7 @@
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.core.runtime.SubProgressMonitor;
 import org.eclipse.jface.dialogs.ErrorDialog;
 import org.eclipse.jface.dialogs.MessageDialog;
@@ -38,11 +43,6 @@
 import org.eclipse.ui.wizards.newresource.BasicNewProjectResourceWizard;
 import org.eclipse.ui.wizards.newresource.BasicNewResourceWizard;
 
-import org.eclipse.cdt.core.CCorePlugin;
-import org.eclipse.cdt.internal.ui.CPluginImages;
-import org.eclipse.cdt.ui.CUIPlugin;
-import org.eclipse.cdt.utils.ui.swt.IValidation;
-
 
 /**
  * C Project wizard that creates a new project resource in
@@ -92,7 +92,7 @@
 	 * @see Wizard#createPages
 	 */		
 	public void addPages() {
-		fMainPage= new CProjectWizardPage(CUIPlugin.getResourceString(PREFIX));
+		fMainPage= new CProjectWizardPage(this, CUIPlugin.getResourceString(PREFIX));
 		fMainPage.setTitle(wz_title);
 		fMainPage.setDescription(wz_desc);
 		addPage(fMainPage);
@@ -114,6 +114,10 @@
 	protected abstract void doRunPrologue(IProgressMonitor monitor);
 
 	protected abstract void doRunEpilogue(IProgressMonitor monitor);
+
+	protected IStatus isValidName(String name) {
+		return new Status(IStatus.OK, CUIPlugin.PLUGIN_ID, 0, "", null);
+	}
 
 	/**
 	 * Gets the project location path from the main page
Index: src/org/eclipse/cdt/ui/wizards/CProjectWizardPage.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/CProjectWizardPage.java,v
retrieving revision 1.6
diff -u -r1.6 CProjectWizardPage.java
--- src/org/eclipse/cdt/ui/wizards/CProjectWizardPage.java	6 Nov 2002 20:37:04 -0000	1.6
+++ src/org/eclipse/cdt/ui/wizards/CProjectWizardPage.java	13 Nov 2002 16:41:51 -0000
@@ -60,6 +60,7 @@
 	protected Text locationPathField;
 	protected Label locationLabel;
 	protected Button browseButton;
+	protected CProjectWizard wizard;
 
 	private Listener nameModifyListener = new Listener() {
 		public void handleEvent(Event e) {
@@ -271,10 +272,11 @@
 	 *
 	 * @param pageName the name of this page
 	 */
-	public CProjectWizardPage(String pageName) {
+	public CProjectWizardPage(CProjectWizard wizard, String pageName) {
 		super(pageName);
 		setPageComplete(false);
 		this.initialLocationFieldValue = Platform.getLocation();
+		this.wizard = wizard;
 	}
 
 	/**
@@ -304,6 +306,13 @@
 			return false;
 		}
 
+		// Give a chance to the wizard to do its own validation
+		IStatus validName = wizard.isValidName(projectFieldContents);
+		if (!validName.isOK()) {
+			setErrorMessage(validName.getMessage());
+			return false;		
+		}
+		
 		IStatus nameStatus =
 			workspace.validateName(projectFieldContents, IResource.PROJECT);
 		if (!nameStatus.isOK()) {



Back to the top