[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Applied Re: [cdt-patch] Adding Error Parsers to Managed Build Projects (part un)
|
Hoda Amer
Staff Software Engineer
Rational Software - IBM Software Group
Sean Evoy/Ottawa/IBM@IBMCA
Sent by: cdt-patch-admin@xxxxxxxxxxx
04/22/2004 11:57 AM
Please respond to
cdt-patch |
|
To
| cdt-patch@xxxxxxxxxxx
|
cc
|
|
Subject
| [cdt-patch] Adding Error
Parsers to Managed Build Projects (part un) |
|
Hi All,
This is the first part of the patch supplied by Leo at Intel to add error
parsers to a managed build project, and to manipulate the list of error
parsers that apply to a project. There are two components of this patcht
hat I do not have permission to commit.
The first contains a small change to the error parser dialog used in the
new project wizard and property pages. The new behaviour is to continue
to support getting and saving the error parser IDs from the preferences
for a standard build project, but for managed projects, there is now a
capacity to supply a method in an overridden implementation of the dialog
that supplies an array of parser IDs or saves it as needed. It looks liek
Leo also fixed a couple of old javadoc comments that were out of date.
Now that's a thorough patch!
Sean Evoy
Rational Software - IBM Software Group
Ottawa, Ontario, Canada
Index: src/org/eclipse/cdt/internal/ui/CPluginResources.properties
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CPluginResources.properties,v
retrieving revision 1.29
diff -u -r1.29 CPluginResources.properties
--- src/org/eclipse/cdt/internal/ui/CPluginResources.properties 12 Mar 2004 16:07:50 -0000 1.29
+++ src/org/eclipse/cdt/internal/ui/CPluginResources.properties 22 Apr 2004 15:47:40 -0000
@@ -38,7 +38,7 @@
# ------- Project/Prefernces/Wizards COnfiguration blocks -------
ErrorParserBlock.label=Error Parsers
-ErrorParserBlock.desc=Set the error parser for this project
+ErrorParserBlock.desc=Set the error parsers for this project
BinaryParserBlock.label=Binary Parser
BinaryParserBlock.desc=Set required binary parser for this project
Index: src/org/eclipse/cdt/ui/dialogs/AbstractErrorParserBlock.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/dialogs/AbstractErrorParserBlock.java,v
retrieving revision 1.5
diff -u -r1.5 AbstractErrorParserBlock.java
--- src/org/eclipse/cdt/ui/dialogs/AbstractErrorParserBlock.java 26 Feb 2004 19:30:35 -0000 1.5
+++ src/org/eclipse/cdt/ui/dialogs/AbstractErrorParserBlock.java 22 Apr 2004 15:47:40 -0000
@@ -73,6 +73,11 @@
return null;
}
+ public void updateValues() {
+ fErrorParserList.removeAllElements();
+ setValues();
+ }
+
/**
* Returns a label provider for the error parsers
*
@@ -111,11 +116,20 @@
/**
* To be implemented, abstract method.
* @param project
- * @param list
+ * @return String[]
*/
protected abstract String[] getErrorParserIDs(IProject project);
/**
+ * To be overloaded by subclasses with another method of getting the error parsers.
+ * For example, the managed builder new project wizard uses the selected Target.
+ * @return String[]
+ */
+ protected String[] getErrorParserIDs() {
+ return new String[0];
+ }
+
+ /**
* To be implemented. abstract method.
* @param project
* @param parsers
@@ -143,12 +157,19 @@
protected void initializeValues() {
initMapParsers();
+ setValues();
+ }
+ protected void setValues() {
String[] parserIDs;
IProject project = getContainer().getProject();
if (project == null) {
- // From a Preference.
- parserIDs =getErrorParserIDs(fPrefs);
+ if (fPrefs != null) {
+ // From a Preference.
+ parserIDs = getErrorParserIDs(fPrefs);
+ } else {
+ parserIDs = getErrorParserIDs();
+ }
} else {
// From the Project.
parserIDs = getErrorParserIDs(project);
@@ -227,6 +248,7 @@
String[] parserIDs = (String[])list.toArray(EMPTY);
if (project == null) {
+ // Save to preferences
saveErrorParsers(fPrefs, parserIDs);
} else {
saveErrorParsers(project, parserIDs);