From b8321abb0a8dac68cac6d142f633b38113e823ab Mon Sep 17 00:00:00 2001 From: John Camelon Date: Thu, 4 Sep 2003 13:50:42 +0000 Subject: [PATCH] Patch for Andrew Niefer - set default C++ search sort order to be by path - modified search dialog to use checkboxes instead of radio buttons SearchFor buttons are now organized like this: Class / Struct Function Variable Union Method Field Enumeration Namespace Any Element When multiple buttons are selected, they are combined using the Or Pattern. --- core/org.eclipse.cdt.core/search/ChangeLog | 4 ++++ .../org/eclipse/cdt/core/search/ICSearchConstants.java | 2 ++ .../internal/core/search/matching/CSearchPattern.java | 9 ++++++++- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/core/org.eclipse.cdt.core/search/ChangeLog b/core/org.eclipse.cdt.core/search/ChangeLog index 8dbcf24e501..a6e7b705d77 100644 --- a/core/org.eclipse.cdt.core/search/ChangeLog +++ b/core/org.eclipse.cdt.core/search/ChangeLog @@ -1,3 +1,7 @@ +2003-09-03 Andrew Niefer + - added CLASS_STRUCT to the SearchFor constants + - Modified CSearchPattern to handle CLASS_STRUCT + 2003-08-26 Bogdan Gheorghe - Added debug tracing statements to SearchEngine - Modified scanForNames in CSearchPattern to treat append diff --git a/core/org.eclipse.cdt.core/search/org/eclipse/cdt/core/search/ICSearchConstants.java b/core/org.eclipse.cdt.core/search/org/eclipse/cdt/core/search/ICSearchConstants.java index d35d562f651..788e6e8fa13 100644 --- a/core/org.eclipse.cdt.core/search/org/eclipse/cdt/core/search/ICSearchConstants.java +++ b/core/org.eclipse.cdt.core/search/org/eclipse/cdt/core/search/ICSearchConstants.java @@ -95,6 +95,8 @@ public interface ICSearchConstants { public static final SearchFor MACRO = new SearchFor( 10 ); + public static final SearchFor CLASS_STRUCT = new SearchFor( 11 ); + /* Nature of match */ /** diff --git a/core/org.eclipse.cdt.core/search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java b/core/org.eclipse.cdt.core/search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java index 6f01a53befa..0fdfb972260 100644 --- a/core/org.eclipse.cdt.core/search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java +++ b/core/org.eclipse.cdt.core/search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java @@ -76,7 +76,7 @@ public abstract class CSearchPattern implements ICSearchConstants, ICSearchPatte } CSearchPattern pattern = null; - if( searchFor == TYPE || searchFor == CLASS || searchFor == STRUCT || searchFor == ENUM || searchFor == UNION ){ + if( searchFor == TYPE || searchFor == CLASS || searchFor == STRUCT || searchFor == ENUM || searchFor == UNION || searchFor == CLASS_STRUCT ){ pattern = createClassPattern( patternString, searchFor, limitTo, matchMode, caseSensitive ); } else if ( searchFor == METHOD || searchFor == FUNCTION ){ pattern = createMethodPattern( patternString, searchFor, limitTo, matchMode, caseSensitive ); @@ -239,6 +239,13 @@ public abstract class CSearchPattern implements ICSearchConstants, ICSearchPatte return orPattern; } + if( searchFor == CLASS_STRUCT ){ + OrPattern orPattern = new OrPattern(); + orPattern.addPattern( createClassPattern( patternString, CLASS, limitTo, matchMode, caseSensitive ) ); + orPattern.addPattern( createClassPattern( patternString, STRUCT, limitTo, matchMode, caseSensitive ) ); + return orPattern; + } + IScanner scanner = ParserFactory.createScanner( new StringReader( patternString ), "TEXT", new ScannerInfo(), ParserMode.QUICK_PARSE, null ); IToken token = null;