[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[cdt-patch] Fixes to the Conversion wizards and supporting classes. part 2 CD T
|
cvs diff -N -u "ChangeLog"
Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/ChangeLog,v
retrieving revision 1.20
diff -u -r1.20 ChangeLog
--- ChangeLog 13 Nov 2002 18:50:41 -0000 1.20
+++ ChangeLog 13 Nov 2002 20:37:12 -0000
@@ -1,3 +1,38 @@
+2002-11-13 Judy N. Green
+ */home/tools/org.eclipse.cdt.ui/plugin.properties
+ */home/tools/org.eclipse.cdt.ui/plugin.xml
+ updated labels & wizards to use combined conversion wizard
+
+ *src/org/eclipse/cdt/internal/ui/CPluginResources.properties
+ updated labels
+
+ *src/org/eclipse/cdt/ui/wizards/StdMakeProjectWizard.java
+ No longer add builder in run method. it is being added in enough
other places
+
+ *src/org/eclipse/cdt/ui/wizards/conversion/ConversionWizard.java
+ updated reference to call combined conversion page
+
+
*src/org/eclipse/cdt/ui/wizards/conversion/ConvertProjectWizardPage.java
+ Moved common c/c== conversion methods up to this shared class
+
+
+ Added:
+
*src/org/eclipse/cdt/ui/wizards/conversion/ConvertToStdMakeConversionWizard.
java
+
*src/org/eclipse/cdt/ui/wizards/conversion/ConvertToStdMakeProjectWizardPage
.java
+ Combined the C/C++ conversion wizards to this class
+
+ Removed:
+
*src/org/eclipse/cdt/ui/wizards/conversion/ConvertSimpleToCCStdMakeProjectWi
zardPage.java
+
*src/org/eclipse/cdt/ui/wizards/conversion/ConvertCtoCCStdMakeProjectWizardP
age.java
+
*src/org/eclipse/cdt/ui/wizards/conversion/ConvertSimpleToCStdMakeProjectWiz
ardPage.java
+
*src/org/eclipse/cdt/ui/wizards/conversion/CtoCCConversionWizard.java
+
*src/org/eclipse/cdt/ui/wizards/conversion/SimpleToCCStdMakeConversionWizard
.java
+
+
+
+
+
+
2002-11-13 Alain Magloire
* src/.../internal/ui/editor/ProblemPainter.java (hasProblem):
Index: src/org/eclipse/cdt/core/CCProjectNature.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/src/org/eclipse/cdt/core/CCProjectNature.java,v
retrieving revision 1.3
diff -u -r1.3 CCProjectNature.java
--- src/org/eclipse/cdt/core/CCProjectNature.java 30 Oct 2002 19:55:36 -0000 1.3
+++ src/org/eclipse/cdt/core/CCProjectNature.java 13 Nov 2002 18:26:55 -0000
@@ -8,6 +8,8 @@
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
@@ -22,5 +24,20 @@
public static void removeCCNature(IProject project, IProgressMonitor mon) throws CoreException {
removeNature(project, CC_NATURE_ID, mon);
}
+
+ /**
+ * Checks to ensure that a cnature already exists,
+ * if not throw a CoreException. Does NOT add a default builder
+ * @see IProjectNature#configure
+ */
+ public void configure() throws CoreException {
+ if (!getProject().hasNature(CProjectNature.C_NATURE_ID)){
+ IStatus status = new Status(IStatus.ERROR,
+ CCorePlugin.PLUGIN_ID,
+ CCorePlugin.CDT_PROJECT_NATURE_ID_MISMATCH,
+ "project must have a cnature", null); // $NON_NLS
+ throw new CoreException(status);
+ }
+ }
}
Index: src/org/eclipse/cdt/core/CCorePlugin.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/src/org/eclipse/cdt/core/CCorePlugin.java,v
retrieving revision 1.6
diff -u -r1.6 CCorePlugin.java
--- src/org/eclipse/cdt/core/CCorePlugin.java 26 Sep 2002 17:21:39 -0000 1.6
+++ src/org/eclipse/cdt/core/CCorePlugin.java 13 Nov 2002 18:26:55 -0000
@@ -36,6 +36,7 @@
public static final int STATUS_CDTPROJECT_EXISTS = 1;
public static final int STATUS_CDTPROJECT_MISMATCH = 2;
+ public static final int CDT_PROJECT_NATURE_ID_MISMATCH = 3;
public static final String PLUGIN_ID= "org.eclipse.cdt.core";
@@ -218,41 +219,19 @@
*
* @param projectHandle
* @param monitor
- * @param projectID
* @throws CoreException
*/
- public void convertProjectFromCtoCC(IProject projectHandle, IProgressMonitor monitor, String projectID)
+ public void convertProjectFromCtoCC(IProject projectHandle, IProgressMonitor monitor)
throws CoreException{
if ((projectHandle != null)
&& projectHandle.hasNature(CCProjectNature.C_NATURE_ID)
&& !projectHandle.hasNature(CCProjectNature.CC_NATURE_ID)) {
// Add C++ Nature ... does not add duplicates
CCProjectNature.addCCNature(projectHandle, monitor);
-
- if(projectID != null){
- mapCProjectOwner(projectHandle, projectID);
- }
}
}
- /**
- * Method convertProjectFromCtoCC converts
- * a C Project to a C++ Project
- * The newProject MUST, not be null, already have a C Nature
- * && must NOT already have a C++ Nature<br>
- * This method does not map the project to an owner and should only
- * be used when this mapping has already taken place.
- *
- * @param projectHandle
- * @param monitor
- * @throws CoreException
- */
-
- public void convertProjectFromCtoCC(IProject projectHandle, IProgressMonitor monitor)
- throws CoreException{
-
- convertProjectFromCtoCC(projectHandle, monitor, null);
- }
+
/**
* Method addDefaultCBuilder adds the default C make builder
* @param projectHandle
@@ -264,10 +243,10 @@
// Set the Default C Builder.
CProjectNature.addCBuildSpec(projectHandle, monitor);
}
-
+
/**
* Method to convert a project to a C nature
- * & default make builder
+ * & default make builder (Will always add a default builder)
* All checks should have been done externally
* (as in the Conversion Wizards).
* This method blindly does the conversion.
@@ -281,6 +260,26 @@
public void convertProjectToC(IProject projectHandle, IProgressMonitor monitor, String projectID)
throws CoreException{
+ this.convertProjectToC(projectHandle, monitor, projectID, true);
+
+ }
+ /**
+ * Method to convert a project to a C nature
+ * & default make builder (if indicated)
+ * All checks should have been done externally
+ * (as in the Conversion Wizards).
+ * This method blindly does the conversion.
+ *
+ * @param project
+ * @param String targetNature
+ * @param monitor
+ * @param projectID
+ * @param addMakeBuilder
+ * @exception CoreException
+ */
+
+ public void convertProjectToC(IProject projectHandle, IProgressMonitor monitor, String projectID, boolean addMakeBuilder)
+ throws CoreException{
if ((projectHandle == null) || (monitor == null) || (projectID == null)){
return;
}
@@ -288,20 +287,23 @@
IProjectDescription description = workspace.newProjectDescription(projectHandle.getName());
description.setLocation(projectHandle.getFullPath());
createCProject(description, projectHandle, monitor, projectID);
- addDefaultCBuilder(projectHandle, monitor);
+ if (addMakeBuilder) {
+ addDefaultCBuilder(projectHandle, monitor);
+ }
}
/**
* Method to convert a project to a C++ nature
- * & default make builder, if it does not have one already
+ * & default make builder(if indicated), if it does not have one already
*
* @param project
* @param String targetNature
* @param monitor
* @param projectID
+ * @param addMakeBuilder
* @exception CoreException
*/
- public void convertProjectToCC(IProject projectHandle, IProgressMonitor monitor, String projectID)
+ public void convertProjectToCC(IProject projectHandle, IProgressMonitor monitor, String projectID, boolean addMakeBuilder)
throws CoreException{
if ((projectHandle == null) || (monitor == null) || (projectID == null)){
return;
@@ -309,7 +311,25 @@
createCProject(projectHandle.getDescription(), projectHandle, monitor, projectID);
// now add C++ nature
convertProjectFromCtoCC(projectHandle, monitor);
- addDefaultCBuilder(projectHandle, monitor);
+ if (addMakeBuilder){
+ addDefaultCBuilder(projectHandle, monitor);
+ }
+ }
+ /**
+ * Method to convert a project to a C++ nature
+ * & default make builder,
+ * Note: Always adds the default Make builder
+ *
+ * @param project
+ * @param String targetNature
+ * @param monitor
+ * @param projectID
+ * @exception CoreException
+ */
+
+ public void convertProjectToCC(IProject projectHandle, IProgressMonitor monitor, String projectID)
+ throws CoreException{
+ this.convertProjectToCC(projectHandle, monitor, projectID, true);
}
public ICBuilder[] getBuilders(IProject project) throws CoreException {