1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-06-08 18:26:01 +02:00

Patch for Sean Evoy:

- Fixes for bugzilla 44451 and 44841
This commit is contained in:
Doug Schaefer 2003-11-13 19:41:59 +00:00
parent 4d7450e8fb
commit 335bab74c2
8 changed files with 100 additions and 54 deletions

View file

@ -6,6 +6,29 @@
* plugin.xml
* plugin.properties
2003-11-11 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
2003-10-17 Tom Tromey
Changed -werror to -Werror

View file

@ -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
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=Up
BuildPropertyCommon.label.down=Down
BuildPropertyCommon.label.editVar=Edit...
BuildPropertyCommon.label.addVar=Add
BuildPropertyCommon.label.message=Value:
BuildPropertyCommon.label.browse=Browse...
BuildPropertyCommon.label.configs=Defined configurations:

View file

@ -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) {

View file

@ -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,7 +41,8 @@ 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;
private static final int HORIZONTAL_DIALOG_UNITS_PER_CHAR = 4;
@ -62,12 +63,14 @@ public class BuildOptionListFieldEditor extends FieldEditor {
// The button for adding the contents of the text field to the list
private Button addButton;
// The button for swapping the currently-selected list item down
private Button downButton;
// The button to start the edit process
private Button editButton;
// The button for removing the currently-selected list item.
private Button removeButton;
// The button for swapping the currently selected item up
private Button upButton;
// The button for swapping the currently-selected list item down
private Button downButton;
/**
* @param name the name of the preference this field editor works on
@ -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.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
// 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,20 +235,19 @@ 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();
}
}
};
}
@ -257,6 +260,10 @@ public class BuildOptionListFieldEditor extends FieldEditor {
swap(false);
}
private void editPressed() {
editSelection();
}
/* (non-Javadoc)
*
*/
@ -266,7 +273,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 +297,7 @@ public class BuildOptionListFieldEditor extends FieldEditor {
list.add(array[i]);
}
list.setSelection(0);
selectionChanged();
}
}
@ -304,6 +312,8 @@ public class BuildOptionListFieldEditor extends FieldEditor {
for (int i = 0; i < array.length; i++){
list.add(array[i]);
}
list.setSelection(0);
selectionChanged();
}
}
@ -318,12 +328,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)
@ -388,6 +398,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

View file

@ -1,5 +1,16 @@
package org.eclipse.cdt.managedbuilder.ui.properties;
/**********************************************************************
* Copyright (c) 2002,2003 Rational Software Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v0.5
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v05.html
*
* Contributors:
* IBM Rational Software - Initial API and implementation
* **********************************************************************/
import org.eclipse.cdt.managedbuilder.core.BuildException;
import org.eclipse.cdt.managedbuilder.core.IConfiguration;
import org.eclipse.cdt.managedbuilder.core.IOption;
@ -11,14 +22,6 @@ import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.StringFieldEditor;
import org.eclipse.swt.graphics.Point;
/**
* @author sevoy
*
* To change this generated comment edit the template variable "typecomment":
* Window>Preferences>Java>Templates.
* To enable and disable the creation of type comments go to
* Window>Preferences>Java>Code Generation.
*/
public class BuildToolSettingsPage extends FieldEditorPreferencePage {
// Variables to help map this page back to an option category and tool

View file

@ -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) {

View file

@ -1,3 +1,12 @@
2003-11-11 Sean Evoy
There is a duplicate set of these string resources in the standard make
UI plugin, 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"

View file

@ -330,15 +330,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: