diff -r ba9ffe0fd036 -r f210b6224ef0 Tools__SearchDialog.st --- a/Tools__SearchDialog.st Wed Mar 21 14:05:42 2012 +0000 +++ b/Tools__SearchDialog.st Wed Mar 21 17:50:14 2012 +0000 @@ -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,23 @@ ]. 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. + self addCheckBoxForSelectedMethodPackages. + ] 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 +556,7 @@ self label:(resources string:'Search'). - "Modified: / 06-12-2011 / 11:47:06 / cg" + "Modified: / 29-02-2012 / 19:48:17 / cg" ! ! !SearchDialog methodsFor:'setup'! @@ -804,7 +811,7 @@ select:[:m | m mclass notNil] thenCollect:[:m | m mclass theNonMetaclass]) asSet. classes size == 1 ifTrue:[ - b := CheckBox label:(resources string:'Selected method''s class (%1)' + b := CheckBox label:(resources string:'Selected method''s class ("%1")' with:classes first name). ] ifFalse:[ b := CheckBox label:(resources string:'Selected methods'' classes (%1)' @@ -813,7 +820,26 @@ self addCheckBox:b forSearchArea:#listOfSelectedMethodClasses. ^ b. - "Modified: / 01-11-2010 / 21:35:46 / cg" + "Modified: / 29-02-2012 / 19:42:33 / cg" +! + +addCheckBoxForSelectedMethodPackages + |b packages| + + packages := ((browser selectedMethods value ? #()) + collect:[:m | m package]) asSet. + + packages size == 1 ifTrue:[ + b := CheckBox label:(resources string:'Selected method''s package ("%1")' + with:packages first). + ] ifFalse:[ + b := CheckBox label:(resources string:'Selected methods'' packages (%1)' + with:packages size). + ]. + self addCheckBox:b forSearchArea:#listOfSelectedMethodPackages. + ^ b. + + "Created: / 29-02-2012 / 19:42:26 / cg" ! addCheckBoxForSelectedMethods @@ -885,25 +911,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 +968,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 @@ -1156,6 +1184,12 @@ methods := nil. ^ self. ]. + (where == #listOfSelectedMethodPackages) ifTrue:[ + classes := (((browser selectedMethods value ? #()) collect:[:m | m package]) asSet + collectAll:[:p | Smalltalk allClassesInPackage:p ]) asOrderedCollection. + methods := nil. + ^ self. + ]. (where == #listOfChangedClasses) ifTrue:[ classes := ChangeSet current changedClasses. methods := nil. @@ -1182,8 +1216,8 @@ self halt:'inumplemented search'. - "Modified: / 19-11-2010 / 12:01:15 / cg" "Modified: / 05-10-2011 / 15:48:20 / az" + "Modified: / 29-02-2012 / 19:47:42 / cg" ! helpTextForMetaPatterns @@ -1291,11 +1325,11 @@ !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.69 2012/02/29 18:50:58 cg Exp §' ! version_SVN - ^ '$Id: Tools__SearchDialog.st 7911 2012-02-22 09:55:48Z vranyj1 $' + ^ '$Id: Tools__SearchDialog.st 7952 2012-03-21 17:50:14Z vranyj1 $' ! ! SearchDialog initialize!