Tools_SearchDialog.st
author Claus Gittinger <cg@exept.de>
Sun, 01 Feb 2015 14:17:11 +0100
changeset 15150 940d37c7d3ac
parent 13875 a1e9ad9d39eb
permissions -rw-r--r--
class: Tools::ChangeList fixed the following redraw bug in ModelListView (which is already fixed in SelectionInListView): if a colored item is shown with selection, the color attribute should be removed (or relaxed), to avoid drawing the label invisible. I.e. if the text color is blue or grey, and the selection bg is blue. we should draw white-on-blue, instead of blue/grey on blue. For this to work, the info whether drawing a selection must be passed down through the renderer to the item's draw routine.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
 COPYRIGHT (c) 2000 by eXept Software AG
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
	      All Rights Reserved
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
 This software is furnished under a license and may be used
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
 hereby transferred.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
"
5592
d9730a8d7c52 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5591
diff changeset
    12
"{ Package: 'stx:libtool' }"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
"{ NameSpace: Tools }"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
DialogBox subclass:#SearchDialog
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
	instanceVariableNames:'openHow classes methods selectedClasses selectedCategories
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
    18
		selectedMethods selectedPackages currentClass currentNamespace
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
    19
		currentClassCategory currentPackage browser whereRadioGroup
8782
046c75a49b34 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8756
diff changeset
    20
		currentPanel searchAreas caseHolder matchHolder isMethodHolder
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
    21
		codeField selectorHolder defaultOpenHow withTextEntry allowFind
9311
ac0f3956c140 searchdialog refactoring
Claus Gittinger <cg@exept.de>
parents: 9309
diff changeset
    22
		allowBuffer allowBrowser searchWhat searchClassProtocolHolder
10444
702c7ef1f1bc class definition
Stefan Vogel <sv@exept.de>
parents: 10377
diff changeset
    23
		searchInstanceProtocolHolder selectorOrCode selectionList
11751
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
    24
		listHolder matchProcess inputField showMetaFilter
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
    25
		metaclassesOnlyHolder classesOnlyHolder'
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
    26
	classVariableNames:'LastCodeSearched LastCodeSearchWasMethod LastGlobalSearched
9001
22e3a719e91a inverted the check-box meaning: \"Ignore case\" vs. \"Case Sensitive\"
Claus Gittinger <cg@exept.de>
parents: 8833
diff changeset
    27
		LastStringSearched LastSearchWasMatch LastSearchWasCaseSensitive
10189
0be2c38f087a comment/format in: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry:
Claus Gittinger <cg@exept.de>
parents: 9645
diff changeset
    28
		LastStringSearchArea LastCodeSearchArea AREA_LISTOFMETHODS
0be2c38f087a comment/format in: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry:
Claus Gittinger <cg@exept.de>
parents: 9645
diff changeset
    29
		LastResourceSearched'
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
	poolDictionaries:''
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
	category:'Interface-Browsers-New'
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
!SearchDialog class methodsFor:'documentation'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
copyright
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
 COPYRIGHT (c) 2000 by eXept Software AG
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
	      All Rights Reserved
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
 This software is furnished under a license and may be used
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
 only in accordance with the terms of that license and with the
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
 inclusion of the above copyright notice.   This software may not
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
 be provided or otherwise made available to, or used by, any
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
 other person.  No title to or ownership of the software is
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
 hereby transferred.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
"
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
9640
68bba6744726 default for text-search in method -list
Claus Gittinger <cg@exept.de>
parents: 9619
diff changeset
    50
!SearchDialog class methodsFor:'initialization'!
68bba6744726 default for text-search in method -list
Claus Gittinger <cg@exept.de>
parents: 9619
diff changeset
    51
68bba6744726 default for text-search in method -list
Claus Gittinger <cg@exept.de>
parents: 9619
diff changeset
    52
initialize
68bba6744726 default for text-search in method -list
Claus Gittinger <cg@exept.de>
parents: 9619
diff changeset
    53
    AREA_LISTOFMETHODS := #listOfMethods
68bba6744726 default for text-search in method -list
Claus Gittinger <cg@exept.de>
parents: 9619
diff changeset
    54
68bba6744726 default for text-search in method -list
Claus Gittinger <cg@exept.de>
parents: 9619
diff changeset
    55
    "Created: / 19-11-2010 / 12:00:18 / cg"
68bba6744726 default for text-search in method -list
Claus Gittinger <cg@exept.de>
parents: 9619
diff changeset
    56
! !
68bba6744726 default for text-search in method -list
Claus Gittinger <cg@exept.de>
parents: 9619
diff changeset
    57
68bba6744726 default for text-search in method -list
Claus Gittinger <cg@exept.de>
parents: 9619
diff changeset
    58
!SearchDialog class methodsFor:'constants'!
68bba6744726 default for text-search in method -list
Claus Gittinger <cg@exept.de>
parents: 9619
diff changeset
    59
9642
4c175e2fb8ae better method name
Claus Gittinger <cg@exept.de>
parents: 9640
diff changeset
    60
constantForListOfMethodsArea
9640
68bba6744726 default for text-search in method -list
Claus Gittinger <cg@exept.de>
parents: 9619
diff changeset
    61
    ^ AREA_LISTOFMETHODS
68bba6744726 default for text-search in method -list
Claus Gittinger <cg@exept.de>
parents: 9619
diff changeset
    62
9642
4c175e2fb8ae better method name
Claus Gittinger <cg@exept.de>
parents: 9640
diff changeset
    63
    "Created: / 19-11-2010 / 12:11:50 / cg"
9640
68bba6744726 default for text-search in method -list
Claus Gittinger <cg@exept.de>
parents: 9619
diff changeset
    64
! !
68bba6744726 default for text-search in method -list
Claus Gittinger <cg@exept.de>
parents: 9619
diff changeset
    65
6381
f8696b036204 remember last search areas for string and code search
Claus Gittinger <cg@exept.de>
parents: 6379
diff changeset
    66
!SearchDialog class methodsFor:'queries'!
f8696b036204 remember last search areas for string and code search
Claus Gittinger <cg@exept.de>
parents: 6379
diff changeset
    67
f8696b036204 remember last search areas for string and code search
Claus Gittinger <cg@exept.de>
parents: 6379
diff changeset
    68
lastCodeSearchArea
f8696b036204 remember last search areas for string and code search
Claus Gittinger <cg@exept.de>
parents: 6379
diff changeset
    69
    ^ LastCodeSearchArea
f8696b036204 remember last search areas for string and code search
Claus Gittinger <cg@exept.de>
parents: 6379
diff changeset
    70
!
f8696b036204 remember last search areas for string and code search
Claus Gittinger <cg@exept.de>
parents: 6379
diff changeset
    71
f8696b036204 remember last search areas for string and code search
Claus Gittinger <cg@exept.de>
parents: 6379
diff changeset
    72
lastStringSearchArea
f8696b036204 remember last search areas for string and code search
Claus Gittinger <cg@exept.de>
parents: 6379
diff changeset
    73
    ^ LastStringSearchArea
f8696b036204 remember last search areas for string and code search
Claus Gittinger <cg@exept.de>
parents: 6379
diff changeset
    74
! !
f8696b036204 remember last search areas for string and code search
Claus Gittinger <cg@exept.de>
parents: 6379
diff changeset
    75
11751
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
    76
!SearchDialog methodsFor:'accessing'!
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
    77
12474
535f413ca791 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 12071
diff changeset
    78
currentPackage
535f413ca791 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 12071
diff changeset
    79
    ^ currentPackage
535f413ca791 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 12071
diff changeset
    80
!
535f413ca791 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 12071
diff changeset
    81
11751
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
    82
showMetaFilter:something
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
    83
    showMetaFilter := something.
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
    84
! !
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
    85
6685
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
    86
!SearchDialog methodsFor:'accessing-entered values'!
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
    87
11751
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
    88
classesOnly
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
    89
    ^ (classesOnlyHolder ? false) value
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
    90
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
    91
    "Created: / 20-08-2012 / 13:25:26 / cg"
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
    92
!
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
    93
6685
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
    94
classesToSearch
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
    95
    ^ classes.
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
    96
!
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
    97
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
    98
codeToSearch
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
    99
    ^ selectorOrCode.
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   100
!
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   101
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   102
matchMethods
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   103
    ^ isMethodHolder value ? false.
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   104
!
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   105
11751
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   106
metaclassesOnly
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   107
    ^ (metaclassesOnlyHolder ? false) value
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   108
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   109
    "Created: / 20-08-2012 / 13:17:12 / cg"
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   110
!
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   111
6685
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   112
methodsToSearch
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   113
    ^ methods.
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   114
!
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   115
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   116
openHow
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   117
    ^ openHow.
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   118
!
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   119
12474
535f413ca791 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 12071
diff changeset
   120
searchAreaSelected
535f413ca791 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 12071
diff changeset
   121
    ^ whereRadioGroup value.
535f413ca791 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 12071
diff changeset
   122
!
535f413ca791 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 12071
diff changeset
   123
6685
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   124
searchIgnoringCase
9001
22e3a719e91a inverted the check-box meaning: \"Ignore case\" vs. \"Case Sensitive\"
Claus Gittinger <cg@exept.de>
parents: 8833
diff changeset
   125
    ^ self searchIsCaseSensitive not
22e3a719e91a inverted the check-box meaning: \"Ignore case\" vs. \"Case Sensitive\"
Claus Gittinger <cg@exept.de>
parents: 8833
diff changeset
   126
!
22e3a719e91a inverted the check-box meaning: \"Ignore case\" vs. \"Case Sensitive\"
Claus Gittinger <cg@exept.de>
parents: 8833
diff changeset
   127
22e3a719e91a inverted the check-box meaning: \"Ignore case\" vs. \"Case Sensitive\"
Claus Gittinger <cg@exept.de>
parents: 8833
diff changeset
   128
searchIsCaseSensitive
22e3a719e91a inverted the check-box meaning: \"Ignore case\" vs. \"Case Sensitive\"
Claus Gittinger <cg@exept.de>
parents: 8833
diff changeset
   129
    ^ (caseHolder value ? false)
6685
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   130
!
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   131
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   132
searchWithMatch
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   133
    ^ matchHolder value ? false.
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   134
!
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   135
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   136
selectorToSearch
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   137
    ^ selectorOrCode.
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   138
! !
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   139
10962
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   140
!SearchDialog methodsFor:'obsolete'!
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   141
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   142
addCheckBoxForClassMethodSearch
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   143
    |b|
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   144
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   145
    b := CheckBox label:(resources string:'Class Protocol').
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   146
    b model:(self searchClassProtocolHolder).
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   147
    currentPanel add:b.
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   148
    ^ b.
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   149
!
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   150
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   151
addCheckBoxForInstanceMethodSearch
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   152
    |b|
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   153
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   154
    b := CheckBox label:(resources string:'Instance Protocol').
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   155
    b model:(self searchInstanceProtocolHolder).
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   156
    currentPanel add:b.
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   157
    ^ b.
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   158
! !
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   159
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
!SearchDialog methodsFor:'private'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
6685
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   162
searchClassProtocolHolder
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   163
    searchClassProtocolHolder isNil ifTrue:[
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   164
        searchClassProtocolHolder := true asValue
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   165
    ].
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   166
    ^ searchClassProtocolHolder
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   167
!
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   168
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   169
searchInstanceProtocolHolder
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   170
    searchInstanceProtocolHolder isNil ifTrue:[
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   171
        searchInstanceProtocolHolder := true asValue
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   172
    ].
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   173
    ^ searchInstanceProtocolHolder
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   174
!
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   175
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
showHelpOnCodePatterns
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
    HTMLDocumentView openFullOnHelpFile:'Browser/RBSearchPatterns.html'
9315
1ad087feb185 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9311
diff changeset
   178
!
1ad087feb185 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9311
diff changeset
   179
1ad087feb185 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9311
diff changeset
   180
updateListOfMatchingSelectorsFor:s
1ad087feb185 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9311
diff changeset
   181
    |p|
1ad087feb185 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9311
diff changeset
   182
1ad087feb185 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9311
diff changeset
   183
    (p := matchProcess) notNil ifTrue:[
1ad087feb185 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9311
diff changeset
   184
        p terminate.
1ad087feb185 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9311
diff changeset
   185
    ].
1ad087feb185 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9311
diff changeset
   186
    listHolder isNil ifTrue:[^ self].
1ad087feb185 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9311
diff changeset
   187
1ad087feb185 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9311
diff changeset
   188
    matchProcess := 
1ad087feb185 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9311
diff changeset
   189
        [
1ad087feb185 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9311
diff changeset
   190
            |what matching|
1ad087feb185 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9311
diff changeset
   191
1ad087feb185 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9311
diff changeset
   192
            [
1ad087feb185 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9311
diff changeset
   193
                searchWhat == #globalName ifFalse:[ 
9600
301631add7e9 changed: #updateListOfMatchingSelectorsFor:
Claus Gittinger <cg@exept.de>
parents: 9519
diff changeset
   194
                    what := DoWhatIMeanSupport selectorCompletion:s inEnvironment:Smalltalk match:(matchHolder value) ignoreCase:(caseHolder value not)
9315
1ad087feb185 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9311
diff changeset
   195
                ] ifTrue:[ 
1ad087feb185 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9311
diff changeset
   196
                    what := DoWhatIMeanSupport globalNameCompletion:s inEnvironment:Smalltalk match:(matchHolder value).
1ad087feb185 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9311
diff changeset
   197
                ].
1ad087feb185 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9311
diff changeset
   198
                "/ best := what first.
1ad087feb185 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9311
diff changeset
   199
                matching := what second.
1ad087feb185 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9311
diff changeset
   200
                self sensor pushAction:[ listHolder contents:matching ].
1ad087feb185 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9311
diff changeset
   201
            ] ensure:[
1ad087feb185 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9311
diff changeset
   202
                matchProcess := nil.
1ad087feb185 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9311
diff changeset
   203
            ].
1ad087feb185 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9311
diff changeset
   204
        ] fork.
9600
301631add7e9 changed: #updateListOfMatchingSelectorsFor:
Claus Gittinger <cg@exept.de>
parents: 9519
diff changeset
   205
301631add7e9 changed: #updateListOfMatchingSelectorsFor:
Claus Gittinger <cg@exept.de>
parents: 9519
diff changeset
   206
    "Modified: / 26-10-2010 / 20:33:05 / cg"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
!SearchDialog methodsFor:'public'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
6242
53a88bc35aa5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5886
diff changeset
   211
addTextEntryWithCaseIgnore:withCaseIgnore withMatch:withMatch 
9366
58c82c246a2f changed: #addTextEntryWithCaseIgnore:withMatch:
Claus Gittinger <cg@exept.de>
parents: 9365
diff changeset
   212
    matchHolder := caseHolder := nil.
58c82c246a2f changed: #addTextEntryWithCaseIgnore:withMatch:
Claus Gittinger <cg@exept.de>
parents: 9365
diff changeset
   213
9311
ac0f3956c140 searchdialog refactoring
Claus Gittinger <cg@exept.de>
parents: 9309
diff changeset
   214
    searchWhat == #code ifTrue:[
6242
53a88bc35aa5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5886
diff changeset
   215
        self addTextEntryFieldForCode.
10189
0be2c38f087a comment/format in: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry:
Claus Gittinger <cg@exept.de>
parents: 9645
diff changeset
   216
        ^ self.
0be2c38f087a comment/format in: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry:
Claus Gittinger <cg@exept.de>
parents: 9645
diff changeset
   217
    ].
0be2c38f087a comment/format in: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry:
Claus Gittinger <cg@exept.de>
parents: 9645
diff changeset
   218
0be2c38f087a comment/format in: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry:
Claus Gittinger <cg@exept.de>
parents: 9645
diff changeset
   219
    self addInputFieldForSelectorOrNameOrString.
0be2c38f087a comment/format in: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry:
Claus Gittinger <cg@exept.de>
parents: 9645
diff changeset
   220
    withCaseIgnore ifTrue:[
0be2c38f087a comment/format in: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry:
Claus Gittinger <cg@exept.de>
parents: 9645
diff changeset
   221
        self 
0be2c38f087a comment/format in: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry:
Claus Gittinger <cg@exept.de>
parents: 9645
diff changeset
   222
            addCheckBox:(resources string:'Case Sensitive')
0be2c38f087a comment/format in: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry:
Claus Gittinger <cg@exept.de>
parents: 9645
diff changeset
   223
            on:(caseHolder := (LastSearchWasCaseSensitive ? false) asValue).
0be2c38f087a comment/format in: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry:
Claus Gittinger <cg@exept.de>
parents: 9645
diff changeset
   224
    ].
0be2c38f087a comment/format in: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry:
Claus Gittinger <cg@exept.de>
parents: 9645
diff changeset
   225
    withMatch ifTrue:[
0be2c38f087a comment/format in: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry:
Claus Gittinger <cg@exept.de>
parents: 9645
diff changeset
   226
        self 
0be2c38f087a comment/format in: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry:
Claus Gittinger <cg@exept.de>
parents: 9645
diff changeset
   227
            addCheckBox:(resources string:'Match')
0be2c38f087a comment/format in: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry:
Claus Gittinger <cg@exept.de>
parents: 9645
diff changeset
   228
            on:(matchHolder := (LastSearchWasMatch ? true) asValue).
6242
53a88bc35aa5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5886
diff changeset
   229
"/                (isSelector and:[ sel notNil. ]) ifTrue:[ 
53a88bc35aa5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5886
diff changeset
   230
"/                    sel includesMatchCharacters ifTrue:[ 
53a88bc35aa5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5886
diff changeset
   231
"/                        matchHolder value:false.
53a88bc35aa5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5886
diff changeset
   232
"/                    ].
53a88bc35aa5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5886
diff changeset
   233
"/                ].
53a88bc35aa5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5886
diff changeset
   234
    ]
10189
0be2c38f087a comment/format in: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry:
Claus Gittinger <cg@exept.de>
parents: 9645
diff changeset
   235
0be2c38f087a comment/format in: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry:
Claus Gittinger <cg@exept.de>
parents: 9645
diff changeset
   236
    "Modified (format): / 06-07-2011 / 11:56:31 / cg"
6242
53a88bc35aa5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5886
diff changeset
   237
!
53a88bc35aa5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5886
diff changeset
   238
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
askThenDo:aBlock 
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   240
    |where code sel matchHolderValue caseHolderValue|
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
11812
15a7f2410d34 changed: #askThenDo:
Claus Gittinger <cg@exept.de>
parents: 11751
diff changeset
   242
    self beScreenDialog.                "raise it above all windows"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   243
    self open.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   244
    self accepted ifFalse:[ 
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   245
        ^ self.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   248
    openHow isNil ifTrue:[ 
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   249
        openHow := defaultOpenHow.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   250
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   251
    where := whereRadioGroup value.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   252
    withTextEntry ifTrue:[ 
9311
ac0f3956c140 searchdialog refactoring
Claus Gittinger <cg@exept.de>
parents: 9309
diff changeset
   253
        searchWhat == #code ifTrue:[
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   254
            code := codeField contentsAsString.
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   255
            LastCodeSearched := code.
6381
f8696b036204 remember last search areas for string and code search
Claus Gittinger <cg@exept.de>
parents: 6379
diff changeset
   256
            LastCodeSearchArea := where.
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   257
        ] ifFalse:[
10469
d9dc7aa63fd6 changed: #askThenDo:
Claus Gittinger <cg@exept.de>
parents: 10444
diff changeset
   258
            (selectionList notNil and:[selectionList hasSelection]) ifTrue:[
10444
702c7ef1f1bc class definition
Stefan Vogel <sv@exept.de>
parents: 10377
diff changeset
   259
                sel := selectionList selectionValue.
702c7ef1f1bc class definition
Stefan Vogel <sv@exept.de>
parents: 10377
diff changeset
   260
            ] ifFalse:[
11812
15a7f2410d34 changed: #askThenDo:
Claus Gittinger <cg@exept.de>
parents: 11751
diff changeset
   261
                sel := selectorHolder value withoutSeparators.
10444
702c7ef1f1bc class definition
Stefan Vogel <sv@exept.de>
parents: 10377
diff changeset
   262
            ].
8304
3e556502d05e changed #askThenDo: check selection for isEmptyOrNil (not only isEmpty)
ca
parents: 8282
diff changeset
   263
            sel isEmptyOrNil ifTrue:[ 
9311
ac0f3956c140 searchdialog refactoring
Claus Gittinger <cg@exept.de>
parents: 9309
diff changeset
   264
                browser warn:((searchWhat == #selector) 
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   265
                            ifTrue:[ 'No selector entered for search'. ]
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   266
                            ifFalse:[ 'Nothing entered for search'. ]).
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   267
                ^ self.
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   268
            ].
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   269
            sel := sel string.
6667
a4f01d4860bc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6608
diff changeset
   270
11272
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   271
            (browser ? SystemBrowser) rememberSearchPattern:sel.
9311
ac0f3956c140 searchdialog refactoring
Claus Gittinger <cg@exept.de>
parents: 9309
diff changeset
   272
            searchWhat == #globalName ifTrue:[ 
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   273
                LastGlobalSearched := sel.
6381
f8696b036204 remember last search areas for string and code search
Claus Gittinger <cg@exept.de>
parents: 6379
diff changeset
   274
            ] ifFalse:[
9311
ac0f3956c140 searchdialog refactoring
Claus Gittinger <cg@exept.de>
parents: 9309
diff changeset
   275
                searchWhat == #string ifTrue:[
8123
10a929bb34f7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8083
diff changeset
   276
                    LastStringSearched := sel.
6381
f8696b036204 remember last search areas for string and code search
Claus Gittinger <cg@exept.de>
parents: 6379
diff changeset
   277
                    LastStringSearchArea := where.
6667
a4f01d4860bc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6608
diff changeset
   278
                ] ifFalse:[
6700
315739e2f34d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6691
diff changeset
   279
                    (sel startsWith:'#''') ifTrue:[
315739e2f34d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6691
diff changeset
   280
                        sel := sel copyFrom:3.
315739e2f34d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6691
diff changeset
   281
                        (sel endsWith:$') ifTrue:[
12711
e970bedfb0af Changed usage of deprecated #copyWithoutLast: to #copyButLast:
Stefan Vogel <sv@exept.de>
parents: 12616
diff changeset
   282
                            sel := sel copyButLast:1.
6667
a4f01d4860bc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6608
diff changeset
   283
                        ].
a4f01d4860bc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6608
diff changeset
   284
                    ].
6381
f8696b036204 remember last search areas for string and code search
Claus Gittinger <cg@exept.de>
parents: 6379
diff changeset
   285
                ]
f8696b036204 remember last search areas for string and code search
Claus Gittinger <cg@exept.de>
parents: 6379
diff changeset
   286
            ]
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   287
        ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   288
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   289
    where isNil ifTrue:[ 
11272
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   290
        (browser ? Dialog) warn:'No class(es) for search'.
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   291
        ^ self.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   292
    ].
9336
fe62308cf539 comment/format in: #askThenDo:
Claus Gittinger <cg@exept.de>
parents: 9331
diff changeset
   293
    self getClassesAndMethodsFor:where.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   294
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   295
    (#(#classesWithPrivateClasses #classHierarchiesWithPrivateClasses #ownersWithPrivateClasses #ownersHierarchiesWithPrivateClasses) 
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   296
        includes:where) 
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   297
            ifTrue:[ 
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   298
                |toSearch|
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   299
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   300
                toSearch := IdentitySet withAll:classes.
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   301
                classes := IdentitySet withAll:toSearch.
9336
fe62308cf539 comment/format in: #askThenDo:
Claus Gittinger <cg@exept.de>
parents: 9331
diff changeset
   302
                [ toSearch notEmpty ] whileTrue:[
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   303
                    |cls|
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   304
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   305
                    cls := toSearch removeFirst.
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   306
                    classes addAll:cls allPrivateClasses.
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   307
                ].
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   308
            ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   309
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   310
    classes size == 0 ifTrue:[
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   311
        classes := nil.
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   312
        methods size == 0 ifTrue:[ 
11272
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   313
            (browser ? Dialog) warn:'No class(es) given for search.'.
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   314
            ^ self.
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   315
        ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   316
    ] ifFalse:[
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   317
        classes := classes asOrderedCollection.
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   318
        methods size ~~ 0 ifTrue:[ 
11272
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   319
            (browser ? Dialog) warn:'oops'.
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   320
            methods := nil.
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   321
        ].
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   322
    ].
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   323
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   324
    matchHolderValue := matchHolder value.
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   325
    matchHolderValue notNil ifTrue:[
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   326
        LastSearchWasMatch := matchHolderValue
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   327
    ].
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   328
    caseHolderValue := caseHolder value.
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   329
    caseHolderValue notNil ifTrue:[
9001
22e3a719e91a inverted the check-box meaning: \"Ignore case\" vs. \"Case Sensitive\"
Claus Gittinger <cg@exept.de>
parents: 8833
diff changeset
   330
        LastSearchWasCaseSensitive := caseHolderValue
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   331
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   332
6685
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   333
    selectorOrCode := sel ? code.
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   334
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   335
    aBlock numArgs == 7 ifTrue:[
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   336
        "/ old style
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   337
        aBlock
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   338
            value:classes
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   339
            value:(sel ? code)
9001
22e3a719e91a inverted the check-box meaning: \"Ignore case\" vs. \"Case Sensitive\"
Claus Gittinger <cg@exept.de>
parents: 8833
diff changeset
   340
            value:(self searchIgnoringCase)
6685
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   341
            value:openHow
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   342
            value:(matchHolderValue ? false)
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   343
            value:methods
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   344
            value:(isMethodHolder value ? false).
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   345
    ] ifFalse:[
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   346
        aBlock value.
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   347
    ]
10469
d9dc7aa63fd6 changed: #askThenDo:
Claus Gittinger <cg@exept.de>
parents: 10444
diff changeset
   348
11812
15a7f2410d34 changed: #askThenDo:
Claus Gittinger <cg@exept.de>
parents: 11751
diff changeset
   349
    "Modified: / 26-09-2012 / 11:50:45 / cg"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   350
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   351
9365
c27204a9244b comment/format in: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry:
Claus Gittinger <cg@exept.de>
parents: 9336
diff changeset
   352
setupToAskForMethodSearchTitle:title forBrowser:brwsrArg searchWhat:searchWhatArg 
10189
0be2c38f087a comment/format in: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry:
Claus Gittinger <cg@exept.de>
parents: 9645
diff changeset
   353
  searchArea:whereDefault withCaseIgnore:withCaseIgnore withMatch:withMatch 
0be2c38f087a comment/format in: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry:
Claus Gittinger <cg@exept.de>
parents: 9645
diff changeset
   354
  withMethodList:withMethodList allowFind:allowFindArg allowBuffer:allowBufferArg 
0be2c38f087a comment/format in: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry:
Claus Gittinger <cg@exept.de>
parents: 9645
diff changeset
   355
  allowBrowser:allowBrowserArg withTextEntry:withTextEntryArg 
9365
c27204a9244b comment/format in: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry:
Claus Gittinger <cg@exept.de>
parents: 9336
diff changeset
   356
10444
702c7ef1f1bc class definition
Stefan Vogel <sv@exept.de>
parents: 10377
diff changeset
   357
    |where ns methodNameSpaces methodPackages hPanel leftVerticalPanel rightVerticalPanel|
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   358
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   359
    allowFind := allowFindArg.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   360
    allowBuffer := allowBufferArg.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   361
    allowBrowser := allowBrowserArg.
9311
ac0f3956c140 searchdialog refactoring
Claus Gittinger <cg@exept.de>
parents: 9309
diff changeset
   362
    searchWhat := searchWhatArg.
ac0f3956c140 searchdialog refactoring
Claus Gittinger <cg@exept.de>
parents: 9309
diff changeset
   363
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   364
    withTextEntry := withTextEntryArg.
11272
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   365
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   366
    (browser := brwsrArg) isNil ifTrue:[
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   367
        resources := NewSystemBrowser classResources.
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   368
    ] ifFalse:[
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   369
        resources := browser resources.
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   370
        selectedClasses := browser selectedClasses value.
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   371
        selectedCategories := browser selectedCategoriesValue.
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   372
        selectedCategories := selectedCategories reject:[:cat | NavigatorModel isPseudoCategory:cat].
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   373
        selectedMethods := browser selectedMethods value.
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   374
        currentClass := browser theSingleSelectedClass.
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   375
        currentClassCategory := browser theSingleSelectedCategory.
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   376
        currentPackage := browser theSingleSelectedProject.
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   377
        currentClass isNil ifTrue:[
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   378
            browser hasMethodSelected ifTrue:[
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   379
                currentClass := selectedMethods first mclass.
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   380
                "/ selectedClasses := (selectedMethods collect:[:each | each mclass ]) asIdentitySet.
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   381
                "/ selectedClasses := selectedClasses select:[:each | each notNil ].
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   382
            ].
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   383
        ].
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   384
    ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   385
13875
a1e9ad9d39eb merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13736
diff changeset
   386
    (self addTextLabel:(resources stringWithCRs:title)) adjust:#left.
6685
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   387
6242
53a88bc35aa5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5886
diff changeset
   388
    currentClass notNil ifTrue:[
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   389
        currentClass := currentClass theNonMetaclass.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   390
    ].
6242
53a88bc35aa5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5886
diff changeset
   391
    withTextEntry ifTrue:[
53a88bc35aa5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5886
diff changeset
   392
        self addTextEntryWithCaseIgnore:withCaseIgnore withMatch:withMatch.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   393
    ].
10962
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   394
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   395
    searchAreas := OrderedCollection new.
6685
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   396
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   397
    self addHorizontalLine.
10962
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   398
    "/ self addVerticalSpace.
6685
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   399
11751
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   400
    (showMetaFilter ? false) ifTrue:[
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   401
        currentPanel := self.
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   402
        self addCheckBoxForMetaClassesOnly.
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   403
    ].
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   404
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   405
6685
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   406
    hPanel := HorizontalPanelView "SimpleView" new.
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   407
    hPanel verticalLayout:#top.
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   408
    hPanel horizontalLayout:#left.
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   409
8782
046c75a49b34 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8756
diff changeset
   410
    leftVerticalPanel := currentPanel := VerticalPanelView new.
6685
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   411
    leftVerticalPanel verticalLayout:#topSpace.
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   412
    leftVerticalPanel horizontalLayout:#fitSpace.
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   413
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   414
    (self addTextLabel:(resources string:'Search in:')) adjust:#left.
11751
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   415
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   416
    whereRadioGroup := RadioButtonGroup new.
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   417
6242
53a88bc35aa5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5886
diff changeset
   418
    (selectedCategories size > 0 or:[ selectedClasses size > 0 ]) ifTrue:[
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   419
        self addCheckBoxForEverywhere.
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   420
        "/        classMethodListView notNil ifTrue:[
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   421
        "/            b := CheckBox label:(resources string:'Shown Methods').
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   422
        "/            panel add:b. whereChannel add:b value:#currentMethodList.
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   423
        "/            areas add:#currentMethodList.
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   424
        "/            self makeTabable:b.
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   425
        "/        ].
6242
53a88bc35aa5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5886
diff changeset
   426
        browser isMethodListBrowser ifTrue:[
7374
0efb6827e9de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7333
diff changeset
   427
            methods := browser selectedMethods value ? #().
0efb6827e9de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7333
diff changeset
   428
            methodNameSpaces := methods
0efb6827e9de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7333
diff changeset
   429
                        select:[:eachMethod | eachMethod mclass notNil]
0efb6827e9de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7333
diff changeset
   430
                        thenCollect:[:eachMethod | eachMethod mclass topNameSpace ].
0efb6827e9de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7333
diff changeset
   431
            methodPackages := methods 
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   432
                        collect:[:eachMethod | eachMethod package ].
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   433
        ].
6242
53a88bc35aa5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5886
diff changeset
   434
        methodNameSpaces size == 1 ifTrue:[
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   435
            currentNamespace := methodNameSpaces first.
6242
53a88bc35aa5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5886
diff changeset
   436
        ] ifFalse:[
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   437
            currentNamespace := browser currentNamespace.
6379
443b9d779656 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6351
diff changeset
   438
            selectedClasses size == 0 ifTrue:[
443b9d779656 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6351
diff changeset
   439
                |classesInAllSelectedCategories nameSpacesOfAllClassesInAllSelectedCategories|
443b9d779656 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6351
diff changeset
   440
                classesInAllSelectedCategories := Smalltalk allClasses select:[:cls | selectedCategories includes:cls category].
443b9d779656 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6351
diff changeset
   441
                nameSpacesOfAllClassesInAllSelectedCategories := classesInAllSelectedCategories collect:[:eachClass | eachClass topNameSpace].
443b9d779656 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6351
diff changeset
   442
                nameSpacesOfAllClassesInAllSelectedCategories size == 1 ifTrue:[
443b9d779656 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6351
diff changeset
   443
                    currentNamespace := nameSpacesOfAllClassesInAllSelectedCategories first.
443b9d779656 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6351
diff changeset
   444
                ].
443b9d779656 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6351
diff changeset
   445
            ].
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   446
        ].
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   447
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   448
        (currentNamespace notNil 
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   449
            and:[ currentNamespace ~= (browser nameListEntryForALL) ]) 
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   450
                ifTrue:[ self addCheckBoxForCurrentNamespace ]
6242
53a88bc35aa5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5886
diff changeset
   451
                ifFalse:[
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   452
                    (currentClass notNil 
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   453
                        and:[ (ns := currentClass nameSpace) notNil and:[ ns ~~ Smalltalk ] ]) 
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   454
                            ifTrue:[ self addCheckBoxForClassesNamespace:ns ].
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   455
                ].
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   456
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   457
        methodPackages size == 1 ifTrue:[
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   458
            currentPackage := methodPackages first.
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   459
        ] ifFalse:[
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   460
            currentPackage := browser currentProject.
7384
8af5e37f3dea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7378
diff changeset
   461
"/            selectedClasses size == 0 ifTrue:[
8af5e37f3dea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7378
diff changeset
   462
"/                |classesInAllSelectedCategories packagesOfAllClassesInAllSelectedCategories|
8af5e37f3dea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7378
diff changeset
   463
"/                classesInAllSelectedCategories := Smalltalk allClasses select:[:cls | selectedCategories includes:cls category].
8af5e37f3dea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7378
diff changeset
   464
"/                packagesOfAllClassesInAllSelectedCategories := classesInAllSelectedCategories collect:[:eachClass | eachClass package].
8af5e37f3dea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7378
diff changeset
   465
"/                packagesOfAllClassesInAllSelectedCategories size == 1 ifTrue:[
8af5e37f3dea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7378
diff changeset
   466
"/                    currentPackage := packagesOfAllClassesInAllSelectedCategories first.
8af5e37f3dea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7378
diff changeset
   467
"/                ].
8af5e37f3dea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7378
diff changeset
   468
"/            ].
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   469
        ].
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   470
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   471
        (currentPackage notNil 
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   472
            and:[ currentPackage ~= (browser nameListEntryForALL) ]) 
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   473
                ifTrue:[ self addCheckBoxForCurrentPackage ]
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   474
                ifFalse:[
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   475
                    (currentClass notNil) ifTrue:[ 
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   476
                        self addCheckBoxForClassesPackage:(currentClass package) 
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   477
                    ].
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   478
                ].
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   479
6242
53a88bc35aa5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5886
diff changeset
   480
        selectedCategories size > 0 ifTrue:[
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   481
            self addCheckBoxForSelectedClassCategory.
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   482
        ].
6242
53a88bc35aa5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5886
diff changeset
   483
        (selectedClasses size > 0 or:[ selectedMethods size > 0 ]) ifTrue:[
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   484
            self addCheckBoxForSelectedClass.
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   485
            self addCheckBoxForSelectedClassAndSuperclasses.
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   486
            self addCheckBoxForSelectedClassAndSubclasses.
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   487
            self addCheckBoxForSelectedClassAndPrivateClasses.
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   488
            self addCheckBoxForSelectedClassAndSubclassesAndPrivateClasses.
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   489
            self addCheckBoxForOwnerAndItsPrivateClasses.
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   490
            self addCheckBoxForOwnerAndItsSubclassesAndItsPrivateClasses.
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   491
        ].
6242
53a88bc35aa5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5886
diff changeset
   492
    ] ifFalse:[
11272
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   493
        (browser notNil and:[browser currentNamespace ~~ Smalltalk]) ifTrue:[
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   494
            self addCheckBoxForEverywhere.
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   495
            currentNamespace := browser currentNamespace.
6242
53a88bc35aa5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5886
diff changeset
   496
            currentNamespace ~= (browser nameListEntryForALL) ifTrue:[
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   497
                self addCheckBoxForCurrentNamespace.
6242
53a88bc35aa5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5886
diff changeset
   498
            ] ifFalse:[
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   499
                (currentClass notNil 
6685
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   500
                and:[ (ns := currentClass nameSpace) notNil 
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   501
                and:[ ns ~~ Smalltalk ] ]) 
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   502
                ifTrue:[ 
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   503
                    self addCheckBoxForClassesNamespace:ns 
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   504
                ].
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   505
            ].
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   506
        ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   507
    ].
8083
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
   508
    searchAreas size == 0 ifTrue:[
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
   509
        self addCheckBoxForEverywhere.
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
   510
    ].
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
   511
    self addCheckBoxForChangedClassesList.
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
   512
11272
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   513
    withMethodList ifTrue:[
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   514
        browser isMethodListBrowser ifTrue:[
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   515
            searchAreas size == 0 ifTrue:[
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   516
                self addCheckBoxForEverywhere.
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   517
            ].
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   518
            self addCheckBoxForMethodList.
11632
b8ee8fa3700d changed:
Claus Gittinger <cg@exept.de>
parents: 11295
diff changeset
   519
            self addCheckBoxForSelectedMethods.
11272
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   520
            self addCheckBoxForSelectedMethodClasses.
11295
92ce4ff0f0f9 added: #addCheckBoxForSelectedMethodPackages
Claus Gittinger <cg@exept.de>
parents: 11272
diff changeset
   521
            self addCheckBoxForSelectedMethodPackages.
11272
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   522
        ] ifFalse:[
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   523
            searchAreas size == 0 ifTrue:[
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   524
                self addCheckBoxForEverywhere.
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   525
            ].
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   526
            self addCheckBoxForChangedMethodList.
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   527
        ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   528
    ].
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   529
6242
53a88bc35aa5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5886
diff changeset
   530
    searchAreas size == 0 ifTrue:[
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   531
        whereRadioGroup := #everywhere asValue.
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   532
        self addDummyCheckBoxForEverywhere.
6242
53a88bc35aa5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5886
diff changeset
   533
    ] ifFalse:[
53a88bc35aa5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5886
diff changeset
   534
        whereDefault notNil ifTrue:[
53a88bc35aa5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5886
diff changeset
   535
            (searchAreas includes:whereDefault) ifTrue:[
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   536
                where := whereDefault asSymbol.
6242
53a88bc35aa5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5886
diff changeset
   537
            ] ifFalse:[
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   538
                where := searchAreas first.
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   539
            ].
6242
53a88bc35aa5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5886
diff changeset
   540
        ] ifFalse:[
5886
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   541
            where := #everywhere.
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   542
        ].
a212a4614597 remember last match- and last case-flag setting as default
Claus Gittinger <cg@exept.de>
parents: 5592
diff changeset
   543
        whereRadioGroup value:where.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   544
    ].
6685
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   545
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   546
    hPanel add:leftVerticalPanel.
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   547
10962
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   548
false ifTrue:[
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   549
    "/ noone liked the right panel...
8782
046c75a49b34 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8756
diff changeset
   550
    rightVerticalPanel := currentPanel := VerticalPanelView new.
6685
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   551
    rightVerticalPanel verticalLayout:#topSpace.
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   552
    rightVerticalPanel horizontalLayout:#fitSpace.
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   553
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   554
    self addCheckBoxForClassMethodSearch.
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   555
    self addCheckBoxForInstanceMethodSearch.
10962
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   556
"/    rightVerticalPanel origin:0.75@0.0 corner:1.0@1.0.
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   557
    hPanel 
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   558
        preferredExtent:(leftVerticalPanel preferredWidth + rightVerticalPanel preferredWidth)
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   559
                        @
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   560
                        (leftVerticalPanel preferredHeight max:rightVerticalPanel preferredHeight).
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   561
    hPanel add:rightVerticalPanel.
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   562
] ifFalse:[
6685
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   563
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   564
"/    rightVerticalPanel origin:0.75@0.0 corner:1.0@1.0.
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   565
    hPanel 
10962
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   566
        preferredExtent:(leftVerticalPanel preferredWidth) @ (leftVerticalPanel preferredHeight).
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   567
].
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   568
6685
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   569
    self addComponent:hPanel indent:0.
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   570
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   571
    "/ panel has its own idea of indenting
10962
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   572
    "/ self addVerticalSpace.
9311
ac0f3956c140 searchdialog refactoring
Claus Gittinger <cg@exept.de>
parents: 9309
diff changeset
   573
    searchWhat == #selector ifTrue:[
10962
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   574
        "/ not yet implemented
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   575
        "/ self addHorizontalLine.
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   576
        "/ self addCheckBoxesForClassAndMetaSearch.
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   577
10444
702c7ef1f1bc class definition
Stefan Vogel <sv@exept.de>
parents: 10377
diff changeset
   578
        selectionList := self addFilteredListOfMatchingSelectors.
702c7ef1f1bc class definition
Stefan Vogel <sv@exept.de>
parents: 10377
diff changeset
   579
        self stickAtBottomWithVariableHeight:selectionList.
9315
1ad087feb185 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9311
diff changeset
   580
        matchHolder notNil ifTrue:[
1ad087feb185 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9311
diff changeset
   581
            matchHolder onChangeEvaluate:[ self updateListOfMatchingSelectorsFor:inputField contents ]
1ad087feb185 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9311
diff changeset
   582
        ].
9331
f5f593eca2dd changed: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry:
Claus Gittinger <cg@exept.de>
parents: 9327
diff changeset
   583
        inputField notNil ifTrue:[ self updateListOfMatchingSelectorsFor:inputField contents ].
9311
ac0f3956c140 searchdialog refactoring
Claus Gittinger <cg@exept.de>
parents: 9309
diff changeset
   584
    ] ifFalse:[
ac0f3956c140 searchdialog refactoring
Claus Gittinger <cg@exept.de>
parents: 9309
diff changeset
   585
        self addHorizontalLine.
ac0f3956c140 searchdialog refactoring
Claus Gittinger <cg@exept.de>
parents: 9309
diff changeset
   586
    ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   587
    self addButtons.
6685
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   588
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   589
    self label:(resources string:'Search').
7374
0efb6827e9de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7333
diff changeset
   590
11751
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   591
    "Modified: / 20-08-2012 / 13:25:03 / cg"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   592
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   593
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   594
!SearchDialog methodsFor:'setup'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   595
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   596
addCheckBox:b forSearchArea:area 
8782
046c75a49b34 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8756
diff changeset
   597
    currentPanel add:b.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   598
    whereRadioGroup add:b value:area.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   599
    searchAreas add:area.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   600
    self makeTabable:b.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   601
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   602
8083
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
   603
addCheckBoxForChangedClassesList
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
   604
    |b|
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
   605
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
   606
    b := CheckBox label:(resources string:'Changed Classes').
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
   607
    self addCheckBox:b forSearchArea:#listOfChangedClasses.
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
   608
    ChangeSet current changedClasses isEmpty ifTrue:[
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
   609
        b disable
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
   610
    ].
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
   611
    ^ b.
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
   612
!
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
   613
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
   614
addCheckBoxForChangedMethodList
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
   615
    |b|
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
   616
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
   617
    b := CheckBox label:(resources string:'Changed Methods').
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
   618
    self addCheckBox:b forSearchArea:#listOfChangedMethods.
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
   619
    ChangeSet current changeSelectors isEmpty ifTrue:[
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
   620
        b disable
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
   621
    ].
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
   622
    ^ b.
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
   623
!
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
   624
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   625
addCheckBoxForClassesNamespace:ns 
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   626
    |b|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   627
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   628
    b := CheckBox 
8124
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   629
                label:(resources string:'Classes'' nameSpace ("%1")' with:ns name).
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   630
    self addCheckBox:b forSearchArea:#currentClassesNameSpace.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   631
    ^ b.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   632
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   633
7333
1b621d894e6a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7171
diff changeset
   634
addCheckBoxForClassesPackage:pkg 
1b621d894e6a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7171
diff changeset
   635
    |b|
1b621d894e6a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7171
diff changeset
   636
1b621d894e6a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7171
diff changeset
   637
    b := CheckBox 
8124
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   638
                label:(resources string:'Classes'' package ("%1")' with:pkg).
7333
1b621d894e6a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7171
diff changeset
   639
    self addCheckBox:b forSearchArea:#currentClassesPackage.
1b621d894e6a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7171
diff changeset
   640
    ^ b.
1b621d894e6a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7171
diff changeset
   641
1b621d894e6a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7171
diff changeset
   642
    "Created: / 21-09-2006 / 17:39:55 / cg"
1b621d894e6a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7171
diff changeset
   643
!
1b621d894e6a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7171
diff changeset
   644
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   645
addCheckBoxForCurrentNamespace
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   646
    |b|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   647
7384
8af5e37f3dea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7378
diff changeset
   648
    b := CheckBox 
8124
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   649
            label:(resources string:'Current nameSpace ("%1")' with:currentNamespace name).
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   650
    self addCheckBox:b forSearchArea:#currentNameSpace.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   651
    ^ b.
7384
8af5e37f3dea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7378
diff changeset
   652
8af5e37f3dea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7378
diff changeset
   653
    "Modified: / 10-10-2006 / 15:28:47 / cg"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   654
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   655
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   656
addCheckBoxForCurrentPackage
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   657
    |b|
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   658
7384
8af5e37f3dea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7378
diff changeset
   659
    b := CheckBox 
8124
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   660
            label:(resources string:'Current package ("%1")' with:currentPackage).
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   661
    self addCheckBox:b forSearchArea:#currentPackage.
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   662
    ^ b.
7384
8af5e37f3dea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7378
diff changeset
   663
8af5e37f3dea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7378
diff changeset
   664
    "Modified: / 10-10-2006 / 15:28:51 / cg"
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   665
!
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   666
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   667
addCheckBoxForCurrentPackage:pkg 
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   668
    |b|
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   669
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   670
    b := CheckBox 
8124
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   671
            label:(resources string:'Classes'' package ("%1")' with:pkg).
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   672
    self addCheckBox:b forSearchArea:#currentClassesPackage.
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   673
    ^ b.
7384
8af5e37f3dea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7378
diff changeset
   674
8af5e37f3dea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7378
diff changeset
   675
    "Modified: / 10-10-2006 / 15:29:06 / cg"
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   676
!
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   677
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   678
addCheckBoxForEverywhere
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   679
    |b|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   680
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   681
    b := CheckBox label:(resources string:'Everywhere').
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   682
    self addCheckBox:b forSearchArea:#everywhere.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   683
    ^ b.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   684
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   685
11751
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   686
addCheckBoxForMetaClassesOnly
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   687
    |p b|
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   688
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   689
    p := View new.
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   690
    
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   691
    b := CheckBox label:(resources string:'Metaclasses Only') in:p.
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   692
    b model:(metaclassesOnlyHolder := false asValue).
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   693
    metaclassesOnlyHolder onChangeEvaluate:[metaclassesOnlyHolder value ifTrue:[classesOnlyHolder value:false]].
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   694
    self makeTabable:b.
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   695
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   696
    b := CheckBox label:(resources string:'Classes Only') in:p.
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   697
    b left:0.5.
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   698
    b model:(classesOnlyHolder := false asValue).
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   699
    classesOnlyHolder onChangeEvaluate:[classesOnlyHolder value ifTrue:[metaclassesOnlyHolder value:false]].
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   700
    self makeTabable:b.
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   701
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   702
    currentPanel add:p.
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   703
    ^ nil.
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   704
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   705
    "Created: / 20-08-2012 / 11:32:15 / cg"
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   706
!
d40162ff3375 class definition
Claus Gittinger <cg@exept.de>
parents: 11632
diff changeset
   707
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   708
addCheckBoxForMethodList
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   709
    |b|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   710
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   711
    b := CheckBox label:(resources string:'Methodlist').
9640
68bba6744726 default for text-search in method -list
Claus Gittinger <cg@exept.de>
parents: 9619
diff changeset
   712
    self addCheckBox:b forSearchArea:AREA_LISTOFMETHODS.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   713
    ^ b.
9640
68bba6744726 default for text-search in method -list
Claus Gittinger <cg@exept.de>
parents: 9619
diff changeset
   714
68bba6744726 default for text-search in method -list
Claus Gittinger <cg@exept.de>
parents: 9619
diff changeset
   715
    "Modified: / 19-11-2010 / 12:00:52 / cg"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   716
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   717
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   718
addCheckBoxForOwnerAndItsPrivateClasses
8124
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   719
    |b lbl arg|
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   720
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   721
    (currentClass notNil and:[ currentClass isPrivate. ]) ifTrue:[ 
8124
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   722
        lbl := 'Owner (%1) & all its private classes'.
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   723
        arg := currentClass owningClass name.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   724
    ] ifFalse:[ 
8124
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   725
        lbl := 'Owners & all their private classes'.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   726
    ].
8124
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   727
    b := CheckBox label:(resources string:lbl with:arg).
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   728
    self addCheckBox:b forSearchArea:#ownersWithPrivateClasses.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   729
    (selectedClasses contains:[ :cls | cls isPrivate. ]) ifFalse:[ 
8124
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   730
        b disable.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   731
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   732
    ^ b.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   733
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   734
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   735
addCheckBoxForOwnerAndItsSubclassesAndItsPrivateClasses
8124
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   736
    |b lbl arg|
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   737
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   738
    (currentClass notNil and:[ currentClass isPrivate. ]) ifTrue:[ 
8124
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   739
        lbl := 'Owner (%1) & its subclasses & all its private classes'.
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   740
        arg := currentClass owningClass name.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   741
    ] ifFalse:[ 
8124
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   742
        lbl := 'Owners & their subclasses & all their private classes'.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   743
    ].
8124
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   744
    b := CheckBox label:(resources string:lbl with:arg).
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   745
    self addCheckBox:b forSearchArea:#ownersHierarchiesWithPrivateClasses.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   746
    (selectedClasses contains:[ :cls | cls isPrivate. ]) ifFalse:[ 
8124
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   747
        b disable.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   748
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   749
    ^ b.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   750
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   751
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   752
addCheckBoxForSelectedClass
8124
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   753
    |b lbl arg|
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   754
8269
eb414f5f7bf1 multiple seleted class search also when an inheritance classList is shown
Claus Gittinger <cg@exept.de>
parents: 8165
diff changeset
   755
    (browser isMethodListBrowser 
eb414f5f7bf1 multiple seleted class search also when an inheritance classList is shown
Claus Gittinger <cg@exept.de>
parents: 8165
diff changeset
   756
    or:[ currentClass isNil
eb414f5f7bf1 multiple seleted class search also when an inheritance classList is shown
Claus Gittinger <cg@exept.de>
parents: 8165
diff changeset
   757
    or:[ selectedClasses size > 1] ]) ifTrue:[ 
8124
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   758
        selectedClasses size == 1 ifTrue:[ 
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   759
            lbl := 'Selected class ("%1")'.
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   760
            arg := selectedClasses first theNonMetaclass name.
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   761
        ] ifFalse:[ 
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   762
            lbl := 'Selected classes (%1)'.
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   763
            arg := selectedClasses size.
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   764
        ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   765
    ] ifFalse:[ 
8124
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   766
        lbl := 'Class ("%1")'.
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   767
        arg := currentClass name.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   768
    ].
8124
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   769
    b := CheckBox label:(resources string:lbl with:arg).
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   770
    self addCheckBox:b forSearchArea:#classes.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   771
    ^ b.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   772
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   773
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   774
addCheckBoxForSelectedClassAndPrivateClasses
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   775
    |b lbl|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   776
8269
eb414f5f7bf1 multiple seleted class search also when an inheritance classList is shown
Claus Gittinger <cg@exept.de>
parents: 8165
diff changeset
   777
    (browser isMethodListBrowser 
eb414f5f7bf1 multiple seleted class search also when an inheritance classList is shown
Claus Gittinger <cg@exept.de>
parents: 8165
diff changeset
   778
    or:[ currentClass isNil 
eb414f5f7bf1 multiple seleted class search also when an inheritance classList is shown
Claus Gittinger <cg@exept.de>
parents: 8165
diff changeset
   779
    or:[ selectedClasses size > 1] ]) ifTrue:[ 
eb414f5f7bf1 multiple seleted class search also when an inheritance classList is shown
Claus Gittinger <cg@exept.de>
parents: 8165
diff changeset
   780
        lbl := 'Selected classes & all private classes'.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   781
    ] ifFalse:[ 
8269
eb414f5f7bf1 multiple seleted class search also when an inheritance classList is shown
Claus Gittinger <cg@exept.de>
parents: 8165
diff changeset
   782
        lbl := 'Class & private classes'.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   783
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   784
    b := CheckBox label:(resources string:lbl).
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   785
    self addCheckBox:b forSearchArea:#classesWithPrivateClasses.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   786
    (selectedClasses 
8269
eb414f5f7bf1 multiple seleted class search also when an inheritance classList is shown
Claus Gittinger <cg@exept.de>
parents: 8165
diff changeset
   787
        contains:[ :cls | cls theNonMetaclass privateClasses size > 0. ]) 
eb414f5f7bf1 multiple seleted class search also when an inheritance classList is shown
Claus Gittinger <cg@exept.de>
parents: 8165
diff changeset
   788
            ifFalse:[ b disable. ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   789
    ^ b.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   790
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   791
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   792
addCheckBoxForSelectedClassAndSubclasses
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   793
    |b lbl|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   794
8269
eb414f5f7bf1 multiple seleted class search also when an inheritance classList is shown
Claus Gittinger <cg@exept.de>
parents: 8165
diff changeset
   795
    (browser isMethodListBrowser 
eb414f5f7bf1 multiple seleted class search also when an inheritance classList is shown
Claus Gittinger <cg@exept.de>
parents: 8165
diff changeset
   796
    or:[ currentClass isNil
eb414f5f7bf1 multiple seleted class search also when an inheritance classList is shown
Claus Gittinger <cg@exept.de>
parents: 8165
diff changeset
   797
    or:[ selectedClasses size > 1] ]) ifTrue:[ 
eb414f5f7bf1 multiple seleted class search also when an inheritance classList is shown
Claus Gittinger <cg@exept.de>
parents: 8165
diff changeset
   798
        lbl := 'Selected classes & all subclasses'.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   799
    ] ifFalse:[ 
8269
eb414f5f7bf1 multiple seleted class search also when an inheritance classList is shown
Claus Gittinger <cg@exept.de>
parents: 8165
diff changeset
   800
        lbl := 'Class & subclasses'.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   801
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   802
    b := CheckBox label:(resources string:lbl).
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   803
    self addCheckBox:b forSearchArea:#classHierarchies.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   804
    (selectedClasses 
8269
eb414f5f7bf1 multiple seleted class search also when an inheritance classList is shown
Claus Gittinger <cg@exept.de>
parents: 8165
diff changeset
   805
        contains:[ :cls | cls theNonMetaclass subclasses size > 0. ]) 
eb414f5f7bf1 multiple seleted class search also when an inheritance classList is shown
Claus Gittinger <cg@exept.de>
parents: 8165
diff changeset
   806
            ifFalse:[ b disable. ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   807
    ^ b.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   808
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   809
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   810
addCheckBoxForSelectedClassAndSubclassesAndPrivateClasses
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   811
    |b lbl|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   812
8269
eb414f5f7bf1 multiple seleted class search also when an inheritance classList is shown
Claus Gittinger <cg@exept.de>
parents: 8165
diff changeset
   813
    (browser isMethodListBrowser 
eb414f5f7bf1 multiple seleted class search also when an inheritance classList is shown
Claus Gittinger <cg@exept.de>
parents: 8165
diff changeset
   814
    or:[ currentClass isNil
eb414f5f7bf1 multiple seleted class search also when an inheritance classList is shown
Claus Gittinger <cg@exept.de>
parents: 8165
diff changeset
   815
    or:[ selectedClasses size > 1] ]) ifTrue:[ 
eb414f5f7bf1 multiple seleted class search also when an inheritance classList is shown
Claus Gittinger <cg@exept.de>
parents: 8165
diff changeset
   816
        lbl := 'Selected classes & all subclasses & all private classes'.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   817
    ] ifFalse:[ 
8269
eb414f5f7bf1 multiple seleted class search also when an inheritance classList is shown
Claus Gittinger <cg@exept.de>
parents: 8165
diff changeset
   818
        lbl := 'Class & subclasses & all private classes'.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   819
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   820
    b := CheckBox label:(resources string:lbl).
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   821
    self addCheckBox:b forSearchArea:#classHierarchiesWithPrivateClasses.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   822
    (selectedClasses 
8269
eb414f5f7bf1 multiple seleted class search also when an inheritance classList is shown
Claus Gittinger <cg@exept.de>
parents: 8165
diff changeset
   823
        contains:[ :cls | cls theNonMetaclass privateClasses size > 0. ]) 
eb414f5f7bf1 multiple seleted class search also when an inheritance classList is shown
Claus Gittinger <cg@exept.de>
parents: 8165
diff changeset
   824
            ifFalse:[ b disable. ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   825
    ^ b.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   826
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   827
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   828
addCheckBoxForSelectedClassAndSuperclasses
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   829
    |b lbl|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   830
8269
eb414f5f7bf1 multiple seleted class search also when an inheritance classList is shown
Claus Gittinger <cg@exept.de>
parents: 8165
diff changeset
   831
    (browser isMethodListBrowser 
eb414f5f7bf1 multiple seleted class search also when an inheritance classList is shown
Claus Gittinger <cg@exept.de>
parents: 8165
diff changeset
   832
    or:[ currentClass isNil
eb414f5f7bf1 multiple seleted class search also when an inheritance classList is shown
Claus Gittinger <cg@exept.de>
parents: 8165
diff changeset
   833
    or:[ selectedClasses size > 1] ]) ifTrue:[ 
eb414f5f7bf1 multiple seleted class search also when an inheritance classList is shown
Claus Gittinger <cg@exept.de>
parents: 8165
diff changeset
   834
        lbl := 'Selected classes & all superclasses'.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   835
    ] ifFalse:[ 
8269
eb414f5f7bf1 multiple seleted class search also when an inheritance classList is shown
Claus Gittinger <cg@exept.de>
parents: 8165
diff changeset
   836
        lbl := 'Class & superclasses'.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   837
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   838
    b := CheckBox label:(resources string:lbl).
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   839
    self addCheckBox:b forSearchArea:#classesAndSuperclasses.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   840
    (selectedClasses 
8269
eb414f5f7bf1 multiple seleted class search also when an inheritance classList is shown
Claus Gittinger <cg@exept.de>
parents: 8165
diff changeset
   841
        contains:[ :cls | cls theNonMetaclass superclass notNil. ]) 
eb414f5f7bf1 multiple seleted class search also when an inheritance classList is shown
Claus Gittinger <cg@exept.de>
parents: 8165
diff changeset
   842
            ifFalse:[ b disable. ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   843
    ^ b.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   844
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   845
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   846
addCheckBoxForSelectedClassCategory
8124
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   847
    |b lbl arg|
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   848
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   849
    currentClassCategory notNil ifTrue:[ 
8124
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   850
        lbl := 'Class category ("%1")'.
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   851
        arg := currentClassCategory.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   852
    ] ifFalse:[ 
12071
b9d1bbd2d2f2 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 11812
diff changeset
   853
        lbl := 'Selected class categories (%1)'.
8124
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   854
        arg := selectedCategories size.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   855
    ].
8124
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   856
    b := CheckBox label:(resources string:lbl with:arg).
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   857
    self addCheckBox:b forSearchArea:#classCategories.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   858
    ^ b.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   859
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   860
8566
159df00766af *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8304
diff changeset
   861
addCheckBoxForSelectedMethodClasses
11632
b8ee8fa3700d changed:
Claus Gittinger <cg@exept.de>
parents: 11295
diff changeset
   862
    |b classes numClasses|
8566
159df00766af *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8304
diff changeset
   863
9619
23273d2df296 changed: #addCheckBoxForSelectedMethodClasses
Claus Gittinger <cg@exept.de>
parents: 9600
diff changeset
   864
    classes := ((browser selectedMethods value ? #()) 
23273d2df296 changed: #addCheckBoxForSelectedMethodClasses
Claus Gittinger <cg@exept.de>
parents: 9600
diff changeset
   865
                    select:[:m | m mclass notNil]
23273d2df296 changed: #addCheckBoxForSelectedMethodClasses
Claus Gittinger <cg@exept.de>
parents: 9600
diff changeset
   866
                    thenCollect:[:m | m mclass theNonMetaclass]) asSet.
11632
b8ee8fa3700d changed:
Claus Gittinger <cg@exept.de>
parents: 11295
diff changeset
   867
    numClasses := classes size.
b8ee8fa3700d changed:
Claus Gittinger <cg@exept.de>
parents: 11295
diff changeset
   868
    numClasses == 0 ifTrue:[^ self]. "/ comment this to show, but disabled
b8ee8fa3700d changed:
Claus Gittinger <cg@exept.de>
parents: 11295
diff changeset
   869
b8ee8fa3700d changed:
Claus Gittinger <cg@exept.de>
parents: 11295
diff changeset
   870
    numClasses == 1 ifTrue:[
11295
92ce4ff0f0f9 added: #addCheckBoxForSelectedMethodPackages
Claus Gittinger <cg@exept.de>
parents: 11272
diff changeset
   871
        b := CheckBox label:(resources string:'Selected method''s class ("%1")'
8566
159df00766af *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8304
diff changeset
   872
                            with:classes first name).
159df00766af *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8304
diff changeset
   873
    ] ifFalse:[
9271
4fc80f22048c changed: #addCheckBoxForSelectedMethodClasses
Claus Gittinger <cg@exept.de>
parents: 9245
diff changeset
   874
        b := CheckBox label:(resources string:'Selected methods'' classes (%1)'
11632
b8ee8fa3700d changed:
Claus Gittinger <cg@exept.de>
parents: 11295
diff changeset
   875
                            with:numClasses).
b8ee8fa3700d changed:
Claus Gittinger <cg@exept.de>
parents: 11295
diff changeset
   876
        numClasses == 0 ifTrue:[
b8ee8fa3700d changed:
Claus Gittinger <cg@exept.de>
parents: 11295
diff changeset
   877
            b disable
b8ee8fa3700d changed:
Claus Gittinger <cg@exept.de>
parents: 11295
diff changeset
   878
        ].
8566
159df00766af *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8304
diff changeset
   879
    ].
159df00766af *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8304
diff changeset
   880
    self addCheckBox:b forSearchArea:#listOfSelectedMethodClasses.
159df00766af *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8304
diff changeset
   881
    ^ b.
9619
23273d2df296 changed: #addCheckBoxForSelectedMethodClasses
Claus Gittinger <cg@exept.de>
parents: 9600
diff changeset
   882
11632
b8ee8fa3700d changed:
Claus Gittinger <cg@exept.de>
parents: 11295
diff changeset
   883
    "Modified (comment): / 20-07-2012 / 11:40:44 / cg"
11295
92ce4ff0f0f9 added: #addCheckBoxForSelectedMethodPackages
Claus Gittinger <cg@exept.de>
parents: 11272
diff changeset
   884
!
92ce4ff0f0f9 added: #addCheckBoxForSelectedMethodPackages
Claus Gittinger <cg@exept.de>
parents: 11272
diff changeset
   885
92ce4ff0f0f9 added: #addCheckBoxForSelectedMethodPackages
Claus Gittinger <cg@exept.de>
parents: 11272
diff changeset
   886
addCheckBoxForSelectedMethodPackages
11632
b8ee8fa3700d changed:
Claus Gittinger <cg@exept.de>
parents: 11295
diff changeset
   887
    |b packages numPackages|
11295
92ce4ff0f0f9 added: #addCheckBoxForSelectedMethodPackages
Claus Gittinger <cg@exept.de>
parents: 11272
diff changeset
   888
92ce4ff0f0f9 added: #addCheckBoxForSelectedMethodPackages
Claus Gittinger <cg@exept.de>
parents: 11272
diff changeset
   889
    packages := ((browser selectedMethods value ? #()) 
12616
51c8f7e99584 Refactoring:
Stefan Vogel <sv@exept.de>
parents: 12474
diff changeset
   890
                    collect:[:m | m package] as:Set).
11632
b8ee8fa3700d changed:
Claus Gittinger <cg@exept.de>
parents: 11295
diff changeset
   891
    numPackages := packages size.
b8ee8fa3700d changed:
Claus Gittinger <cg@exept.de>
parents: 11295
diff changeset
   892
    numPackages size == 0 ifTrue:[^ self]. "/ comment this to show, but disabled
11295
92ce4ff0f0f9 added: #addCheckBoxForSelectedMethodPackages
Claus Gittinger <cg@exept.de>
parents: 11272
diff changeset
   893
11632
b8ee8fa3700d changed:
Claus Gittinger <cg@exept.de>
parents: 11295
diff changeset
   894
    numPackages == 1 ifTrue:[
11295
92ce4ff0f0f9 added: #addCheckBoxForSelectedMethodPackages
Claus Gittinger <cg@exept.de>
parents: 11272
diff changeset
   895
        b := CheckBox label:(resources string:'Selected method''s package ("%1")'
92ce4ff0f0f9 added: #addCheckBoxForSelectedMethodPackages
Claus Gittinger <cg@exept.de>
parents: 11272
diff changeset
   896
                            with:packages first).
92ce4ff0f0f9 added: #addCheckBoxForSelectedMethodPackages
Claus Gittinger <cg@exept.de>
parents: 11272
diff changeset
   897
    ] ifFalse:[
92ce4ff0f0f9 added: #addCheckBoxForSelectedMethodPackages
Claus Gittinger <cg@exept.de>
parents: 11272
diff changeset
   898
        b := CheckBox label:(resources string:'Selected methods'' packages (%1)'
11632
b8ee8fa3700d changed:
Claus Gittinger <cg@exept.de>
parents: 11295
diff changeset
   899
                            with:numPackages).
b8ee8fa3700d changed:
Claus Gittinger <cg@exept.de>
parents: 11295
diff changeset
   900
        numPackages == 0 ifTrue:[
b8ee8fa3700d changed:
Claus Gittinger <cg@exept.de>
parents: 11295
diff changeset
   901
            b disable
b8ee8fa3700d changed:
Claus Gittinger <cg@exept.de>
parents: 11295
diff changeset
   902
        ].
11295
92ce4ff0f0f9 added: #addCheckBoxForSelectedMethodPackages
Claus Gittinger <cg@exept.de>
parents: 11272
diff changeset
   903
    ].
92ce4ff0f0f9 added: #addCheckBoxForSelectedMethodPackages
Claus Gittinger <cg@exept.de>
parents: 11272
diff changeset
   904
    self addCheckBox:b forSearchArea:#listOfSelectedMethodPackages.
92ce4ff0f0f9 added: #addCheckBoxForSelectedMethodPackages
Claus Gittinger <cg@exept.de>
parents: 11272
diff changeset
   905
    ^ b.
92ce4ff0f0f9 added: #addCheckBoxForSelectedMethodPackages
Claus Gittinger <cg@exept.de>
parents: 11272
diff changeset
   906
92ce4ff0f0f9 added: #addCheckBoxForSelectedMethodPackages
Claus Gittinger <cg@exept.de>
parents: 11272
diff changeset
   907
    "Created: / 29-02-2012 / 19:42:26 / cg"
8566
159df00766af *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8304
diff changeset
   908
!
159df00766af *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8304
diff changeset
   909
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   910
addCheckBoxForSelectedMethods
11632
b8ee8fa3700d changed:
Claus Gittinger <cg@exept.de>
parents: 11295
diff changeset
   911
    |b numSelected|
b8ee8fa3700d changed:
Claus Gittinger <cg@exept.de>
parents: 11295
diff changeset
   912
b8ee8fa3700d changed:
Claus Gittinger <cg@exept.de>
parents: 11295
diff changeset
   913
    numSelected := browser selectedMethods value size.
b8ee8fa3700d changed:
Claus Gittinger <cg@exept.de>
parents: 11295
diff changeset
   914
    numSelected == 0 ifTrue:[^ self]. "/ comment this to show, but disabled
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   915
11632
b8ee8fa3700d changed:
Claus Gittinger <cg@exept.de>
parents: 11295
diff changeset
   916
    b := CheckBox label:(resources string:'Selected methods (%1)' with:numSelected).
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   917
    self addCheckBox:b forSearchArea:#listOfSelectedMethods.
11632
b8ee8fa3700d changed:
Claus Gittinger <cg@exept.de>
parents: 11295
diff changeset
   918
    numSelected == 0 ifTrue:[b disable].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   919
    ^ b.
11632
b8ee8fa3700d changed:
Claus Gittinger <cg@exept.de>
parents: 11295
diff changeset
   920
b8ee8fa3700d changed:
Claus Gittinger <cg@exept.de>
parents: 11295
diff changeset
   921
    "Modified (comment): / 20-07-2012 / 11:40:33 / cg"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   922
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   923
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   924
addCheckBoxForSelectedPackage
8124
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   925
    |b lbl arg|
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   926
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   927
    currentClassCategory notNil ifTrue:[ 
8124
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   928
        lbl := 'Class category ("%1")'.
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   929
        arg := currentClassCategory.
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   930
    ] ifFalse:[ 
8124
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   931
        lbl := 'Selected classes categories (%1)'.
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   932
        arg := selectedCategories size.
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   933
    ].
8124
efb41986ea62 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8123
diff changeset
   934
    b := CheckBox label:(resources string:lbl with:arg).
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   935
    self addCheckBox:b forSearchArea:#classCategories.
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   936
    ^ b.
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   937
!
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
   938
10962
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   939
addCheckBoxesForClassAndMetaSearch
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   940
    |y b1 b2|
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   941
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   942
    y := self yPosition.
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   943
    b1 := self addCheckBox:(resources string:'Instance Protocol') on:(self searchInstanceProtocolHolder).
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   944
    "/ b1 width:0.5.
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   945
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   946
    "/ self yPosition:y.
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   947
    b2 := self addCheckBox:(resources string:'Class Protocol') on:(self searchClassProtocolHolder).
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   948
    "/ b2 left:0.5; width:0.5.
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   949
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   950
    "Created: / 06-12-2011 / 11:24:11 / cg"
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   951
!
3111d4444e1a added: #addCheckBoxesForClassAndMetaSearch
Claus Gittinger <cg@exept.de>
parents: 10751
diff changeset
   952
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   953
addDummyCheckBoxForEverywhere
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   954
    |b|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   955
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   956
    b := CheckBox label:(resources string:'Everywhere').
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   957
    b turnOn.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   958
    b disable.
6685
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
   959
8782
046c75a49b34 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8756
diff changeset
   960
    currentPanel add:b.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   961
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   962
9309
f2dd5cfc678f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9271
diff changeset
   963
addFilteredListOfMatchingSelectors
f2dd5cfc678f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9271
diff changeset
   964
    |l|
f2dd5cfc678f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9271
diff changeset
   965
f2dd5cfc678f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9271
diff changeset
   966
    listHolder := List new.
f2dd5cfc678f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9271
diff changeset
   967
f2dd5cfc678f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9271
diff changeset
   968
    l := HVScrollableView for:SelectionInListView.
f2dd5cfc678f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9271
diff changeset
   969
    l listHolder:listHolder.
f2dd5cfc678f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9271
diff changeset
   970
    self addComponent:l.
f2dd5cfc678f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9271
diff changeset
   971
    l doubleClickAction:[
f2dd5cfc678f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9271
diff changeset
   972
            selectorHolder value:(l selectionValue).
f2dd5cfc678f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9271
diff changeset
   973
            matchHolder value:false.
f2dd5cfc678f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9271
diff changeset
   974
            caseHolder value:false.
f2dd5cfc678f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9271
diff changeset
   975
            self doAccept.
f2dd5cfc678f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9271
diff changeset
   976
            self okPressed.
f2dd5cfc678f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9271
diff changeset
   977
    ].
f2dd5cfc678f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9271
diff changeset
   978
    ^ l.
f2dd5cfc678f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9271
diff changeset
   979
!
f2dd5cfc678f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9271
diff changeset
   980
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   981
addInputFieldForSelectorOrNameOrString
9315
1ad087feb185 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9311
diff changeset
   982
    |sel lastSearchPatterns|
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   983
11272
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   984
    browser notNil ifTrue:[
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   985
        searchWhat == #selector ifTrue:[ 
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   986
            sel := browser selectorToSearchFor.
8123
10a929bb34f7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8083
diff changeset
   987
        ] ifFalse:[ 
11272
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   988
            searchWhat == #globalName ifTrue:[ 
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   989
                sel := browser globalNameToSearchFor ? LastGlobalSearched.
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   990
            ] ifFalse:[ 
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   991
                searchWhat == #string ifTrue:[
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   992
                    sel := browser stringToSearchFor ? LastStringSearched.
10189
0be2c38f087a comment/format in: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry:
Claus Gittinger <cg@exept.de>
parents: 9645
diff changeset
   993
                ] ifFalse:[
11272
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   994
                    searchWhat == #resource ifTrue:[
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   995
                        sel := browser stringToSearchFor ? LastResourceSearched.
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   996
                    ] ifFalse:[
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   997
                        sel := browser selectorToSearchFor.
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
   998
                    ]
10189
0be2c38f087a comment/format in: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry:
Claus Gittinger <cg@exept.de>
parents: 9645
diff changeset
   999
                ]
11272
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
  1000
            ].
8123
10a929bb34f7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8083
diff changeset
  1001
        ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1002
    ].
11272
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
  1003
    lastSearchPatterns := (browser ? SystemBrowser) lastSearchPatterns.
10189
0be2c38f087a comment/format in: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry:
Claus Gittinger <cg@exept.de>
parents: 9645
diff changeset
  1004
8123
10a929bb34f7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8083
diff changeset
  1005
    sel isEmptyOrNil ifTrue:[ 
10a929bb34f7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8083
diff changeset
  1006
        "/ use last searchString
10a929bb34f7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8083
diff changeset
  1007
        lastSearchPatterns size > 0 ifTrue:[ 
10a929bb34f7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8083
diff changeset
  1008
            sel := lastSearchPatterns first.
10a929bb34f7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8083
diff changeset
  1009
        ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1010
    ].
9645
8ff383213d07 comment/format in: #addCheckBoxForSelectedPackage
Claus Gittinger <cg@exept.de>
parents: 9644
diff changeset
  1011
    selectorHolder := (sel ? '') withoutSeparators asValue.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1012
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1013
    inputField := self addComboBoxOn:selectorHolder tabable:true.
9309
f2dd5cfc678f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9271
diff changeset
  1014
    inputField list:lastSearchPatterns.
9245
1f903a58f92c changed: #addInputFieldForSelectorOrNameOrString
Claus Gittinger <cg@exept.de>
parents: 9001
diff changeset
  1015
    inputField selectAllInitially.
9309
f2dd5cfc678f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9271
diff changeset
  1016
    inputField immediateAccept:true.
9506
757e644f44f6 changed: #addInputFieldForSelectorOrNameOrString
Stefan Vogel <sv@exept.de>
parents: 9424
diff changeset
  1017
    inputField takeFocus.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1018
    inputField 
8123
10a929bb34f7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8083
diff changeset
  1019
        entryCompletionBlock:[ :contents | 
10a929bb34f7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8083
diff changeset
  1020
            |s what|
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1021
8123
10a929bb34f7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8083
diff changeset
  1022
            s := contents withoutSpaces.
10a929bb34f7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8083
diff changeset
  1023
            self topView 
9309
f2dd5cfc678f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9271
diff changeset
  1024
                withWaitCursorDo:[
f2dd5cfc678f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9271
diff changeset
  1025
                    |best matching|
f2dd5cfc678f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9271
diff changeset
  1026
10189
0be2c38f087a comment/format in: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry:
Claus Gittinger <cg@exept.de>
parents: 9645
diff changeset
  1027
                    searchWhat == #resource ifTrue:[
0be2c38f087a comment/format in: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry:
Claus Gittinger <cg@exept.de>
parents: 9645
diff changeset
  1028
                        what := DoWhatIMeanSupport resourceCompletion:s inEnvironment:Smalltalk match:true ignoreCase:false.
0be2c38f087a comment/format in: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry:
Claus Gittinger <cg@exept.de>
parents: 9645
diff changeset
  1029
                    ] ifFalse:[
0be2c38f087a comment/format in: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry:
Claus Gittinger <cg@exept.de>
parents: 9645
diff changeset
  1030
                        searchWhat == #globalName ifFalse:[ 
0be2c38f087a comment/format in: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry:
Claus Gittinger <cg@exept.de>
parents: 9645
diff changeset
  1031
                            what := DoWhatIMeanSupport selectorCompletion:s inEnvironment:Smalltalk.
0be2c38f087a comment/format in: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry:
Claus Gittinger <cg@exept.de>
parents: 9645
diff changeset
  1032
                        ] ifTrue:[ 
0be2c38f087a comment/format in: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry:
Claus Gittinger <cg@exept.de>
parents: 9645
diff changeset
  1033
                            what := DoWhatIMeanSupport globalNameCompletion:s inEnvironment:Smalltalk match:true.
0be2c38f087a comment/format in: #setupToAskForMethodSearchTitle:forBrowser:searchWhat:searchArea:withCaseIgnore:withMatch:withMethodList:allowFind:allowBuffer:allowBrowser:withTextEntry:
Claus Gittinger <cg@exept.de>
parents: 9645
diff changeset
  1034
                        ].
8123
10a929bb34f7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8083
diff changeset
  1035
                    ].
9309
f2dd5cfc678f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9271
diff changeset
  1036
                    best := what first.
f2dd5cfc678f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9271
diff changeset
  1037
                    matching := what second.
f2dd5cfc678f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9271
diff changeset
  1038
                    inputField contents:best.
f2dd5cfc678f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9271
diff changeset
  1039
                    "/ listHolder contents:matching.
f2dd5cfc678f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9271
diff changeset
  1040
                    matching size ~~ 1 ifTrue:[ 
11272
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
  1041
                        (browser ? self) window beep.
8123
10a929bb34f7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8083
diff changeset
  1042
                    ].
10a929bb34f7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8083
diff changeset
  1043
                ].
10a929bb34f7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8083
diff changeset
  1044
        ].
9309
f2dd5cfc678f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9271
diff changeset
  1045
f2dd5cfc678f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9271
diff changeset
  1046
    selectorHolder onChangeEvaluate:[ self updateListOfMatchingSelectorsFor:inputField contents ].
9644
d417581c978b changed: #addInputFieldForSelectorOrNameOrString
Claus Gittinger <cg@exept.de>
parents: 9642
diff changeset
  1047
11272
1f7423bcbe3d changed:
Claus Gittinger <cg@exept.de>
parents: 10962
diff changeset
  1048
    "Modified: / 14-02-2012 / 14:13:52 / cg"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1049
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1050
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1051
addTextEntryFieldForCode
9423
0c5203c5acb2 changed:
Claus Gittinger <cg@exept.de>
parents: 9406
diff changeset
  1052
    |initial box panel patternInfoBox infoLabel helpButton errMessageField checkCodeAction
7170
8f1ce623be9b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7042
diff changeset
  1053
     metaBox b|
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1054
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1055
    box := View new.
6443
4767d1d4210d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6381
diff changeset
  1056
    box extent:(600 @ 200).
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1057
6608
3dca68c02ef7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6465
diff changeset
  1058
    panel := VariableHorizontalPanel in:box.
3dca68c02ef7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6465
diff changeset
  1059
    panel origin:0.0@0.0 corner:(1.0@1.0).
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1060
6608
3dca68c02ef7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6465
diff changeset
  1061
    codeField := CodeView in:panel.        
7748
f3ee8bdf2043 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7384
diff changeset
  1062
    codeField canTab:true.
6608
3dca68c02ef7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6465
diff changeset
  1063
"/    codeField origin:0.0@0.0 corner:(0.75@1.0).
3dca68c02ef7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6465
diff changeset
  1064
9423
0c5203c5acb2 changed:
Claus Gittinger <cg@exept.de>
parents: 9406
diff changeset
  1065
    patternInfoBox := View in:panel.
0c5203c5acb2 changed:
Claus Gittinger <cg@exept.de>
parents: 9406
diff changeset
  1066
0c5203c5acb2 changed:
Claus Gittinger <cg@exept.de>
parents: 9406
diff changeset
  1067
    infoLabel := Label in:patternInfoBox.
0c5203c5acb2 changed:
Claus Gittinger <cg@exept.de>
parents: 9406
diff changeset
  1068
    infoLabel geometryLayout:(LayoutFrame bottomInset:30).
0c5203c5acb2 changed:
Claus Gittinger <cg@exept.de>
parents: 9406
diff changeset
  1069
8786
caa3e9c06b2d added: #helpTextForMetaPatterns
Claus Gittinger <cg@exept.de>
parents: 8782
diff changeset
  1070
    infoLabel font:(codeField font asSize:(codeField font size - 2)).
6608
3dca68c02ef7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6465
diff changeset
  1071
    infoLabel adjust:#left.
8786
caa3e9c06b2d added: #helpTextForMetaPatterns
Claus Gittinger <cg@exept.de>
parents: 8782
diff changeset
  1072
    infoLabel label:(self helpTextForMetaPatterns).
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1073
6608
3dca68c02ef7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6465
diff changeset
  1074
    panel relativeCorners:#(0.6 1.0).
9423
0c5203c5acb2 changed:
Claus Gittinger <cg@exept.de>
parents: 9406
diff changeset
  1075
    panel showHandle:true.
6608
3dca68c02ef7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6465
diff changeset
  1076
9423
0c5203c5acb2 changed:
Claus Gittinger <cg@exept.de>
parents: 9406
diff changeset
  1077
    helpButton := Button label:(resources string:'Pattern Help') in:patternInfoBox.
6608
3dca68c02ef7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6465
diff changeset
  1078
    helpButton layout:((AlignmentOrigin fractionalFromPoint:0.5@1.0) 
6443
4767d1d4210d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6381
diff changeset
  1079
                            leftOffset:2
8165
d7d59fbdcd2b added preferredWidth & preferredHeight
Claus Gittinger <cg@exept.de>
parents: 8124
diff changeset
  1080
                            topOffset:helpButton preferredHeight negated;
6608
3dca68c02ef7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6465
diff changeset
  1081
                            leftAlignmentFraction:0.5 topAlignmentFraction:0).
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1082
    helpButton topInset:0.75@1.0.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1083
    helpButton action:[self showHelpOnCodePatterns].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1084
6608
3dca68c02ef7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6465
diff changeset
  1085
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1086
    self addComponent:box tabable:true.
7170
8f1ce623be9b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7042
diff changeset
  1087
8f1ce623be9b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7042
diff changeset
  1088
    metaBox := HorizontalPanelView new.
8f1ce623be9b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7042
diff changeset
  1089
    metaBox horizontalLayout:#leftMax.
9519
e02cc8f995ec changed: #addTextEntryFieldForCode
Claus Gittinger <cg@exept.de>
parents: 9506
diff changeset
  1090
    b := Button label:'+Lit' action:[ codeField pasteOrReplace:'`#n' ] in:metaBox.
8833
fa0f28ab2b85 changed: #addTextEntryFieldForCode
Claus Gittinger <cg@exept.de>
parents: 8786
diff changeset
  1091
    b helpKey:#matchAnyLiteral.
9519
e02cc8f995ec changed: #addTextEntryFieldForCode
Claus Gittinger <cg@exept.de>
parents: 9506
diff changeset
  1092
    b := Button label:'+Var' action:[ codeField pasteOrReplace:'`v' ] in:metaBox.
8833
fa0f28ab2b85 changed: #addTextEntryFieldForCode
Claus Gittinger <cg@exept.de>
parents: 8786
diff changeset
  1093
    b helpKey:#matchAnyVariable.
9519
e02cc8f995ec changed: #addTextEntryFieldForCode
Claus Gittinger <cg@exept.de>
parents: 9506
diff changeset
  1094
    b := Button label:'+Expr' action:[ codeField pasteOrReplace:'`@e' ] in:metaBox.
8833
fa0f28ab2b85 changed: #addTextEntryFieldForCode
Claus Gittinger <cg@exept.de>
parents: 8786
diff changeset
  1095
    b helpKey:#matchAnyExpression.
9519
e02cc8f995ec changed: #addTextEntryFieldForCode
Claus Gittinger <cg@exept.de>
parents: 9506
diff changeset
  1096
    b := Button label:'+Msg' action:[ codeField pasteOrReplace:'`@m:' ] in:metaBox.
8833
fa0f28ab2b85 changed: #addTextEntryFieldForCode
Claus Gittinger <cg@exept.de>
parents: 8786
diff changeset
  1097
    b helpKey:#matchAnyMessage.
9519
e02cc8f995ec changed: #addTextEntryFieldForCode
Claus Gittinger <cg@exept.de>
parents: 9506
diff changeset
  1098
    b := Button label:'+Node' action:[ codeField pasteOrReplace:'`{:node | node isLiteral and:[node value isSymbol] }' ] in:metaBox.
9424
ea700a8c978a changed: #addTextEntryFieldForCode
Claus Gittinger <cg@exept.de>
parents: 9423
diff changeset
  1099
    b helpKey:#matchAnyNode.
10377
0024b64778eb changed: #addTextEntryFieldForCode
Claus Gittinger <cg@exept.de>
parents: 10189
diff changeset
  1100
    b := Button label:'+Stats' action:[ codeField pasteOrReplace:'`.@stats' ] in:metaBox.
0024b64778eb changed: #addTextEntryFieldForCode
Claus Gittinger <cg@exept.de>
parents: 10189
diff changeset
  1101
    b helpKey:#matchAnyStats.                                      
7170
8f1ce623be9b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7042
diff changeset
  1102
    self addComponent:metaBox.
8f1ce623be9b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7042
diff changeset
  1103
13875
a1e9ad9d39eb merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13736
diff changeset
  1104
    errMessageField := (self addTextLabel:'') adjust:#left.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1105
    errMessageField level:-1.    
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1106
    self addCheckBox:(resources string:'Method') on:self isMethodHolder.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1107
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1108
    checkCodeAction := [ self checkCodeIn:codeField notifying:errMessageField. ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1109
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1110
    codeField modifiedChannel onChangeEvaluate:checkCodeAction.
8282
9b4068f2dd30 method-code search fixed: correctly pass the isMethod argument
Claus Gittinger <cg@exept.de>
parents: 8269
diff changeset
  1111
    self isMethodHolder onChangeEvaluate:checkCodeAction.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1112
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1113
    initial := browser selectionInCodeView.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1114
    initial isEmptyOrNil ifTrue:[
6443
4767d1d4210d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6381
diff changeset
  1115
        initial := LastCodeSearched ? ''
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1116
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1117
    codeField contents:initial.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1118
    checkCodeAction value.
7748
f3ee8bdf2043 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7384
diff changeset
  1119
10377
0024b64778eb changed: #addTextEntryFieldForCode
Claus Gittinger <cg@exept.de>
parents: 10189
diff changeset
  1120
    "Modified: / 23-07-2011 / 10:35:14 / cg"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1121
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1122
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1123
checkCodeIn:codeField notifying:errMessageField
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1124
    |codeString tree errAction|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1125
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1126
    codeString := codeField contents asString string.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1127
    errAction := [:str :pos |
6608
3dca68c02ef7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6465
diff changeset
  1128
                    |line col badLine|
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1129
6608
3dca68c02ef7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6465
diff changeset
  1130
                    line := codeField lineOfCharacterPosition:pos.
3dca68c02ef7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6465
diff changeset
  1131
                    col := (codeField colOfCharacterPosition:pos) max:1.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1132
8282
9b4068f2dd30 method-code search fixed: correctly pass the isMethod argument
Claus Gittinger <cg@exept.de>
parents: 8269
diff changeset
  1133
                    badLine := (codeField listAt:line) ? ''.
9b4068f2dd30 method-code search fixed: correctly pass the isMethod argument
Claus Gittinger <cg@exept.de>
parents: 8269
diff changeset
  1134
                    col <= badLine size size ifTrue:[
6608
3dca68c02ef7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6465
diff changeset
  1135
                        codeField 
3dca68c02ef7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6465
diff changeset
  1136
                            listAt:line 
3dca68c02ef7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6465
diff changeset
  1137
                            put:(badLine asText 
3dca68c02ef7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6465
diff changeset
  1138
                                    emphasisAt:col 
3dca68c02ef7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6465
diff changeset
  1139
                                    put:(UserPreferences current unknownIdentifierEmphasis)).
3dca68c02ef7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6465
diff changeset
  1140
                        "/ codeField selectFromCharacterPosition:pos to:pos.
3dca68c02ef7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6465
diff changeset
  1141
                    ].
3dca68c02ef7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6465
diff changeset
  1142
                    errMessageField label:('line: ',line printString,' ',str).
3dca68c02ef7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6465
diff changeset
  1143
                    errMessageField backgroundColor:Color red.    
3dca68c02ef7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6465
diff changeset
  1144
                    codeField requestFocus.
3dca68c02ef7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6465
diff changeset
  1145
                    nil.
3dca68c02ef7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6465
diff changeset
  1146
                 ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1147
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1148
    isMethodHolder value ifTrue:[
6608
3dca68c02ef7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6465
diff changeset
  1149
        tree := RBParser parseRewriteMethod:codeString onError: errAction.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1150
    ] ifFalse:[
6608
3dca68c02ef7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6465
diff changeset
  1151
        tree := RBParser parseRewriteExpression:codeString onError: errAction.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1152
    ].
6608
3dca68c02ef7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6465
diff changeset
  1153
    tree notNil ifTrue:[ 
3dca68c02ef7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6465
diff changeset
  1154
        errMessageField backgroundColor:View defaultViewBackgroundColor.    
3dca68c02ef7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6465
diff changeset
  1155
        errMessageField label:nil 
3dca68c02ef7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6465
diff changeset
  1156
    ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1157
    codeField modifiedChannel setValue:false.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1158
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1159
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1160
getClassesAndMethodsFor:where 
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1161
    where == #everywhere ifTrue:[ 
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1162
        classes := Smalltalk allClasses.
7378
4c1785cf6bb6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7374
diff changeset
  1163
        methods := nil.
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1164
        ^ self.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1165
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1166
    where == #currentNameSpace ifTrue:[ 
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1167
        classes := currentNamespace allClassesWithAllPrivateClasses.
7378
4c1785cf6bb6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7374
diff changeset
  1168
        methods := nil.
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1169
        ^ self.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1170
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1171
    where == #currentClassesNameSpace ifTrue:[ 
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1172
        currentClass isPrivate ifTrue:[ 
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1173
            classes := currentClass topOwningClass nameSpace 
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1174
                        allClassesWithAllPrivateClasses.
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1175
        ] ifFalse:[ 
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1176
            classes := currentClass nameSpace allClassesWithAllPrivateClasses.
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1177
        ].
7378
4c1785cf6bb6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7374
diff changeset
  1178
        methods := nil.
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1179
        ^ self.
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1180
    ].
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1181
    where == #currentPackage ifTrue:[ 
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1182
        classes := Smalltalk allClassesInPackage:currentPackage. 
7378
4c1785cf6bb6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7374
diff changeset
  1183
        methods := nil.
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1184
        ^ self.
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1185
    ].
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1186
    where == #currentClassesPackage ifTrue:[ 
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1187
        classes := Smalltalk allClassesInPackage:currentClass package. 
7378
4c1785cf6bb6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7374
diff changeset
  1188
        methods := nil.
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1189
        ^ self.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1190
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1191
    where == #classCategories ifTrue:[ 
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1192
        classes := Smalltalk allClasses 
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1193
                    select:[ :cls | selectedCategories includes:cls category. ].
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1194
        classes := classes collect:[ :each | each theNonMetaclass. ].
7378
4c1785cf6bb6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7374
diff changeset
  1195
        methods := nil.
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1196
        ^ self.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1197
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1198
    (where == #classes or:[ where == #classesWithPrivateClasses. ]) ifTrue:[ 
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1199
        classes := selectedClasses collect:[ :each | each theNonMetaclass. ].
7378
4c1785cf6bb6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7374
diff changeset
  1200
        methods := nil.
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1201
        ^ self.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1202
    ].
7378
4c1785cf6bb6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7374
diff changeset
  1203
    (where == #classHierarchies or:[ where == #classHierarchiesWithPrivateClasses. ]) 
4c1785cf6bb6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7374
diff changeset
  1204
    ifTrue:[ 
4c1785cf6bb6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7374
diff changeset
  1205
        classes := IdentitySet new.
4c1785cf6bb6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7374
diff changeset
  1206
        selectedClasses do:[ :cls | 
4c1785cf6bb6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7374
diff changeset
  1207
            classes addAll:cls theNonMetaclass withAllSubclasses.
4c1785cf6bb6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7374
diff changeset
  1208
        ].
4c1785cf6bb6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7374
diff changeset
  1209
        methods := nil.
4c1785cf6bb6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7374
diff changeset
  1210
        ^ self.
4c1785cf6bb6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7374
diff changeset
  1211
    ].
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1212
    where == #ownersWithPrivateClasses ifTrue:[ 
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1213
        classes := IdentitySet new.
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1214
        selectedClasses do:[ :cls | 
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1215
            |c|
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1216
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1217
            c := cls theNonMetaclass.
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1218
            classes add:(c owningClass ? c).
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1219
        ].
7378
4c1785cf6bb6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7374
diff changeset
  1220
        methods := nil.
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1221
        ^ self.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1222
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1223
    where == #ownersHierarchiesWithPrivateClasses ifTrue:[ 
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1224
        classes := IdentitySet new.
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1225
        selectedClasses do:[ :cls | 
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1226
            |c|
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1227
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1228
            c := cls theNonMetaclass.
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1229
            classes addAll:(c owningClass ? c) withAllSubclasses.
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1230
        ].
7378
4c1785cf6bb6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7374
diff changeset
  1231
        methods := nil.
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1232
        ^ self.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1233
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1234
    (where == #classesAndSuperclasses) ifTrue:[ 
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1235
        classes := IdentitySet new.
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1236
        selectedClasses do:[ :cls | 
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1237
            classes addAll:cls theNonMetaclass withAllSuperclasses.
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1238
        ].
7378
4c1785cf6bb6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7374
diff changeset
  1239
        methods := nil.
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1240
        ^ self.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1241
    ].
9640
68bba6744726 default for text-search in method -list
Claus Gittinger <cg@exept.de>
parents: 9619
diff changeset
  1242
    (where == AREA_LISTOFMETHODS) ifTrue:[ 
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1243
        classes := nil.
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1244
        methods := browser methodListApp methodList value.
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1245
        ^ self.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1246
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1247
    (where == #listOfSelectedMethods) ifTrue:[ 
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1248
        classes := nil.
10751
d36281245163 changed: #getClassesAndMethodsFor:
az
parents: 10557
diff changeset
  1249
        methods := browser selectedMethods value ? #().
7042
f543949862d3 searchArea: package
Claus Gittinger <cg@exept.de>
parents: 6700
diff changeset
  1250
        ^ self.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1251
    ].
8566
159df00766af *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8304
diff changeset
  1252
    (where == #listOfSelectedMethodClasses) ifTrue:[ 
12616
51c8f7e99584 Refactoring:
Stefan Vogel <sv@exept.de>
parents: 12474
diff changeset
  1253
        classes := ((browser selectedMethods value ? #()) collect:[:m | m mclass theNonMetaclass] as:Set) asOrderedCollection.
8566
159df00766af *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8304
diff changeset
  1254
        methods := nil.
159df00766af *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8304
diff changeset
  1255
        ^ self.
159df00766af *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8304
diff changeset
  1256
    ].
11295
92ce4ff0f0f9 added: #addCheckBoxForSelectedMethodPackages
Claus Gittinger <cg@exept.de>
parents: 11272
diff changeset
  1257
    (where == #listOfSelectedMethodPackages) ifTrue:[ 
12616
51c8f7e99584 Refactoring:
Stefan Vogel <sv@exept.de>
parents: 12474
diff changeset
  1258
        classes := (((browser selectedMethods value ? #()) collect:[:m | m package] as:Set)
11295
92ce4ff0f0f9 added: #addCheckBoxForSelectedMethodPackages
Claus Gittinger <cg@exept.de>
parents: 11272
diff changeset
  1259
                        collectAll:[:p | Smalltalk allClassesInPackage:p ]) asOrderedCollection.
92ce4ff0f0f9 added: #addCheckBoxForSelectedMethodPackages
Claus Gittinger <cg@exept.de>
parents: 11272
diff changeset
  1260
        methods := nil.
92ce4ff0f0f9 added: #addCheckBoxForSelectedMethodPackages
Claus Gittinger <cg@exept.de>
parents: 11272
diff changeset
  1261
        ^ self.
92ce4ff0f0f9 added: #addCheckBoxForSelectedMethodPackages
Claus Gittinger <cg@exept.de>
parents: 11272
diff changeset
  1262
    ].
8083
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
  1263
    (where == #listOfChangedClasses) ifTrue:[ 
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
  1264
        classes := ChangeSet current changedClasses.
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
  1265
        methods := nil.
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
  1266
        ^ self.
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
  1267
    ].
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
  1268
    (where == #listOfChangedMethods) ifTrue:[ 
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
  1269
        classes := nil.
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
  1270
        methods := Set new.
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
  1271
        ChangeSet current do:[:chg |
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
  1272
            |mthd|
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
  1273
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
  1274
            chg notNil ifTrue:[
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
  1275
                chg isMethodChange ifTrue:[
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
  1276
                    mthd := chg changeMethod.
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
  1277
                    mthd notNil ifTrue:[
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
  1278
                        methods add:mthd
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
  1279
                    ]
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
  1280
                ]
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
  1281
            ]
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
  1282
        ].
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
  1283
        methods := methods asOrderedCollection.
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
  1284
        ^ self.
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
  1285
    ].
53aba2c722ad +search in changed methods & changed classes
Claus Gittinger <cg@exept.de>
parents: 8067
diff changeset
  1286
12616
51c8f7e99584 Refactoring:
Stefan Vogel <sv@exept.de>
parents: 12474
diff changeset
  1287
    self todo:'unimplemented search'.
7378
4c1785cf6bb6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7374
diff changeset
  1288
10751
d36281245163 changed: #getClassesAndMethodsFor:
az
parents: 10557
diff changeset
  1289
    "Modified: / 05-10-2011 / 15:48:20 / az"
11295
92ce4ff0f0f9 added: #addCheckBoxForSelectedMethodPackages
Claus Gittinger <cg@exept.de>
parents: 11272
diff changeset
  1290
    "Modified: / 29-02-2012 / 19:47:42 / cg"
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1291
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1292
8786
caa3e9c06b2d added: #helpTextForMetaPatterns
Claus Gittinger <cg@exept.de>
parents: 8782
diff changeset
  1293
helpTextForMetaPatterns
caa3e9c06b2d added: #helpTextForMetaPatterns
Claus Gittinger <cg@exept.de>
parents: 8782
diff changeset
  1294
    ^ 'MetaPatterns:
9423
0c5203c5acb2 changed:
Claus Gittinger <cg@exept.de>
parents: 9406
diff changeset
  1295
    ' , '`' allBold , ' = meta 
0c5203c5acb2 changed:
Claus Gittinger <cg@exept.de>
parents: 9406
diff changeset
  1296
    ' , '@' allBold , ' = list/any
0c5203c5acb2 changed:
Claus Gittinger <cg@exept.de>
parents: 9406
diff changeset
  1297
    ' , '.' allBold , ' = statement
0c5203c5acb2 changed:
Claus Gittinger <cg@exept.de>
parents: 9406
diff changeset
  1298
    ' , '`' allBold , ' = recurse
8786
caa3e9c06b2d added: #helpTextForMetaPatterns
Claus Gittinger <cg@exept.de>
parents: 8782
diff changeset
  1299
9423
0c5203c5acb2 changed:
Claus Gittinger <cg@exept.de>
parents: 9406
diff changeset
  1300
    ' , '`#n' allBold , ' any lit
10557
5c24429dbb65 changed: #helpTextForMetaPatterns
Claus Gittinger <cg@exept.de>
parents: 10469
diff changeset
  1301
    ' , '`v' allBold , '  any var (`V => global)
9423
0c5203c5acb2 changed:
Claus Gittinger <cg@exept.de>
parents: 9406
diff changeset
  1302
    ' , '`@e' allBold , ' any expr
10557
5c24429dbb65 changed: #helpTextForMetaPatterns
Claus Gittinger <cg@exept.de>
parents: 10469
diff changeset
  1303
    ' , '`@m:' allBold , ' any message (`m => unary)
9423
0c5203c5acb2 changed:
Claus Gittinger <cg@exept.de>
parents: 9406
diff changeset
  1304
    ' , '`{:n|...}' allBold , ' node pattern
10557
5c24429dbb65 changed: #helpTextForMetaPatterns
Claus Gittinger <cg@exept.de>
parents: 10469
diff changeset
  1305
    ' , '`''a.*''' allBold , ' regex on string const
8786
caa3e9c06b2d added: #helpTextForMetaPatterns
Claus Gittinger <cg@exept.de>
parents: 8782
diff changeset
  1306
'.
9423
0c5203c5acb2 changed:
Claus Gittinger <cg@exept.de>
parents: 9406
diff changeset
  1307
10557
5c24429dbb65 changed: #helpTextForMetaPatterns
Claus Gittinger <cg@exept.de>
parents: 10469
diff changeset
  1308
    "Modified: / 08-08-2011 / 20:33:03 / cg"
8786
caa3e9c06b2d added: #helpTextForMetaPatterns
Claus Gittinger <cg@exept.de>
parents: 8782
diff changeset
  1309
!
caa3e9c06b2d added: #helpTextForMetaPatterns
Claus Gittinger <cg@exept.de>
parents: 8782
diff changeset
  1310
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1311
isMethodHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1312
    isMethodHolder isNil ifTrue:[isMethodHolder := (LastCodeSearchWasMethod ? false) asValue].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1313
    ^ isMethodHolder
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1314
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1315
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1316
!SearchDialog methodsFor:'setup-buttons'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1317
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1318
addBrowseButton
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1319
    |b|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1320
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1321
    b := Button label:(resources string:'Browse').
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1322
    (DialogBox defaultOKButtonAtLeft) ifTrue:[ 
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1323
	self addButton:b before:nil.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1324
    ] ifFalse:[ 
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1325
	self addButton:b after:nil.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1326
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1327
    b 
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1328
	action:[ 
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1329
	    openHow := #newBrowser.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1330
	    self doAccept.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1331
	    self okPressed.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1332
	].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1333
    ^ b.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1334
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1335
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1336
addBufferButton
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1337
    |b|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1338
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1339
    b := Button label:(resources string:'Add Buffer').
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1340
    (DialogBox defaultOKButtonAtLeft) ifTrue:[ 
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1341
	self addButton:b before:nil.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1342
    ] ifFalse:[ 
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1343
	self addButton:b after:nil.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1344
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1345
    b 
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1346
	action:[ 
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1347
	    openHow := #newBuffer.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1348
	    self doAccept.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1349
	    self okPressed.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1350
	].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1351
    ^ b.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1352
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1353
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1354
addButtons
6685
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
  1355
    "add find/newBrowser/newBuffer buttons"
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
  1356
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1357
    |prevButton|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1358
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1359
    allowFind ifTrue:[
6685
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
  1360
        defaultOpenHow := #showHere.
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
  1361
        prevButton := self addFindButton.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1362
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1363
    allowBrowser ifTrue:[
6685
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
  1364
        defaultOpenHow := #newBrowser.
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
  1365
        prevButton := self addBrowseButton.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1366
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1367
    allowBuffer ifTrue:[
6685
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
  1368
        defaultOpenHow := #newBuffer.
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
  1369
        prevButton := self addBufferButton.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1370
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1371
    prevButton notNil ifTrue:[
6685
85ebaa49b35b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6667
diff changeset
  1372
        prevButton isReturnButton:true.
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1373
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1374
    self addAbortButton.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1375
!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1376
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1377
addFindButton
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1378
    |b|
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1379
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1380
    b := Button label:(resources string:'Find').
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1381
    (DialogBox defaultOKButtonAtLeft) ifTrue:[ 
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1382
	self addButton:b before:nil.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1383
    ] ifFalse:[ 
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1384
	self addButton:b after:nil.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1385
    ].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1386
    b 
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1387
	action:[ 
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1388
	    openHow := #showHere.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1389
	    self doAccept.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1390
	    self okPressed.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1391
	].
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1392
    ^ b.
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1393
! !
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1394
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1395
!SearchDialog class methodsFor:'documentation'!
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1396
8833
fa0f28ab2b85 changed: #addTextEntryFieldForCode
Claus Gittinger <cg@exept.de>
parents: 8786
diff changeset
  1397
version_CVS
13875
a1e9ad9d39eb merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13736
diff changeset
  1398
    ^ '$Header: /cvs/stx/stx/libtool/Tools_SearchDialog.st,v 1.78 2014-02-05 19:08:53 cg Exp $'
5591
273637686948 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1399
! !
9640
68bba6744726 default for text-search in method -list
Claus Gittinger <cg@exept.de>
parents: 9619
diff changeset
  1400
12474
535f413ca791 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 12071
diff changeset
  1401
9640
68bba6744726 default for text-search in method -list
Claus Gittinger <cg@exept.de>
parents: 9619
diff changeset
  1402
SearchDialog initialize!