checkin from browser
authorClaus Gittinger <cg@exept.de>
Sat, 20 Mar 1999 00:36:20 +0100
changeset 2076 ba9747d3f4ac
parent 2075 98ab4223e218
child 2077 36dca290aa1f
checkin from browser
BrowserView.st
BrwsrView.st
--- a/BrowserView.st	Fri Mar 19 23:42:23 1999 +0100
+++ b/BrowserView.st	Sat Mar 20 00:36:20 1999 +0100
@@ -9299,11 +9299,27 @@
 methodStringSearch
     "launch an enterBox for string to search for"
 
+    |whereDefault|
+
+
+    currentClass notNil ifTrue:[
+        whereDefault := #class.
+    ] ifFalse:[
+        currentClassCategory notNil ifTrue:[
+            whereDefault := #classCategory.
+        ] ifFalse:[
+            currentNamespace notNil ifTrue:[
+                whereDefault := #currentNameSpace.                
+            ] ifFalse:[
+                whereDefault := nil
+            ]
+        ]
+    ].
     self 
         askForSearchTitle:'string to search for in sources:' 
         openWith:#browseForString:in:ignoreCase:
         isSelector:true
-        searchArea:#class
+        searchArea:whereDefault
         withCaseIgnore:true
 
     "Modified: / 18.6.1998 / 16:42:11 / cg"
@@ -10630,20 +10646,19 @@
 askForSearchTitle:title openWith:aSelector isSelector:isSelector searchArea:whereDefault withCaseIgnore:withCaseIgnore
     "convenient helper method: setup enterBox with text from codeView or selected
      method for browsing based on a selector. Set action and launch box.
-     SearchArea may be one of #everywhere, #classCategory, #class, #classWithPrivateClasses,
-     #classHierarchy or #classHierarchyWithPrivateClasses"
-
-    |box grp panel selectorHolder where whereChannel caseHolder
+     SearchArea may be one of 
+        #everywhere, 
+        #currentNameSpace
+        #classCategory, 
+        #class, 
+        #classWithPrivateClasses,
+        #classHierarchy or 
+        #classHierarchyWithPrivateClasses"
+
+    |box panel selectorHolder where whereChannel caseHolder
      b sel classes areas toSearch cls privates inputField|
 
-    areas := #(everywhere
-               currentNameSpace
-               classCategory 
-               class 
-               classAndSuperclasses 
-               classHierarchy 
-               classWithPrivateClasses 
-               classHierarchyWithPrivateClasses).
+    areas := OrderedCollection new.
 
     isSelector ifTrue:[
         sel := self selectorToSearchFor.
@@ -10685,37 +10700,43 @@
         panel := VerticalPanelView new.
         panel horizontalLayout:#fitSpace.
 
-        grp := RadioButtonGroup new.
+        whereChannel := RadioButtonGroup new.
         b := CheckBox label:(resources string:'everywhere').
-        panel add:b. grp add:b.
+        panel add:b. whereChannel add:b value:#everywhere.
+        areas add:#everywhere.
         box makeTabable:b.
 
         currentNamespace ~= '* all *' ifTrue:[
             b := CheckBox label:(resources string:'current nameSpace').
-            panel add:b. grp add:b.
+            panel add:b. whereChannel add:b value:#currentNameSpace.
+            areas add:#currentNameSpace.
             box makeTabable:b.
         ].
 
         currentClassCategory notNil ifTrue:[
             b := CheckBox label:(resources string:'class category').
-            panel add:b. grp add:b.
+            panel add:b. whereChannel add:b value:#classCategory.
+            areas add:#classCategory.
             box makeTabable:b.
         ].
 
         currentClass notNil ifTrue:[
             b := CheckBox label:(resources string:'class').
-            panel add:b.grp add:b.
+            panel add:b. whereChannel add:b value:#class.
+            areas add:#class.
             box makeTabable:b.
 
             b := CheckBox label:(resources string:'class & superclasses').
-            panel add:b. grp add:b.
+            panel add:b. whereChannel add:b value:#classAndSuperclasses.
+            areas add:#classAndSuperclasses.
             box makeTabable:b.
             currentClass superclass isNil ifTrue:[
                 b disable
             ].
 
             b := CheckBox label:(resources string:'class & subclasses').
-            panel add:b. grp add:b.
+            panel add:b. whereChannel add:b value:#classHierarchy.
+            areas add:#classHierarchy.
             box makeTabable:b.
 
             currentClass subclasses size == 0 ifTrue:[
@@ -10723,7 +10744,8 @@
             ].
 
             b := CheckBox label:(resources string:'class & private classes').
-            panel add:b.grp add:b.
+            panel add:b. whereChannel add:b value:#classWithPrivateClasses.
+            areas add:#classWithPrivateClasses.
             box makeTabable:b.
         
             fullProtocol ifTrue:[
@@ -10739,7 +10761,8 @@
             ].
 
             b := CheckBox label:(resources string:'class & subclasses & all private classes').
-            panel add:b. grp add:b.
+            panel add:b. whereChannel add:b value:#classHierarchyWithPrivateClasses.
+            areas add:#classHierarchyWithPrivateClasses.
             box makeTabable:b.
 
             currentClass subclasses size == 0 ifTrue:[
@@ -10753,20 +10776,23 @@
 "/                ]
             ]
         ].
+
         whereDefault notNil ifTrue:[
-            where := areas indexOf:whereDefault.
-            where == 0 ifTrue:[where := 1].
+            (areas includes:whereDefault) ifTrue:[
+                where := whereDefault asSymbol
+            ] ifFalse:[
+                where := areas first.
+            ]
         ] ifFalse:[
-            where := 1.
-        ].
-        grp value:where.
-        whereChannel := grp.
+            where := #everywhere.
+        ].
+        whereChannel value:where.
         box addComponent:panel indent:0.  "/ panel has its own idea of indenting
 
         box addVerticalSpace.
         box addHorizontalLine.
     ] ifFalse:[
-        whereChannel := 1 asValue.
+        whereChannel := #everywhere asValue.
     ].
 
     box addAbortButton.
@@ -10800,8 +10826,6 @@
         ].
         LastSearchPatterns addFirst:sel.
 
-        where := areas at:where ifAbsent:#class.
-
         where == #everywhere ifTrue:[
             classes := Smalltalk allClasses.
         ] ifFalse:[ where == #currentNameSpace ifTrue:[
@@ -13121,6 +13145,6 @@
 !BrowserView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/BrowserView.st,v 1.485 1999-03-19 22:42:23 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/BrowserView.st,v 1.486 1999-03-19 23:36:20 cg Exp $'
 ! !
 BrowserView initialize!
--- a/BrwsrView.st	Fri Mar 19 23:42:23 1999 +0100
+++ b/BrwsrView.st	Sat Mar 20 00:36:20 1999 +0100
@@ -9299,11 +9299,27 @@
 methodStringSearch
     "launch an enterBox for string to search for"
 
+    |whereDefault|
+
+
+    currentClass notNil ifTrue:[
+        whereDefault := #class.
+    ] ifFalse:[
+        currentClassCategory notNil ifTrue:[
+            whereDefault := #classCategory.
+        ] ifFalse:[
+            currentNamespace notNil ifTrue:[
+                whereDefault := #currentNameSpace.                
+            ] ifFalse:[
+                whereDefault := nil
+            ]
+        ]
+    ].
     self 
         askForSearchTitle:'string to search for in sources:' 
         openWith:#browseForString:in:ignoreCase:
         isSelector:true
-        searchArea:#class
+        searchArea:whereDefault
         withCaseIgnore:true
 
     "Modified: / 18.6.1998 / 16:42:11 / cg"
@@ -10630,20 +10646,19 @@
 askForSearchTitle:title openWith:aSelector isSelector:isSelector searchArea:whereDefault withCaseIgnore:withCaseIgnore
     "convenient helper method: setup enterBox with text from codeView or selected
      method for browsing based on a selector. Set action and launch box.
-     SearchArea may be one of #everywhere, #classCategory, #class, #classWithPrivateClasses,
-     #classHierarchy or #classHierarchyWithPrivateClasses"
-
-    |box grp panel selectorHolder where whereChannel caseHolder
+     SearchArea may be one of 
+        #everywhere, 
+        #currentNameSpace
+        #classCategory, 
+        #class, 
+        #classWithPrivateClasses,
+        #classHierarchy or 
+        #classHierarchyWithPrivateClasses"
+
+    |box panel selectorHolder where whereChannel caseHolder
      b sel classes areas toSearch cls privates inputField|
 
-    areas := #(everywhere
-               currentNameSpace
-               classCategory 
-               class 
-               classAndSuperclasses 
-               classHierarchy 
-               classWithPrivateClasses 
-               classHierarchyWithPrivateClasses).
+    areas := OrderedCollection new.
 
     isSelector ifTrue:[
         sel := self selectorToSearchFor.
@@ -10685,37 +10700,43 @@
         panel := VerticalPanelView new.
         panel horizontalLayout:#fitSpace.
 
-        grp := RadioButtonGroup new.
+        whereChannel := RadioButtonGroup new.
         b := CheckBox label:(resources string:'everywhere').
-        panel add:b. grp add:b.
+        panel add:b. whereChannel add:b value:#everywhere.
+        areas add:#everywhere.
         box makeTabable:b.
 
         currentNamespace ~= '* all *' ifTrue:[
             b := CheckBox label:(resources string:'current nameSpace').
-            panel add:b. grp add:b.
+            panel add:b. whereChannel add:b value:#currentNameSpace.
+            areas add:#currentNameSpace.
             box makeTabable:b.
         ].
 
         currentClassCategory notNil ifTrue:[
             b := CheckBox label:(resources string:'class category').
-            panel add:b. grp add:b.
+            panel add:b. whereChannel add:b value:#classCategory.
+            areas add:#classCategory.
             box makeTabable:b.
         ].
 
         currentClass notNil ifTrue:[
             b := CheckBox label:(resources string:'class').
-            panel add:b.grp add:b.
+            panel add:b. whereChannel add:b value:#class.
+            areas add:#class.
             box makeTabable:b.
 
             b := CheckBox label:(resources string:'class & superclasses').
-            panel add:b. grp add:b.
+            panel add:b. whereChannel add:b value:#classAndSuperclasses.
+            areas add:#classAndSuperclasses.
             box makeTabable:b.
             currentClass superclass isNil ifTrue:[
                 b disable
             ].
 
             b := CheckBox label:(resources string:'class & subclasses').
-            panel add:b. grp add:b.
+            panel add:b. whereChannel add:b value:#classHierarchy.
+            areas add:#classHierarchy.
             box makeTabable:b.
 
             currentClass subclasses size == 0 ifTrue:[
@@ -10723,7 +10744,8 @@
             ].
 
             b := CheckBox label:(resources string:'class & private classes').
-            panel add:b.grp add:b.
+            panel add:b. whereChannel add:b value:#classWithPrivateClasses.
+            areas add:#classWithPrivateClasses.
             box makeTabable:b.
         
             fullProtocol ifTrue:[
@@ -10739,7 +10761,8 @@
             ].
 
             b := CheckBox label:(resources string:'class & subclasses & all private classes').
-            panel add:b. grp add:b.
+            panel add:b. whereChannel add:b value:#classHierarchyWithPrivateClasses.
+            areas add:#classHierarchyWithPrivateClasses.
             box makeTabable:b.
 
             currentClass subclasses size == 0 ifTrue:[
@@ -10753,20 +10776,23 @@
 "/                ]
             ]
         ].
+
         whereDefault notNil ifTrue:[
-            where := areas indexOf:whereDefault.
-            where == 0 ifTrue:[where := 1].
+            (areas includes:whereDefault) ifTrue:[
+                where := whereDefault asSymbol
+            ] ifFalse:[
+                where := areas first.
+            ]
         ] ifFalse:[
-            where := 1.
-        ].
-        grp value:where.
-        whereChannel := grp.
+            where := #everywhere.
+        ].
+        whereChannel value:where.
         box addComponent:panel indent:0.  "/ panel has its own idea of indenting
 
         box addVerticalSpace.
         box addHorizontalLine.
     ] ifFalse:[
-        whereChannel := 1 asValue.
+        whereChannel := #everywhere asValue.
     ].
 
     box addAbortButton.
@@ -10800,8 +10826,6 @@
         ].
         LastSearchPatterns addFirst:sel.
 
-        where := areas at:where ifAbsent:#class.
-
         where == #everywhere ifTrue:[
             classes := Smalltalk allClasses.
         ] ifFalse:[ where == #currentNameSpace ifTrue:[
@@ -13121,6 +13145,6 @@
 !BrowserView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Attic/BrwsrView.st,v 1.485 1999-03-19 22:42:23 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Attic/BrwsrView.st,v 1.486 1999-03-19 23:36:20 cg Exp $'
 ! !
 BrowserView initialize!