Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-patch] Fixes for bugzilla 44451 and 44841 on 1.2 Stream

Hi All,
This is a low-risk patch and it will make the user experience with managed 
build a bit better in the 1.2 release, so I have tested it against the 1.2 
stream. This patch should be applied to the 1.2 branch, not the head. I 
have run all regression tests on Windows and Linux.

Sean Evoy
Rational Software - IBM Software Group
Ottawa, Ontario, Canada
Index: .classpath
===================================================================
RCS file: /home/tools/org.eclipse.cdt.managedbuilder.ui/.classpath,v
retrieving revision 1.1
diff -u -r1.1 .classpath
--- .classpath	15 Sep 2003 20:44:43 -0000	1.1
+++ .classpath	13 Nov 2003 16:29:57 -0000
@@ -8,10 +8,10 @@
     <classpathentry kind="src" path="/org.eclipse.cdt.core.qnx"/>
     <classpathentry kind="src" path="/org.eclipse.cdt.core.solaris"/>
     <classpathentry kind="src" path="/org.eclipse.cdt.core.win32"/>
-    <classpathentry kind="src" path="/org.eclipse.cdt.ui"/>
     <classpathentry kind="src" path="/org.eclipse.cdt.managedbuilder.core"/>
     <classpathentry kind="src" path="/org.eclipse.core.boot"/>
     <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
     <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+    <classpathentry kind="src" path="/org.eclipse.cdt.ui"/>
     <classpathentry kind="output" path="bin"/>
 </classpath>
Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.managedbuilder.ui/ChangeLog,v
retrieving revision 1.8
diff -u -r1.8 ChangeLog
--- ChangeLog	1 Oct 2003 23:56:26 -0000	1.8
+++ ChangeLog	13 Nov 2003 16:29:57 -0000
@@ -1,3 +1,31 @@
+2003-11-13 Sean Evoy
+	Work to implement bugzilla 44841:
+	Added a scrollbar to the list control inside the custom list field editor. 
+	Also added an Edit button to the field editor to make it easier for 
+	keyboard-only accessibility.
+
+	Work for bugzilla 44451:
+	Changed the method that prompts user for information so that if the 
+	user cancels with an empty input dialog, the method always returns an 
+	empty string. The responsibility now rests with the caller to test the 
+	return value for length > 0 to decide whether or not to add string to 
+	the list.
+	* src/org/eclipse/cdt/managedbuilder/ui/properties/BuildOptionListFieldEditor.java
+
+	Moved string constants from core UI plugin to build UI plugin. These values 
+	are duplicated in the standadrd make UI plugin anyway, so the argument for 
+	keeping them in a common plugin seems pretty weak. This removes another 
+	dependency between the builder UI and common UI plugin. I did have to change 
+	the string resource lookup method in a few of the UI implementation classes 
+	that use the constants.
+	* src/org/eclipse/cdt/managedbuilder/internal/ui/PluginResources.properties
+	* src/org/eclipse/cdt/managedbuilder/ui/properties/BrowseEntryDialog.java
+	* src/org/eclipse/cdt/managedbuilder/ui/properties/BuildToolSettingsPage.java
+	* src/org/eclipse/cdt/managedbuilder/ui/properties/ManageConfigDialog.java
+
+	Also propagated the fix for -werror to this stream
+	* plugin.xml
+
 2003-10-01 Sean Evoy
 	Fix for bugs 43490 (trivial), 44020, and 43980.
 	A massive change has occurred in the plugin file. I added new C tools that apply 
Index: plugin.xml
===================================================================
RCS file: /home/tools/org.eclipse.cdt.managedbuilder.ui/plugin.xml,v
retrieving revision 1.10
diff -u -r1.10 plugin.xml
--- plugin.xml	1 Oct 2003 23:56:26 -0000	1.10
+++ plugin.xml	13 Nov 2003 16:29:59 -0000
@@ -302,7 +302,6 @@
                </enumeratedOptionValue>
             </option>
             <option
-                  defaultValue="-gstabs"
                   name="Other debugging flags"
                   category="cygwin.gnu.c.compiler.category.debug"
                   valueType="string"
@@ -371,9 +370,9 @@
             </option>
             <option
                   defaultValue="false"
-                  name="Warnings as errors (-werror)"
+                  name="Warnings as errors (-Werror)"
                   category="cygwin.c.compiler.category.warnings"
-                  command="-werror"
+                  command="-Werror"
                   valueType="boolean"
                   id="cygwin.gnu.c.compiler.warnings.toerrors">
             </option>
@@ -632,7 +631,6 @@
                </enumeratedOptionValue>
             </option>
             <option
-                  defaultValue="-gstabs"
                   name="Other debugging flags"
                   category="cygwin.gnu.compiler.category.debug"
                   valueType="string"
@@ -701,9 +699,9 @@
             </option>
             <option
                   defaultValue="false"
-                  name="Warnings as errors (-werror)"
+                  name="Warnings as errors (-Werror)"
                   category="cygwin.compiler.category.warnings"
-                  command="-werror"
+                  command="-Werror"
                   valueType="boolean"
                   id="cygwin.gnu.compiler.warnings.toerrors">
             </option>
@@ -1670,9 +1668,9 @@
             </option>
             <option
                   defaultValue="false"
-                  name="Warnings as errors (-werror)"
+                  name="Warnings as errors (-Werror)"
                   category="linux.c.compiler.category.warnings"
-                  command="-werror"
+                  command="-Werror"
                   valueType="boolean"
                   id="linux.gnu.c.compiler.warnings.toerrors">
             </option>
@@ -1969,9 +1967,9 @@
             </option>
             <option
                   defaultValue="false"
-                  name="Warnings as errors (-werror)"
+                  name="Warnings as errors (-Werror)"
                   category="linux.gnu.compiler.category.warnings"
-                  command="-werror"
+                  command="-Werror"
                   valueType="boolean"
                   id="linux.gnu.compiler.warnings.toerrors">
             </option>
@@ -2846,9 +2844,9 @@
             </option>
             <option
                   defaultValue="false"
-                  name="Warnings as errors (-werror)"
+                  name="Warnings as errors (-Werror)"
                   category="solaris.c.compiler.category.warnings"
-                  command="-werror"
+                  command="-Werror"
                   valueType="boolean"
                   id="solaris.gnu.c.compiler.warnings.toerrors">
             </option>
@@ -3130,9 +3128,9 @@
             </option>
             <option
                   defaultValue="false"
-                  name="Warnings as errors (-werror)"
+                  name="Warnings as errors (-Werror)"
                   category="solaris.gnu.compiler.category.warnings"
-                  command="-werror"
+                  command="-Werror"
                   valueType="boolean"
                   id="solaris.gnu.compiler.warnings.toerrors">
             </option>
Index: src/org/eclipse/cdt/managedbuilder/internal/ui/PluginResources.properties
===================================================================
RCS file: /home/tools/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/PluginResources.properties,v
retrieving revision 1.4
diff -u -r1.4 PluginResources.properties
--- src/org/eclipse/cdt/managedbuilder/internal/ui/PluginResources.properties	26 Sep 2003 19:54:33 -0000	1.4
+++ src/org/eclipse/cdt/managedbuilder/internal/ui/PluginResources.properties	13 Nov 2003 16:30:00 -0000
@@ -64,4 +64,16 @@
 ManageConfig.label.restore=Restore
 ManageConfig.label.configs.current=Current:
 ManageConfig.label.configs.deleted=Deleted:
-ManageConfig.label.new.config.dialog=Create
\ No newline at end of file
+ManageConfig.label.new.config.dialog=Create
+
+# ----------- Build Property Common -----------
+BuildPropertyCommon.label.title=Enter Value
+BuildPropertyCommon.label.new=New...
+BuildPropertyCommon.label.remove=Remove
+BuildPropertyCommon.label.up=Move Up
+BuildPropertyCommon.label.down=Move Down
+BuildPropertyCommon.label.editVar=Edit...
+BuildPropertyCommon.label.addVar=Add
+BuildPropertyCommon.label.message=Value:
+BuildPropertyCommon.label.browse=Browse...
+BuildPropertyCommon.label.configs=Defined configurations:
Index: src/org/eclipse/cdt/managedbuilder/ui/properties/BrowseEntryDialog.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BrowseEntryDialog.java,v
retrieving revision 1.1
diff -u -r1.1 BrowseEntryDialog.java
--- src/org/eclipse/cdt/managedbuilder/ui/properties/BrowseEntryDialog.java	15 Sep 2003 20:44:42 -0000	1.1
+++ src/org/eclipse/cdt/managedbuilder/ui/properties/BrowseEntryDialog.java	13 Nov 2003 16:30:00 -0000
@@ -11,7 +11,7 @@
  * IBM Rational Software - Initial API and implementation
  * **********************************************************************/
 
-import org.eclipse.cdt.ui.CUIPlugin;
+import org.eclipse.cdt.managedbuilder.internal.ui.ManagedBuilderUIPlugin;
 import org.eclipse.cdt.utils.ui.controls.ControlFactory;
 import org.eclipse.jface.dialogs.Dialog;
 import org.eclipse.jface.dialogs.IDialogConstants;
@@ -131,7 +131,7 @@
 		});
 		
 		// Instantiate the browse button
-		btnBrowse = ControlFactory.createPushButton(composite, CUIPlugin.getResourceString(BROWSE));
+		btnBrowse = ControlFactory.createPushButton(composite, ManagedBuilderUIPlugin.getResourceString(BROWSE));
 		setButtonLayoutData(btnBrowse);
 		btnBrowse.addSelectionListener(new SelectionAdapter () {
 			public void widgetSelected(SelectionEvent e) {
Index: src/org/eclipse/cdt/managedbuilder/ui/properties/BuildOptionListFieldEditor.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuildOptionListFieldEditor.java,v
retrieving revision 1.3
diff -u -r1.3 BuildOptionListFieldEditor.java
--- src/org/eclipse/cdt/managedbuilder/ui/properties/BuildOptionListFieldEditor.java	22 Sep 2003 02:31:53 -0000	1.3
+++ src/org/eclipse/cdt/managedbuilder/ui/properties/BuildOptionListFieldEditor.java	13 Nov 2003 16:30:00 -0000
@@ -11,7 +11,7 @@
  * IBM Rational Software - Initial API and implementation
  * **********************************************************************/
 
-import org.eclipse.cdt.ui.CUIPlugin;
+import org.eclipse.cdt.managedbuilder.internal.ui.ManagedBuilderUIPlugin;
 import org.eclipse.cdt.utils.ui.controls.ControlFactory;
 import org.eclipse.jface.dialogs.IDialogConstants;
 import org.eclipse.jface.dialogs.InputDialog;
@@ -41,6 +41,7 @@
 	private static final String REMOVE = "BuildPropertyCommon.label.remove"; //$NON-NLS-1$
 	private static final String UP = "BuildPropertyCommon.label.up"; //$NON-NLS-1$
 	private static final String DOWN = "BuildPropertyCommon.label.down"; //$NON-NLS-1$
+	private static final String EDIT = "BuildPropertyCommon.label.editVar"; //$NON-NLS-1$
 
 	// UI constants
 	private static final int VERTICAL_DIALOG_UNITS_PER_CHAR = 8;
@@ -62,6 +63,8 @@
 
 	// The button for adding the contents of the text field to the list
 	private Button addButton;
+	// The button for editting the contents of a list item
+	private Button editButton;
 	// The button for removing the currently-selected list item.
 	private Button removeButton;
 	// The button for swapping the currently selected item up
@@ -88,7 +91,7 @@
 		String input = getNewInputObject();
 		
 		// Add it to the list
-		if (input != null) {
+		if (input != null && input.length() > 0) {
 			int index = list.getSelectionIndex();
 			if (index >= 0) {
 				list.add(input, index + 1);
@@ -115,10 +118,11 @@
 	 * @param container the box for the buttons
 	 */
 	private void createButtons(Composite container) {
-		addButton = createPushButton(container, CUIPlugin.getResourceString(NEW));
-		removeButton = createPushButton(container, CUIPlugin.getResourceString(REMOVE));
-		upButton = createPushButton(container, CUIPlugin.getResourceString(UP));
-		downButton = createPushButton(container, CUIPlugin.getResourceString(DOWN));
+		addButton = createPushButton(container, ManagedBuilderUIPlugin.getResourceString(NEW));
+		editButton = createPushButton(container, ManagedBuilderUIPlugin.getResourceString(EDIT));
+		removeButton = createPushButton(container, ManagedBuilderUIPlugin.getResourceString(REMOVE));
+		upButton = createPushButton(container, ManagedBuilderUIPlugin.getResourceString(UP));
+		downButton = createPushButton(container, ManagedBuilderUIPlugin.getResourceString(DOWN));
 	}
 
 	/**
@@ -166,7 +170,7 @@
 		controlGroup.setLayoutData(groupData);
 
 		// Make the list
-		list = new List(controlGroup, SWT.BORDER);
+		list = new List(controlGroup, SWT.SINGLE|SWT.H_SCROLL|SWT.V_SCROLL|SWT.BORDER);
 	
 		// Create a grid data that takes up the extra space in the dialog and spans one column.
 		GridData listData = new GridData(GridData.FILL_HORIZONTAL);
@@ -209,6 +213,7 @@
 		buttonGroup.addDisposeListener(new DisposeListener() {
 			public void widgetDisposed(DisposeEvent event) {
 				addButton = null;
+				editButton = null;
 				removeButton = null;
 				upButton = null;
 				downButton = null;
@@ -217,7 +222,6 @@
 	
 		// Create the buttons
 		createButtons(buttonGroup);
-		selectionChanged();
 	}
 
 	/* (non-Javadoc)
@@ -231,19 +235,17 @@
 				Widget widget = event.widget;
 				if (widget == addButton) {
 					addPressed();
-				} else
-					if (widget == removeButton) {
-						removePressed();
-					} else
-						if (widget == upButton) {
-							upPressed();
-						} else
-							if (widget == downButton) {
-								downPressed();
-							} else
-								if (widget == list) {
-									selectionChanged();
-								}
+				} else if (widget == editButton) {
+					editPressed(); 
+				} else if (widget == removeButton) {
+					removePressed();
+				} else if (widget == upButton) {
+					upPressed();
+				} else if (widget == downButton) {
+					downPressed();
+				} else if (widget == list) {
+					selectionChanged();
+				}
 			}
 		};
 	}
@@ -258,7 +260,14 @@
 	}
 
 	/* (non-Javadoc)
-	 * 
+	 * Event handler for the edit button
+	 */
+	protected void editPressed() {
+		editSelection();
+	}
+
+	/* (non-Javadoc)
+	 * Pops up a dialog with the selection highlighted and ready to edit
 	 */
 	protected void editSelection() {
 		// Edit the selection index
@@ -266,7 +275,7 @@
 		if (index != -1) {
 			String selItem = list.getItem(index);
 			if (selItem != null) {
-				InputDialog dialog = new InputDialog(getShell(), CUIPlugin.getResourceString(TITLE), fieldName, selItem, null);
+				InputDialog dialog = new InputDialog(getShell(), ManagedBuilderUIPlugin.getResourceString(TITLE), fieldName, selItem, null);
 				String newItem = null;
 				if (dialog.open() == InputDialog.OK) {
 					newItem = dialog.getValue();
@@ -290,6 +299,7 @@
 				list.add(array[i]);
 			}
 			list.setSelection(0);
+			selectionChanged();
 		}
 	}
 
@@ -304,6 +314,8 @@
 			for (int i = 0; i < array.length; i++){
 				list.add(array[i]);
 			}
+			list.setSelection(0);
+			selectionChanged();
 		}
 	}
 
@@ -318,12 +330,12 @@
 
 	protected String getNewInputObject() {
 		// Create a dialog to prompt for a new symbol or path
-		InputDialog dialog = new InputDialog(getShell(), CUIPlugin.getResourceString(TITLE), fieldName, new String(), null);
-		String input = null;
+		InputDialog dialog = new InputDialog(getShell(), ManagedBuilderUIPlugin.getResourceString(TITLE), fieldName, new String(), null);
+		String input = new String();
 		if (dialog.open() == InputDialog.OK) {
 			input = dialog.getValue();
 		}
-		return input.length() == 0 ? null : input;
+		return input;
 	}
 
 	/* (non-Javadoc)
@@ -375,7 +387,7 @@
 		int index = list.getSelectionIndex();
 		if (index >= 0) {
 			list.remove(index);
-			list.setSelection(index - 1);
+			list.setSelection(index - 1 > 0 ? index - 1 : 0);
 			selectionChanged();
 		}
 	}
@@ -388,6 +400,8 @@
 		int index = list.getSelectionIndex();
 		int size = list.getItemCount();
 
+		// Enable the edit button if there is at least one item in the list
+		editButton.setEnabled(size > 0);
 		// Enable the remove button if there is at least one item in the list
 		removeButton.setEnabled(size > 0);
 		// Enable the up button IFF there is more than 1 item and selection index is not first item
Index: src/org/eclipse/cdt/managedbuilder/ui/properties/ManageConfigDialog.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/ManageConfigDialog.java,v
retrieving revision 1.2
diff -u -r1.2 ManageConfigDialog.java
--- src/org/eclipse/cdt/managedbuilder/ui/properties/ManageConfigDialog.java	24 Sep 2003 14:20:49 -0000	1.2
+++ src/org/eclipse/cdt/managedbuilder/ui/properties/ManageConfigDialog.java	13 Nov 2003 16:30:00 -0000
@@ -19,7 +19,6 @@
 import org.eclipse.cdt.managedbuilder.core.ITarget;
 import org.eclipse.cdt.managedbuilder.core.ManagedBuildManager;
 import org.eclipse.cdt.managedbuilder.internal.ui.ManagedBuilderUIPlugin;
-import org.eclipse.cdt.ui.CUIPlugin;
 import org.eclipse.cdt.utils.ui.controls.ControlFactory;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.jface.dialogs.Dialog;
@@ -218,7 +217,7 @@
 		Composite buttonBar = ControlFactory.createComposite(configListGroup, 1);
 		buttonBar.setLayoutData(new GridData());
 
-		newBtn = ControlFactory.createPushButton(buttonBar, CUIPlugin.getResourceString(NEW));
+		newBtn = ControlFactory.createPushButton(buttonBar, ManagedBuilderUIPlugin.getResourceString(NEW));
 		setButtonLayoutData(newBtn);
 		newBtn.addSelectionListener(new SelectionAdapter () {
 			public void widgetSelected(SelectionEvent e) {
@@ -230,7 +229,7 @@
 				newBtn = null;				
 			}
 		});
-		removeBtn = ControlFactory.createPushButton(buttonBar, CUIPlugin.getResourceString(REMOVE));
+		removeBtn = ControlFactory.createPushButton(buttonBar, ManagedBuilderUIPlugin.getResourceString(REMOVE));
 		setButtonLayoutData(removeBtn);
 		removeBtn.addSelectionListener(new SelectionAdapter () {
 			public void widgetSelected(SelectionEvent e) {
Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/ChangeLog,v
retrieving revision 1.203.2.6
diff -u -r1.203.2.6 ChangeLog
--- ChangeLog	11 Nov 2003 18:28:20 -0000	1.203.2.6
+++ ChangeLog	13 Nov 2003 16:31:14 -0000
@@ -1,3 +1,12 @@
+2003-11-13 Sean Evoy
+	There is a duplicate set of string resources in the standard and managed make
+	UI plugins, so there is little need to keep these resources in the common UI 
+	plugin if the managed builder is the only one using them. Moving them also 
+	reduces the dependencies between the builder UI and the core UI packages. The 
+	managed builder UI is the only client of these strings, so there should be no  
+	impact.
+	* src/org/eclipse/cdt/internal/ui/CPluginResources.properties
+
 2003-11-10 Bogdan Gheorghe
 	fix bug 45688: must highlight keyword  to use "Open Declarations" or  "Add Include"
 	
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.26
diff -u -r1.26 CPluginResources.properties
--- src/org/eclipse/cdt/internal/ui/CPluginResources.properties	1 Oct 2003 20:27:12 -0000	1.26
+++ src/org/eclipse/cdt/internal/ui/CPluginResources.properties	13 Nov 2003 16:31:15 -0000
@@ -331,14 +331,3 @@
 # ------- Drag and Drop Message Text -----------
 CViewDragNDrop.txt = already exists. Would you like to overwrite it?
 
-# ----------- Build Property Common -----------
-BuildPropertyCommon.label.title=Enter Value
-BuildPropertyCommon.label.new=New...
-BuildPropertyCommon.label.remove=Remove
-BuildPropertyCommon.label.up=Move Up
-BuildPropertyCommon.label.down=Move Down
-BuildPropertyCommon.label.editVar=Edit
-BuildPropertyCommon.label.addVar=Add
-BuildPropertyCommon.label.message=Value:
-BuildPropertyCommon.label.browse=Browse...
-BuildPropertyCommon.label.configs=Defined configurations:

Back to the top