Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Montojo2008-08-13 16:01:46 +0000
committerJason Montojo2008-08-13 16:01:46 +0000
commit967b4ffd7dfd91706b19b076ebdbe125f28a381b (patch)
tree3fcb9d7ce136e26316b3e0f4274edeec97667dd3
parent593f41d7fd678e2706c0b469c4a3ef007d3a4bda (diff)
downloadorg.eclipse.cdt-967b4ffd7dfd91706b19b076ebdbe125f28a381b.tar.gz
org.eclipse.cdt-967b4ffd7dfd91706b19b076ebdbe125f28a381b.tar.xz
org.eclipse.cdt-967b4ffd7dfd91706b19b076ebdbe125f28a381b.zip
Fix for bug 235482
-rw-r--r--core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/PDOMSearchPage.java40
1 files changed, 37 insertions, 3 deletions
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/PDOMSearchPage.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/PDOMSearchPage.java
index f87e74a542b..3248f64ac9c 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/PDOMSearchPage.java
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/PDOMSearchPage.java
@@ -6,7 +6,8 @@
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
- * QNX - Initial API and implementation
+ * QNX - Initial API and implementation
+ * IBM Corporation
*******************************************************************************/
package org.eclipse.cdt.internal.ui.search;
@@ -39,8 +40,10 @@ import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Listener;
import org.eclipse.ui.IEditorSite;
import org.eclipse.ui.IViewSite;
import org.eclipse.ui.IWorkbenchPage;
@@ -378,11 +381,36 @@ public class PDOMSearchPage extends DialogPage implements ISearchPage {
layout.numColumns = 2;
result.setLayout( layout );
+ Listener limitToListener = new Listener() {
+ public void handleEvent(Event event) {
+ Button me = (Button)event.widget;
+ if (me == limitToButtons[limitToAllButtonIndex]) {
+ if (me.getSelection()) {
+ for (int i = 0; i < limitToButtons.length; ++i) {
+ if (i != limitToAllButtonIndex) {
+ limitToButtons[i].setSelection(true);
+ limitToButtons[i].setEnabled(false);
+ }
+ }
+ } else {
+ for (int i = 0; i < limitToButtons.length; ++i) {
+ if (i != limitToAllButtonIndex) {
+ limitToButtons[i].setSelection(false);
+ limitToButtons[i].setEnabled(true);
+ }
+ }
+ }
+ }
+ setPerformActionEnabled();
+ }
+ };
+
limitToButtons = new Button[limitToText.length];
for( int i = 0; i < limitToText.length; i++ ){
- Button button = new Button(result, SWT.RADIO);
+ Button button = new Button(result, SWT.CHECK);
button.setText( limitToText[i] );
button.setData( limitToData[i] );
+ button.addListener(SWT.Selection, limitToListener);
limitToButtons[i] = button;
}
@@ -568,9 +596,15 @@ public class PDOMSearchPage extends DialogPage implements ISearchPage {
if ((searchFlags & PDOMSearchQuery.FIND_ALL_OCCURANCES) == PDOMSearchQuery.FIND_ALL_OCCURANCES) {
limitToButtons[limitToAllButtonIndex].setSelection(true);
+ for (int i = 0; i < limitToButtons.length; ++i) {
+ if (i != limitToAllButtonIndex) {
+ limitToButtons[i].setSelection(true);
+ limitToButtons[i].setEnabled(false);
+ }
+ }
} else {
limitToButtons[limitToAllButtonIndex].setSelection(false);
- for (int i = 0; i < limitToButtons.length - 2; ++i) {
+ for (int i = 0; i < limitToButtons.length - 1; ++i) {
limitToButtons[i].setSelection(
(searchFlags & ((Integer)limitToButtons[i].getData()).intValue()) != 0);
}

Back to the top