diff options
author | Jason Montojo | 2008-08-13 16:01:46 +0000 |
---|---|---|
committer | Jason Montojo | 2008-08-13 16:01:46 +0000 |
commit | 967b4ffd7dfd91706b19b076ebdbe125f28a381b (patch) | |
tree | 3fcb9d7ce136e26316b3e0f4274edeec97667dd3 | |
parent | 593f41d7fd678e2706c0b469c4a3ef007d3a4bda (diff) | |
download | org.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.java | 40 |
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); } |