--- 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!