changed:
authorClaus Gittinger <cg@exept.de>
Tue, 14 Feb 2012 14:22:36 +0100
changeset 11272 1f7423bcbe3d
parent 11271 efce0b7d3072
child 11273 8147be788aa6
changed: #addInputFieldForSelectorOrNameOrString #askThenDo: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry: usable standalone, without a browser
Tools_SearchDialog.st
--- a/Tools_SearchDialog.st	Tue Feb 14 14:21:39 2012 +0100
+++ b/Tools_SearchDialog.st	Tue Feb 14 14:22:36 2012 +0100
@@ -241,7 +241,7 @@
             ].
             sel := sel string.
 
-            browser rememberSearchPattern:sel.
+            (browser ? SystemBrowser) rememberSearchPattern:sel.
             searchWhat == #globalName ifTrue:[ 
                 LastGlobalSearched := sel.
             ] ifFalse:[
@@ -260,7 +260,7 @@
         ].
     ].
     where isNil ifTrue:[ 
-        browser warn:'No class(es) for search'.
+        (browser ? Dialog) warn:'No class(es) for search'.
         ^ self.
     ].
     self getClassesAndMethodsFor:where.
@@ -283,13 +283,13 @@
     classes size == 0 ifTrue:[
         classes := nil.
         methods size == 0 ifTrue:[ 
-            browser warn:'No class(es) given for search.'.
+            (browser ? Dialog) warn:'No class(es) given for search.'.
             ^ self.
         ].
     ] ifFalse:[
         classes := classes asOrderedCollection.
         methods size ~~ 0 ifTrue:[ 
-            browser warn:'oops'.
+            (browser ? Dialog) warn:'oops'.
             methods := nil.
         ].
     ].
@@ -319,7 +319,7 @@
         aBlock value.
     ]
 
-    "Modified: / 04-08-2011 / 23:18:42 / cg"
+    "Modified: / 14-02-2012 / 14:12:49 / cg"
 !
 
 setupToAskForMethodSearchTitle:title forBrowser:brwsrArg searchWhat:searchWhatArg 
@@ -335,25 +335,29 @@
     searchWhat := searchWhatArg.
 
     withTextEntry := withTextEntryArg.
-    browser := brwsrArg.
-    resources := browser resources.
+
+    (browser := brwsrArg) isNil ifTrue:[
+        resources := NewSystemBrowser classResources.
+    ] ifFalse:[
+        resources := browser resources.
+        selectedClasses := browser selectedClasses value.
+        selectedCategories := browser selectedCategoriesValue.
+        selectedCategories := selectedCategories reject:[:cat | NavigatorModel isPseudoCategory:cat].
+        selectedMethods := browser selectedMethods value.
+        currentClass := browser theSingleSelectedClass.
+        currentClassCategory := browser theSingleSelectedCategory.
+        currentPackage := browser theSingleSelectedProject.
+        currentClass isNil ifTrue:[
+            browser hasMethodSelected ifTrue:[
+                currentClass := selectedMethods first mclass.
+                "/ selectedClasses := (selectedMethods collect:[:each | each mclass ]) asIdentitySet.
+                "/ selectedClasses := selectedClasses select:[:each | each notNil ].
+            ].
+        ].
+    ].
 
     (self addTextLabel:(resources stringWithCRs:title)) adjust:#left.
 
-    selectedClasses := browser selectedClasses value.
-    selectedCategories := browser selectedCategoriesValue.
-    selectedCategories := selectedCategories reject:[:cat | NavigatorModel isPseudoCategory:cat].
-    selectedMethods := browser selectedMethods value.
-    currentClass := browser theSingleSelectedClass.
-    currentClassCategory := browser theSingleSelectedCategory.
-    currentPackage := browser theSingleSelectedProject.
-    currentClass isNil ifTrue:[
-        browser hasMethodSelected ifTrue:[
-            currentClass := selectedMethods first mclass.
-            "/ selectedClasses := (selectedMethods collect:[:each | each mclass ]) asIdentitySet.
-            "/ selectedClasses := selectedClasses select:[:each | each notNil ].
-        ].
-    ].
     currentClass notNil ifTrue:[
         currentClass := currentClass theNonMetaclass.
     ].
@@ -452,7 +456,7 @@
             self addCheckBoxForOwnerAndItsSubclassesAndItsPrivateClasses.
         ].
     ] ifFalse:[
-        browser currentNamespace ~~ Smalltalk ifTrue:[
+        (browser notNil and:[browser currentNamespace ~~ Smalltalk]) ifTrue:[
             self addCheckBoxForEverywhere.
             currentNamespace := browser currentNamespace.
             currentNamespace ~= (browser nameListEntryForALL) ifTrue:[
@@ -472,20 +476,22 @@
     ].
     self addCheckBoxForChangedClassesList.
 
-    (withMethodList and:[ browser isMethodListBrowser ]) ifTrue:[
-        searchAreas size == 0 ifTrue:[
-            self addCheckBoxForEverywhere.
+    withMethodList ifTrue:[
+        browser isMethodListBrowser ifTrue:[
+            searchAreas size == 0 ifTrue:[
+                self addCheckBoxForEverywhere.
+            ].
+            self addCheckBoxForMethodList.
+            browser selectedMethods value size > 1 ifTrue:[
+                self addCheckBoxForSelectedMethods.
+            ].
+            self addCheckBoxForSelectedMethodClasses.
+        ] ifFalse:[
+            searchAreas size == 0 ifTrue:[
+                self addCheckBoxForEverywhere.
+            ].
+            self addCheckBoxForChangedMethodList.
         ].
-        self addCheckBoxForMethodList.
-        browser selectedMethods value size > 1 ifTrue:[
-            self addCheckBoxForSelectedMethods.
-        ].
-        self addCheckBoxForSelectedMethodClasses.
-    ] ifFalse:[
-        searchAreas size == 0 ifTrue:[
-            self addCheckBoxForEverywhere.
-        ].
-        self addCheckBoxForChangedMethodList.
     ].
 
     searchAreas size == 0 ifTrue:[
@@ -549,7 +555,7 @@
 
     self label:(resources string:'Search').
 
-    "Modified: / 06-12-2011 / 11:47:06 / cg"
+    "Modified: / 14-02-2012 / 13:45:35 / cg"
 ! !
 
 !SearchDialog methodsFor:'setup'!
@@ -885,25 +891,27 @@
 addInputFieldForSelectorOrNameOrString
     |sel lastSearchPatterns|
 
-    searchWhat == #selector ifTrue:[ 
-        sel := browser selectorToSearchFor.
-    ] ifFalse:[ 
-        searchWhat == #globalName ifTrue:[ 
-            sel := browser globalNameToSearchFor ? LastGlobalSearched.
+    browser notNil ifTrue:[
+        searchWhat == #selector ifTrue:[ 
+            sel := browser selectorToSearchFor.
         ] ifFalse:[ 
-            searchWhat == #string ifTrue:[
-                sel := browser stringToSearchFor ? LastStringSearched.
-            ] ifFalse:[
-                searchWhat == #resource ifTrue:[
-                    sel := browser stringToSearchFor ? LastResourceSearched.
+            searchWhat == #globalName ifTrue:[ 
+                sel := browser globalNameToSearchFor ? LastGlobalSearched.
+            ] ifFalse:[ 
+                searchWhat == #string ifTrue:[
+                    sel := browser stringToSearchFor ? LastStringSearched.
                 ] ifFalse:[
-                    sel := browser selectorToSearchFor.
+                    searchWhat == #resource ifTrue:[
+                        sel := browser stringToSearchFor ? LastResourceSearched.
+                    ] ifFalse:[
+                        sel := browser selectorToSearchFor.
+                    ]
                 ]
-            ]
+            ].
         ].
     ].
+    lastSearchPatterns := (browser ? SystemBrowser) lastSearchPatterns.
 
-    lastSearchPatterns := browser lastSearchPatterns.
     sel isEmptyOrNil ifTrue:[ 
         "/ use last searchString
         lastSearchPatterns size > 0 ifTrue:[ 
@@ -940,14 +948,14 @@
                     inputField contents:best.
                     "/ listHolder contents:matching.
                     matching size ~~ 1 ifTrue:[ 
-                        browser window beep.
+                        (browser ? self) window beep.
                     ].
                 ].
         ].
 
     selectorHolder onChangeEvaluate:[ self updateListOfMatchingSelectorsFor:inputField contents ].
 
-    "Modified: / 06-07-2011 / 12:07:12 / cg"
+    "Modified: / 14-02-2012 / 14:13:52 / cg"
 !
 
 addTextEntryFieldForCode
@@ -1291,7 +1299,7 @@
 !SearchDialog class methodsFor:'documentation'!
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_SearchDialog.st,v 1.67 2011-12-06 10:47:22 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_SearchDialog.st,v 1.68 2012-02-14 13:22:36 cg Exp $'
 ! !
 
 SearchDialog initialize!