diff --git a/build/org.eclipse.cdt.managedbuilder.ui/.classpath b/build/org.eclipse.cdt.managedbuilder.ui/.classpath
index 35da7f95d3a..9090477e799 100644
--- a/build/org.eclipse.cdt.managedbuilder.ui/.classpath
+++ b/build/org.eclipse.cdt.managedbuilder.ui/.classpath
@@ -8,10 +8,10 @@
-
+
diff --git a/build/org.eclipse.cdt.managedbuilder.ui/ChangeLog b/build/org.eclipse.cdt.managedbuilder.ui/ChangeLog
index ec6e9fcf2e4..da687655174 100644
--- a/build/org.eclipse.cdt.managedbuilder.ui/ChangeLog
+++ b/build/org.eclipse.cdt.managedbuilder.ui/ChangeLog
@@ -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
diff --git a/build/org.eclipse.cdt.managedbuilder.ui/plugin.xml b/build/org.eclipse.cdt.managedbuilder.ui/plugin.xml
index 87012e5e79d..acee39dac41 100644
--- a/build/org.eclipse.cdt.managedbuilder.ui/plugin.xml
+++ b/build/org.eclipse.cdt.managedbuilder.ui/plugin.xml
@@ -302,7 +302,6 @@
@@ -632,7 +631,6 @@
@@ -1670,9 +1668,9 @@
@@ -1969,9 +1967,9 @@
@@ -2846,9 +2844,9 @@
@@ -3130,9 +3128,9 @@
diff --git a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/PluginResources.properties b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/PluginResources.properties
index 4f27ef06003..f08dfc1c190 100644
--- a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/PluginResources.properties
+++ b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/PluginResources.properties
@@ -64,4 +64,16 @@ ManageConfig.label.configs=Manage configurations
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:
diff --git a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BrowseEntryDialog.java b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BrowseEntryDialog.java
index 5d70b4606fe..5cb300916b2 100644
--- a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BrowseEntryDialog.java
+++ b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BrowseEntryDialog.java
@@ -11,7 +11,7 @@ package org.eclipse.cdt.managedbuilder.ui.properties;
* 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 @@ public class BrowseEntryDialog extends Dialog {
});
// 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) {
diff --git a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuildOptionListFieldEditor.java b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuildOptionListFieldEditor.java
index e035f2739f9..1c40291603f 100644
--- a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuildOptionListFieldEditor.java
+++ b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuildOptionListFieldEditor.java
@@ -11,7 +11,7 @@ package org.eclipse.cdt.managedbuilder.ui.properties;
* 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 @@ public class BuildOptionListFieldEditor extends FieldEditor {
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 @@ public class BuildOptionListFieldEditor extends FieldEditor {
// 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 @@ public class BuildOptionListFieldEditor extends FieldEditor {
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 @@ public class BuildOptionListFieldEditor extends FieldEditor {
* @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 @@ public class BuildOptionListFieldEditor extends FieldEditor {
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 @@ public class BuildOptionListFieldEditor extends FieldEditor {
buttonGroup.addDisposeListener(new DisposeListener() {
public void widgetDisposed(DisposeEvent event) {
addButton = null;
+ editButton = null;
removeButton = null;
upButton = null;
downButton = null;
@@ -217,7 +222,6 @@ public class BuildOptionListFieldEditor extends FieldEditor {
// Create the buttons
createButtons(buttonGroup);
- selectionChanged();
}
/* (non-Javadoc)
@@ -231,19 +235,17 @@ public class BuildOptionListFieldEditor extends FieldEditor {
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 @@ public class BuildOptionListFieldEditor extends FieldEditor {
}
/* (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 @@ public class BuildOptionListFieldEditor extends FieldEditor {
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 @@ public class BuildOptionListFieldEditor extends FieldEditor {
list.add(array[i]);
}
list.setSelection(0);
+ selectionChanged();
}
}
@@ -304,6 +314,8 @@ public class BuildOptionListFieldEditor extends FieldEditor {
for (int i = 0; i < array.length; i++){
list.add(array[i]);
}
+ list.setSelection(0);
+ selectionChanged();
}
}
@@ -318,12 +330,12 @@ public class BuildOptionListFieldEditor extends FieldEditor {
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 @@ public class BuildOptionListFieldEditor extends FieldEditor {
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 @@ public class BuildOptionListFieldEditor extends FieldEditor {
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
diff --git a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/ManageConfigDialog.java b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/ManageConfigDialog.java
index 06d14a86791..ddad7215c23 100644
--- a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/ManageConfigDialog.java
+++ b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/ManageConfigDialog.java
@@ -19,7 +19,6 @@ import org.eclipse.cdt.managedbuilder.core.IConfiguration;
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 @@ public class ManageConfigDialog extends Dialog {
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 @@ public class ManageConfigDialog extends Dialog {
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) {
diff --git a/core/org.eclipse.cdt.ui/ChangeLog b/core/org.eclipse.cdt.ui/ChangeLog
index d79af67f539..ec775ef1cab 100644
--- a/core/org.eclipse.cdt.ui/ChangeLog
+++ b/core/org.eclipse.cdt.ui/ChangeLog
@@ -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"
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CPluginResources.properties b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CPluginResources.properties
index e18b4d797ed..984d54ecded 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CPluginResources.properties
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CPluginResources.properties
@@ -331,14 +331,3 @@ CreateFolderAction.text = F&older
# ------- 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: