# HG changeset patch # User Claus Gittinger # Date 921886580 -3600 # Node ID ba9747d3f4acfe04d041b6c8e5d3d1caf9d04683 # Parent 98ab4223e218c9baf39a7684fb6c3025e4c062a3 checkin from browser diff -r 98ab4223e218 -r ba9747d3f4ac BrowserView.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! diff -r 98ab4223e218 -r ba9747d3f4ac BrwsrView.st --- 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!