Tools__SearchDialog.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 14 Jun 2018 22:19:39 +0100
branchjv
changeset 18227 d25a407ba86d
parent 17136 cb908d2ba02e
permissions -rw-r--r--
Mini testrunner: show "green" if there's at least one pass and rest is pass or skip This is more meaningfull result then showing "gray" if there's at least one skip.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
 COPYRIGHT (c) 2000 by eXept Software AG
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
	      All Rights Reserved
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
 This software is furnished under a license and may be used
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
 hereby transferred.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
"
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
"{ Package: 'stx:libtool' }"
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
"{ NameSpace: Tools }"
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
DialogBox subclass:#SearchDialog
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
	instanceVariableNames:'openHow classes methods selectedClasses selectedCategories
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
		selectedMethods selectedPackages currentClass currentNamespace
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
		currentClassCategory currentPackage browser whereRadioGroup
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
		currentPanel searchAreas caseHolder matchHolder isMethodHolder
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
		codeField selectorHolder defaultOpenHow withTextEntry allowFind
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
		allowBuffer allowBrowser searchWhat searchClassProtocolHolder
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
		searchInstanceProtocolHolder selectorOrCode selectionList
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
		listHolder matchProcess inputField showMetaFilter
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
    25
		metaclassesOnlyHolder classesOnlyHolder initialText
16690
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
    26
		withSearchStringInLiterals searchStringInLiteralsHolder
16920
6411ac77e0d1 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16690
diff changeset
    27
		searchFreeStandingWordsOnlyHolder withSearchFreeStandingWordsOnly
6411ac77e0d1 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16690
diff changeset
    28
		ignoreDocumentationMethodsHolder'
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
	classVariableNames:'LastCodeSearched LastCodeSearchWasMethod LastGlobalSearched
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
		LastStringSearched LastSearchWasMatch LastSearchWasCaseSensitive
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
		LastStringSearchArea LastCodeSearchArea AREA_LISTOFMETHODS
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
		LastResourceSearched'
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
	poolDictionaries:''
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
	category:'Interface-Browsers-New'
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
!SearchDialog class methodsFor:'documentation'!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
copyright
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
"
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
 COPYRIGHT (c) 2000 by eXept Software AG
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
	      All Rights Reserved
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
 This software is furnished under a license and may be used
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
 only in accordance with the terms of that license and with the
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
 inclusion of the above copyright notice.   This software may not
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
 be provided or otherwise made available to, or used by, any
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
 other person.  No title to or ownership of the software is
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
 hereby transferred.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
"
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
! !
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
!SearchDialog class methodsFor:'initialization'!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
initialize
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
    AREA_LISTOFMETHODS := #listOfMethods
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
    "Created: / 19-11-2010 / 12:00:18 / cg"
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
! !
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
!SearchDialog class methodsFor:'constants'!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
constantForListOfMethodsArea
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
    ^ AREA_LISTOFMETHODS
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
    "Created: / 19-11-2010 / 12:11:50 / cg"
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
! !
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
    69
!SearchDialog class methodsFor:'help'!
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
    70
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
    71
helpSpec
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
    72
    ^ Dictionary new addPairsFrom:#(
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
    73
#listOfChangedClasses
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
    74
'Search only in changed classes'
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
    75
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
    76
#listOfChangedMethods
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
    77
'Search only in changed methods'
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
    78
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
    79
#currentClassesNameSpace
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
    80
'Search in the namespace(s) of the selected class(es)'
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
    81
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
    82
#currentClassesPackage
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
    83
'Search in the package(s) of the selected class(es)'
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
    84
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
    85
#currentNameSpace
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
    86
'Search in the current selected or selected classes namespace'
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
    87
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
    88
#currentPackage
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
    89
'Search in the current selected or selected classes package'
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
    90
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
    91
#currentClassesPackage
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
    92
'Search in the current selected classes package'
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
    93
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
    94
#currentPackageAndSubPackages
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
    95
'Search in the current (selected) package and subpackages.\(disabled if there are no subpackages)'
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
    96
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
    97
#everywhere
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
    98
'Search everywhere (all loaded classes)'
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
    99
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   100
#listOfMethods
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   101
'Search only in the list of (shown) methods'
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   102
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   103
#ownersWithPrivateClasses
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   104
'Search in class and the owning and private classes.\(disabled if there are none)'
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   105
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   106
#ownersHierarchiesWithPrivateClasses
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   107
'Search in class, owners, private classes and all subclasses.\(disabled if there are none)'
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   108
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   109
#classes
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   110
'Search in selected class(es) only'
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   111
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   112
#classesWithPrivateClasses
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   113
'Search in selected class(es) and any private classes.\(disabled if there are no private classes)'
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   114
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   115
#classHierarchies
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   116
'Search in selected class(es) and down all subclasses.\(disabled if there are no subclasses)'
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   117
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   118
#classHierarchiesWithPrivateClasses
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   119
'Search in selected class(es), down all subclasses and all of their private classes.\(disabled if there are none)'
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   120
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   121
#classesAndSuperclasses
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   122
'Search in selected class(es) and up all super classes.\(disabled if there are none)'
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   123
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   124
#classCategories
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   125
'Search in selected class category(s)'
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   126
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   127
#listOfSelectedMethodClasses
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   128
'Search in class(es) of selected method(s)'
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   129
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   130
#listOfSelectedMethodPackages
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   131
'Search in package(es) of selected method(s)'
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   132
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   133
#listOfSelectedMethods
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   134
'Search in selected method(s)'
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   135
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   136
#selectedPackages
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   137
'Search in selected package(s)'
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   138
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   139
#searchPatternField
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   140
'The searched string or name. Does completion on TAB-key'
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   141
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   142
#codeEntryField
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   143
'Code fragment to match against in the search.\Press "pattern-help" to learn more about code searches'
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   144
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   145
#nonMetaClassesOnly
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   146
'Search only in instance methods (non-meta classes)'
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   147
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   148
#metaClassesOnly
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   149
'Search only in class methods (meta classes)'
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   150
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   151
#searchStringInLiterals
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   152
'Search string in literal constants; not in source code'
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   153
16690
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
   154
#searchFreeStandingWordsOnly
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
   155
'Search for free-standing words only (i.e. not substrings)'
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
   156
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   157
#match
16461
a3f5e981e592 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16450
diff changeset
   158
'Perform a pattern match search, as opposed to an exact string search.\Pattern is a simple GLOB pattern (as in filenames)'
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   159
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   160
#caseSensitive
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   161
'Perform a case sensitive search (default is to ignore case differences)'
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   162
)
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   163
! !
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   164
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
!SearchDialog class methodsFor:'queries'!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
lastCodeSearchArea
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
    ^ LastCodeSearchArea
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
lastStringSearchArea
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
    ^ LastStringSearchArea
15987
0acdc2c63c1b #BUGFIX
Stefan Vogel <sv@exept.de>
parents: 15585
diff changeset
   173
!
0acdc2c63c1b #BUGFIX
Stefan Vogel <sv@exept.de>
parents: 15585
diff changeset
   174
0acdc2c63c1b #BUGFIX
Stefan Vogel <sv@exept.de>
parents: 15585
diff changeset
   175
lastStringSearchArea:aSymbol
0acdc2c63c1b #BUGFIX
Stefan Vogel <sv@exept.de>
parents: 15585
diff changeset
   176
    LastStringSearchArea := aSymbol
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
! !
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
!SearchDialog methodsFor:'accessing'!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
16964
7940bf382180 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16920
diff changeset
   181
currentClass:aClass
7940bf382180 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16920
diff changeset
   182
    currentClass := aClass   
7940bf382180 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16920
diff changeset
   183
!
7940bf382180 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16920
diff changeset
   184
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
currentPackage
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
    ^ currentPackage
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
16964
7940bf382180 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16920
diff changeset
   189
currentPackage:aPackage
7940bf382180 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16920
diff changeset
   190
    currentPackage := aPackage   
7940bf382180 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16920
diff changeset
   191
!
7940bf382180 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16920
diff changeset
   192
15128
2fed9a05632c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15068
diff changeset
   193
initialText:aString
2fed9a05632c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15068
diff changeset
   194
    initialText := aString.
2fed9a05632c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15068
diff changeset
   195
!
2fed9a05632c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15068
diff changeset
   196
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   197
showMetaFilter:aBoolean
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   198
    "enable another checkbox, to allow searching in meta/non-meta"
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   199
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   200
    showMetaFilter := aBoolean.
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   201
!
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   202
16690
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
   203
withSearchFreeStandingWordsOnly:aBoolean
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
   204
    "enable another checkbox, to allow searching for full words only"
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
   205
     
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
   206
    withSearchFreeStandingWordsOnly := aBoolean.
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
   207
!
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
   208
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   209
withSearchStringInLiterals:aBoolean
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   210
    "enable another checkbox, to allow searching for a string
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   211
     in the literals only"
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   212
     
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   213
    withSearchStringInLiterals := aBoolean.
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
! !
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
!SearchDialog methodsFor:'accessing-entered values'!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
classesOnly
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   219
    "the value of the corresponding check toggle;
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   220
     if on, only search in non-metaclasses"
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   221
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   222
    ^ (classesOnlyHolder ? false) value
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
    "Created: / 20-08-2012 / 13:25:26 / cg"
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
classesToSearch
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
    ^ classes.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   229
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   230
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
codeToSearch
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
    ^ selectorOrCode.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
16920
6411ac77e0d1 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16690
diff changeset
   235
ignoreDocumentationMethods
6411ac77e0d1 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16690
diff changeset
   236
    "the value of the corresponding check toggle;
6411ac77e0d1 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16690
diff changeset
   237
     if on, only search in metaclasses"
6411ac77e0d1 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16690
diff changeset
   238
6411ac77e0d1 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16690
diff changeset
   239
    ^ (ignoreDocumentationMethodsHolder ? false) value
6411ac77e0d1 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16690
diff changeset
   240
!
6411ac77e0d1 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16690
diff changeset
   241
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   242
matchMethods
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   243
    ^ isMethodHolder value ? false.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   244
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   245
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
metaclassesOnly
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   247
    "the value of the corresponding check toggle;
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   248
     if on, only search in metaclasses"
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   249
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   250
    ^ (metaclassesOnlyHolder ? false) value
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   251
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   252
    "Created: / 20-08-2012 / 13:17:12 / cg"
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   253
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   254
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   255
methodsToSearch
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   256
    ^ methods.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   257
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   258
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   259
openHow
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   260
    "the value of the corresponding button pressed to close the dialog;
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   261
     a symbol describing what to do (newBrowser/newBuffer/find)"
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   262
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   263
    ^ openHow.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   264
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   265
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   266
searchAreaSelected
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   267
    "the value of the corresponding radio button;
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   268
     a symbol describing where to search"
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   269
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   270
    ^ whereRadioGroup value.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   271
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   272
16690
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
   273
searchFreeStandingWordsOnly
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
   274
    "the value of the corresponding check toggle;
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
   275
     if on, only free standing words match - i.e. the searched word
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
   276
     may not be part of a longer word"
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
   277
     
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
   278
    ^ searchFreeStandingWordsOnlyHolder value ? false.
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
   279
!
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
   280
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   281
searchIgnoringCase
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   282
    ^ self searchIsCaseSensitive not
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   283
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   284
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   285
searchIsCaseSensitive
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   286
    "the value of the corresponding check toggle;
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   287
     if on, search is case sensitive; otherwise ignore case"
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   288
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   289
    ^ (caseHolder value ? false)
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   290
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   291
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   292
searchStringInLiterals
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   293
    "the value of the corresponding check toggle;
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   294
     if on, only literal strings should be searched;
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   295
     otherwise, the sourcecode is searched"
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   296
     
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   297
    ^ searchStringInLiteralsHolder value ? false.
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   298
!
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   299
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   300
searchWithMatch
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   301
    "the value of the corresponding check toggle;
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   302
     if on, do a GLOB match; otherwise an exact search"
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   303
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   304
    ^ matchHolder value ? false.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   305
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   306
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   307
selectorToSearch
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   308
    ^ selectorOrCode.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   309
! !
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   310
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   311
!SearchDialog methodsFor:'help'!
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   312
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   313
flyByHelpTextFor:aComponent
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   314
    |symbolicHelpKey text|
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   315
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   316
    (symbolicHelpKey := aComponent helpKey) notNil ifTrue:[
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   317
        text := self class helpSpec at:symbolicHelpKey ifAbsent:[ nil ].
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   318
        text notNil ifTrue:[
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   319
            ^ NewSystemBrowser classResources stringWithCRs:text.
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   320
        ].    
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   321
    ].
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   322
    ^ nil
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   323
! !
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   324
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   325
!SearchDialog methodsFor:'obsolete'!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   326
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   327
addCheckBoxForClassMethodSearch
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   328
    |b|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   329
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   330
    b := CheckBox label:(resources string:'Class Protocol').
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   331
    b model:(self searchClassProtocolHolder).
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   332
    currentPanel add:b.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   333
    ^ b.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   334
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   335
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   336
addCheckBoxForInstanceMethodSearch
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   337
    |b|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   338
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   339
    b := CheckBox label:(resources string:'Instance Protocol').
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   340
    b model:(self searchInstanceProtocolHolder).
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   341
    currentPanel add:b.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   342
    ^ b.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   343
! !
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   344
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   345
!SearchDialog methodsFor:'private'!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   346
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   347
searchClassProtocolHolder
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   348
    searchClassProtocolHolder isNil ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   349
        searchClassProtocolHolder := true asValue
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   350
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   351
    ^ searchClassProtocolHolder
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   352
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   353
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   354
searchInstanceProtocolHolder
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   355
    searchInstanceProtocolHolder isNil ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   356
        searchInstanceProtocolHolder := true asValue
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   357
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   358
    ^ searchInstanceProtocolHolder
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   359
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   360
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   361
showHelpOnCodePatterns
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   362
    HTMLDocumentView openFullOnHelpFile:'Browser/RBSearchPatterns.html'
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   363
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   364
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   365
updateListOfMatchingSelectorsFor:s
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   366
    |p|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   367
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   368
    (p := matchProcess) notNil ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   369
        p terminate.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   370
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   371
    listHolder isNil ifTrue:[^ self].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   372
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   373
    matchProcess := 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   374
        [
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   375
            |what matching|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   376
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   377
            [
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   378
                searchWhat == #globalName ifFalse:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   379
                    what := DoWhatIMeanSupport selectorCompletion:s inEnvironment:Smalltalk match:(matchHolder value) ignoreCase:(caseHolder value not)
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   380
                ] ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   381
                    what := DoWhatIMeanSupport globalNameCompletion:s inEnvironment:Smalltalk match:(matchHolder value).
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   382
                ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   383
                "/ best := what first.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   384
                matching := what second.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   385
                self sensor pushAction:[ listHolder contents:matching ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   386
            ] ensure:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   387
                matchProcess := nil.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   388
            ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   389
        ] fork.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   390
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   391
    "Modified: / 26-10-2010 / 20:33:05 / cg"
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   392
! !
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   393
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   394
!SearchDialog methodsFor:'public'!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   395
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   396
addTextEntryWithCaseIgnore:withCaseIgnore withMatch:withMatch
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   397
    |initialMatch initialCaseSensitive|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   398
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   399
    matchHolder := caseHolder := nil.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   400
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   401
    searchWhat == #code ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   402
        self addTextEntryFieldForCode.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   403
        ^ self.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   404
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   405
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   406
    self addInputFieldForSelectorOrNameOrString.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   407
    withCaseIgnore ifTrue:[
14112
81034684fda4 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14111
diff changeset
   408
        initialCaseSensitive := false.
81034684fda4 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14111
diff changeset
   409
        (searchWhat ~~ #resource) ifTrue:[ 
81034684fda4 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14111
diff changeset
   410
            initialCaseSensitive := (LastSearchWasCaseSensitive ? false) 
81034684fda4 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14111
diff changeset
   411
        ].  
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   412
        (self 
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   413
            addCheckBox:(resources string:'Case Sensitive')
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   414
            on:(caseHolder := initialCaseSensitive asValue))
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   415
            helpKey:#caseSensitive.
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   416
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   417
    withMatch ifTrue:[
14112
81034684fda4 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14111
diff changeset
   418
        initialMatch := true.
81034684fda4 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14111
diff changeset
   419
        (searchWhat ~~ #resource) ifTrue:[ 
81034684fda4 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14111
diff changeset
   420
            initialMatch := (LastSearchWasMatch ? true) 
81034684fda4 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14111
diff changeset
   421
        ].
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   422
        (self 
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   423
            addCheckBox:(resources string:'Match')
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   424
            on:(matchHolder := initialMatch asValue))
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   425
            helpKey:#match.
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   426
"/                (isSelector and:[ sel notNil. ]) ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   427
"/                    sel includesMatchCharacters ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   428
"/                        matchHolder value:false.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   429
"/                    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   430
"/                ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   431
    ]
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   432
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   433
    "Modified (format): / 06-07-2011 / 11:56:31 / cg"
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   434
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   435
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   436
askThenDo:aBlock 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   437
    |where code sel matchHolderValue caseHolderValue|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   438
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   439
    self beScreenDialog.                "raise it above all windows"
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   440
    self open.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   441
    self accepted ifFalse:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   442
        ^ self.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   443
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   444
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   445
    openHow isNil ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   446
        openHow := defaultOpenHow.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   447
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   448
    where := whereRadioGroup value.
16342
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
   449
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   450
    withTextEntry ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   451
        searchWhat == #code ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   452
            code := codeField contentsAsString.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   453
            LastCodeSearched := code.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   454
            LastCodeSearchArea := where.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   455
        ] ifFalse:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   456
            (selectionList notNil and:[selectionList hasSelection]) ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   457
                sel := selectionList selectionValue.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   458
            ] ifFalse:[
15190
2ab33126b6f7 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15128
diff changeset
   459
                sel := selectorHolder value.
2ab33126b6f7 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15128
diff changeset
   460
                searchWhat ~~ #string ifTrue:[
2ab33126b6f7 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15128
diff changeset
   461
                    sel := sel withoutSeparators.
2ab33126b6f7 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15128
diff changeset
   462
                ].
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   463
            ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   464
            sel isEmptyOrNil ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   465
                browser warn:((searchWhat == #selector) 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   466
                            ifTrue:[ 'No selector entered for search'. ]
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   467
                            ifFalse:[ 'Nothing entered for search'. ]).
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   468
                ^ self.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   469
            ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   470
            sel := sel string.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   471
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   472
            (browser ? SystemBrowser) rememberSearchPattern:sel.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   473
            searchWhat == #globalName ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   474
                LastGlobalSearched := sel.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   475
            ] ifFalse:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   476
                searchWhat == #string ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   477
                    LastStringSearched := sel.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   478
                    LastStringSearchArea := where.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   479
                ] ifFalse:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   480
                    (sel startsWith:'#''') ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   481
                        sel := sel copyFrom:3.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   482
                        (sel endsWith:$') ifTrue:[
14582
66eb95a62527 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14112
diff changeset
   483
                            sel := sel copyButLast.
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   484
                        ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   485
                    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   486
                ]
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   487
            ]
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   488
        ].
16342
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
   489
    ] ifFalse:[
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
   490
        sel := initialText
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   491
    ].
16342
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
   492
    
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   493
    where isNil ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   494
        (browser ? Dialog) warn:'No class(es) for search'.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   495
        ^ self.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   496
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   497
    self getClassesAndMethodsFor:where.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   498
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   499
    (#(#classesWithPrivateClasses #classHierarchiesWithPrivateClasses #ownersWithPrivateClasses #ownersHierarchiesWithPrivateClasses) 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   500
        includes:where) 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   501
            ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   502
                |toSearch|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   503
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   504
                toSearch := IdentitySet withAll:classes.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   505
                classes := IdentitySet withAll:toSearch.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   506
                [ toSearch notEmpty ] whileTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   507
                    |cls|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   508
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   509
                    cls := toSearch removeFirst.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   510
                    classes addAll:cls allPrivateClasses.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   511
                ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   512
            ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   513
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   514
    classes size == 0 ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   515
        classes := nil.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   516
        methods size == 0 ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   517
            (browser ? Dialog) warn:'No class(es) given for search.'.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   518
            ^ self.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   519
        ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   520
    ] ifFalse:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   521
        classes := classes asOrderedCollection.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   522
        methods size ~~ 0 ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   523
            (browser ? Dialog) warn:'oops'.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   524
            methods := nil.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   525
        ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   526
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   527
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   528
    matchHolderValue := matchHolder value.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   529
    matchHolderValue notNil ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   530
        LastSearchWasMatch := matchHolderValue
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   531
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   532
    caseHolderValue := caseHolder value.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   533
    caseHolderValue notNil ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   534
        LastSearchWasCaseSensitive := caseHolderValue
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   535
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   536
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   537
    selectorOrCode := sel ? code.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   538
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   539
    aBlock numArgs == 7 ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   540
        "/ old style
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   541
        aBlock
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   542
            value:classes
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   543
            value:(sel ? code)
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   544
            value:(self searchIgnoringCase)
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   545
            value:openHow
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   546
            value:(matchHolderValue ? false)
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   547
            value:methods
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   548
            value:(isMethodHolder value ? false).
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   549
    ] ifFalse:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   550
        aBlock value.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   551
    ]
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   552
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   553
    "Modified: / 26-09-2012 / 11:50:45 / cg"
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   554
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   555
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   556
setupToAskForMethodSearchTitle:title forBrowser:brwsrArg searchWhat:searchWhatArg 
14948
f53b88a7b381 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14582
diff changeset
   557
    searchArea:whereDefault withCaseIgnore:withCaseIgnore withMatch:withMatch 
f53b88a7b381 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14582
diff changeset
   558
    withMethodList:withMethodList allowFind:allowFindArg allowBuffer:allowBufferArg 
f53b88a7b381 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14582
diff changeset
   559
    allowBrowser:allowBrowserArg withTextEntry:withTextEntryArg 
f53b88a7b381 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14582
diff changeset
   560
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   561
    "the real construction of the box is done here. 
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   562
     Any additional parameters (metaOnly, searchLiterals etc. must have been done
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   563
     already."
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   564
    
16920
6411ac77e0d1 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16690
diff changeset
   565
    "searchWhatArg:
6411ac77e0d1 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16690
diff changeset
   566
        one of:#selector #string
14948
f53b88a7b381 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14582
diff changeset
   567
     searchArea:
16342
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
   568
        one of: #everywhere #currentNameSpace
14948
f53b88a7b381 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14582
diff changeset
   569
    "
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   570
15480
91b5095ad0a1 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15190
diff changeset
   571
    |where ns methodNameSpaces methodPackages hPanel 
91b5095ad0a1 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15190
diff changeset
   572
     leftVerticalPanel rightVerticalPanel updateListAction|
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   573
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   574
    allowFind := allowFindArg.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   575
    allowBuffer := allowBufferArg.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   576
    allowBrowser := allowBrowserArg.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   577
    searchWhat := searchWhatArg.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   578
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   579
    withTextEntry := withTextEntryArg.
16342
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
   580
    resources := NewSystemBrowser classResources.
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   581
16342
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
   582
    (browser := brwsrArg) notNil ifTrue:[
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   583
        selectedClasses := browser selectedClasses value.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   584
        selectedCategories := browser selectedCategoriesValue.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   585
        selectedCategories := selectedCategories reject:[:cat | NavigatorModel isPseudoCategory:cat].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   586
        selectedMethods := browser selectedMethods value.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   587
        currentClass := browser theSingleSelectedClass.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   588
        currentClassCategory := browser theSingleSelectedCategory.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   589
        currentPackage := browser theSingleSelectedProject.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   590
        currentClass isNil ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   591
            browser hasMethodSelected ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   592
                currentClass := selectedMethods first mclass.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   593
                "/ selectedClasses := (selectedMethods collect:[:each | each mclass ]) asIdentitySet.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   594
                "/ selectedClasses := selectedClasses select:[:each | each notNil ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   595
            ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   596
        ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   597
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   598
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   599
    (self addTextLabel:(resources stringWithCRs:title)) adjust:#left.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   600
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   601
    currentClass notNil ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   602
        currentClass := currentClass theNonMetaclass.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   603
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   604
    withTextEntry ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   605
        self addTextEntryWithCaseIgnore:withCaseIgnore withMatch:withMatch.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   606
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   607
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   608
    (showMetaFilter ? false) ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   609
        currentPanel := self.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   610
        self addCheckBoxForMetaClassesOnly.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   611
    ].
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   612
    (withSearchStringInLiterals ? false) ifTrue:[    
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   613
        currentPanel := self.
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   614
        self addCheckBoxForSearchInLiteralsOnly
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   615
    ].
16690
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
   616
    (withSearchFreeStandingWordsOnly ? false) ifTrue:[    
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
   617
        currentPanel := self.
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
   618
        self addCheckBoxForSearchFreeStandingWordsOnly
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
   619
    ].
16920
6411ac77e0d1 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16690
diff changeset
   620
    (showMetaFilter ? false) ifTrue:[
6411ac77e0d1 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16690
diff changeset
   621
        currentPanel := self.
6411ac77e0d1 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16690
diff changeset
   622
        searchWhat == #string ifTrue:[
6411ac77e0d1 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16690
diff changeset
   623
            self addCheckBoxForIgnoreDocumentationMethods
6411ac77e0d1 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16690
diff changeset
   624
        ].
6411ac77e0d1 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16690
diff changeset
   625
    ].
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   626
    
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   627
    self addHorizontalLine.
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   628
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   629
    hPanel := HorizontalPanelView "SimpleView" new.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   630
    hPanel verticalLayout:#top.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   631
    hPanel horizontalLayout:#left.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   632
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   633
    leftVerticalPanel := currentPanel := VerticalPanelView new.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   634
    leftVerticalPanel verticalLayout:#topSpace.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   635
    leftVerticalPanel horizontalLayout:#fitSpace.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   636
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   637
    (self addTextLabel:(resources string:'Search in:')) adjust:#left.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   638
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   639
    searchAreas := OrderedCollection new.
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   640
    whereRadioGroup := RadioButtonGroup new.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   641
16364
95c0134ba16f #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16353
diff changeset
   642
    self addCheckBoxForEverywhere.
14948
f53b88a7b381 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14582
diff changeset
   643
    (selectedCategories notEmptyOrNil or:[ selectedClasses notEmptyOrNil ]) ifTrue:[
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   644
        "/        classMethodListView notNil ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   645
        "/            b := CheckBox label:(resources string:'Shown Methods').
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   646
        "/            panel add:b. whereChannel add:b value:#currentMethodList.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   647
        "/            areas add:#currentMethodList.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   648
        "/            self makeTabable:b.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   649
        "/        ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   650
        browser isMethodListBrowser ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   651
            methods := browser selectedMethods value ? #().
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   652
            methodNameSpaces := methods
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   653
                        select:[:eachMethod | eachMethod mclass notNil]
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   654
                        thenCollect:[:eachMethod | eachMethod mclass topNameSpace ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   655
            methodPackages := methods 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   656
                        collect:[:eachMethod | eachMethod package ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   657
        ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   658
        methodNameSpaces size == 1 ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   659
            currentNamespace := methodNameSpaces first.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   660
        ] ifFalse:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   661
            currentNamespace := browser currentNamespace.
14948
f53b88a7b381 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14582
diff changeset
   662
            selectedClasses isEmptyOrNil ifTrue:[
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   663
                |classesInAllSelectedCategories nameSpacesOfAllClassesInAllSelectedCategories|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   664
                classesInAllSelectedCategories := Smalltalk allClasses select:[:cls | selectedCategories includes:cls category].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   665
                nameSpacesOfAllClassesInAllSelectedCategories := classesInAllSelectedCategories collect:[:eachClass | eachClass topNameSpace].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   666
                nameSpacesOfAllClassesInAllSelectedCategories size == 1 ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   667
                    currentNamespace := nameSpacesOfAllClassesInAllSelectedCategories first.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   668
                ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   669
            ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   670
        ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   671
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   672
        (currentNamespace notNil 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   673
            and:[ currentNamespace ~= (browser nameListEntryForALL) ]) 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   674
                ifTrue:[ self addCheckBoxForCurrentNamespace ]
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   675
                ifFalse:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   676
                    (currentClass notNil 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   677
                        and:[ (ns := currentClass nameSpace) notNil and:[ ns ~~ Smalltalk ] ]) 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   678
                            ifTrue:[ self addCheckBoxForClassesNamespace:ns ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   679
                ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   680
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   681
        methodPackages size == 1 ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   682
            currentPackage := methodPackages first.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   683
        ] ifFalse:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   684
            currentPackage := browser currentProject.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   685
"/            selectedClasses size == 0 ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   686
"/                |classesInAllSelectedCategories packagesOfAllClassesInAllSelectedCategories|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   687
"/                classesInAllSelectedCategories := Smalltalk allClasses select:[:cls | selectedCategories includes:cls category].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   688
"/                packagesOfAllClassesInAllSelectedCategories := classesInAllSelectedCategories collect:[:eachClass | eachClass package].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   689
"/                packagesOfAllClassesInAllSelectedCategories size == 1 ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   690
"/                    currentPackage := packagesOfAllClassesInAllSelectedCategories first.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   691
"/                ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   692
"/            ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   693
        ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   694
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   695
        (currentPackage notNil 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   696
            and:[ currentPackage ~= (browser nameListEntryForALL) ]) 
15585
7e78350c918a class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15480
diff changeset
   697
                ifTrue:[ 
7e78350c918a class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15480
diff changeset
   698
                    self addCheckBoxForCurrentPackage.
7e78350c918a class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15480
diff changeset
   699
                    self addCheckBoxForCurrentPackageAndSubPackages.
7e78350c918a class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15480
diff changeset
   700
                ]
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   701
                ifFalse:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   702
                    (currentClass notNil) ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   703
                        self addCheckBoxForClassesPackage:(currentClass package) 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   704
                    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   705
                ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   706
14948
f53b88a7b381 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14582
diff changeset
   707
        selectedCategories notEmptyOrNil ifTrue:[
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   708
            self addCheckBoxForSelectedClassCategory.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   709
        ].
14948
f53b88a7b381 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14582
diff changeset
   710
        (selectedClasses notEmptyOrNil or:[ selectedMethods notEmptyOrNil ]) ifTrue:[
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   711
            self addCheckBoxForSelectedClass.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   712
            self addCheckBoxForSelectedClassAndSuperclasses.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   713
            self addCheckBoxForSelectedClassAndSubclasses.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   714
            self addCheckBoxForSelectedClassAndPrivateClasses.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   715
            self addCheckBoxForSelectedClassAndSubclassesAndPrivateClasses.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   716
            self addCheckBoxForOwnerAndItsPrivateClasses.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   717
            self addCheckBoxForOwnerAndItsSubclassesAndItsPrivateClasses.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   718
        ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   719
    ] ifFalse:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   720
        (browser notNil and:[browser currentNamespace ~~ Smalltalk]) ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   721
            self addCheckBoxForEverywhere.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   722
            currentNamespace := browser currentNamespace.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   723
            currentNamespace ~= (browser nameListEntryForALL) ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   724
                self addCheckBoxForCurrentNamespace.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   725
            ] ifFalse:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   726
                (currentClass notNil 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   727
                and:[ (ns := currentClass nameSpace) notNil 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   728
                and:[ ns ~~ Smalltalk ] ]) 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   729
                ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   730
                    self addCheckBoxForClassesNamespace:ns 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   731
                ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   732
            ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   733
        ].
16964
7940bf382180 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16920
diff changeset
   734
        (currentPackage notNil and:[ browser isNil or:[ currentPackage ~= (browser nameListEntryForALL) ]]) 
16342
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
   735
        ifTrue:[ 
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
   736
            self addCheckBoxForCurrentPackage.
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
   737
            self addCheckBoxForCurrentPackageAndSubPackages.
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
   738
        ] ifFalse:[
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
   739
            (currentClass notNil) ifTrue:[ 
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
   740
                self addCheckBoxForClassesPackage:(currentClass package) 
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
   741
            ].
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
   742
        ].
16964
7940bf382180 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16920
diff changeset
   743
        currentClass notNil ifTrue:[
7940bf382180 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16920
diff changeset
   744
            self addCheckBoxForSelectedClass
7940bf382180 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16920
diff changeset
   745
        ].    
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   746
    ].
14948
f53b88a7b381 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14582
diff changeset
   747
    searchAreas isEmptyOrNil ifTrue:[
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   748
        self addCheckBoxForEverywhere.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   749
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   750
    self addCheckBoxForChangedClassesList.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   751
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   752
    withMethodList ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   753
        browser isMethodListBrowser ifTrue:[
14948
f53b88a7b381 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14582
diff changeset
   754
            searchAreas isEmptyOrNil ifTrue:[
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   755
                self addCheckBoxForEverywhere.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   756
            ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   757
            self addCheckBoxForMethodList.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   758
            self addCheckBoxForSelectedMethods.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   759
            self addCheckBoxForSelectedMethodClasses.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   760
            self addCheckBoxForSelectedMethodPackages.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   761
        ] ifFalse:[
14948
f53b88a7b381 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14582
diff changeset
   762
            searchAreas isEmptyOrNil ifTrue:[
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   763
                self addCheckBoxForEverywhere.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   764
            ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   765
            self addCheckBoxForChangedMethodList.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   766
        ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   767
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   768
14948
f53b88a7b381 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14582
diff changeset
   769
    searchAreas isEmptyOrNil ifTrue:[
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   770
        whereRadioGroup := #everywhere asValue.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   771
        self addDummyCheckBoxForEverywhere.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   772
    ] ifFalse:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   773
        whereDefault notNil ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   774
            (searchAreas includes:whereDefault) ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   775
                where := whereDefault asSymbol.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   776
            ] ifFalse:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   777
                where := searchAreas first.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   778
            ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   779
        ] ifFalse:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   780
            where := #everywhere.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   781
        ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   782
        whereRadioGroup value:where.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   783
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   784
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   785
    hPanel add:leftVerticalPanel.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   786
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   787
false ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   788
    "/ noone liked the right panel...
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   789
    rightVerticalPanel := currentPanel := VerticalPanelView new.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   790
    rightVerticalPanel verticalLayout:#topSpace.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   791
    rightVerticalPanel horizontalLayout:#fitSpace.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   792
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   793
    self addCheckBoxForClassMethodSearch.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   794
    self addCheckBoxForInstanceMethodSearch.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   795
"/    rightVerticalPanel origin:0.75@0.0 corner:1.0@1.0.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   796
    hPanel 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   797
        preferredExtent:(leftVerticalPanel preferredWidth + rightVerticalPanel preferredWidth)
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   798
                        @
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   799
                        (leftVerticalPanel preferredHeight max:rightVerticalPanel preferredHeight).
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   800
    hPanel add:rightVerticalPanel.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   801
] ifFalse:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   802
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   803
"/    rightVerticalPanel origin:0.75@0.0 corner:1.0@1.0.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   804
    hPanel 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   805
        preferredExtent:(leftVerticalPanel preferredWidth) @ (leftVerticalPanel preferredHeight).
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   806
].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   807
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   808
    self addComponent:hPanel indent:0.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   809
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   810
    "/ panel has its own idea of indenting
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   811
    "/ self addVerticalSpace.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   812
    searchWhat == #selector ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   813
        "/ not yet implemented
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   814
        "/ self addHorizontalLine.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   815
        "/ self addCheckBoxesForClassAndMetaSearch.
15480
91b5095ad0a1 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15190
diff changeset
   816
        updateListAction := [ self updateListOfMatchingSelectorsFor:inputField contents ].
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   817
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   818
        selectionList := self addFilteredListOfMatchingSelectors.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   819
        self stickAtBottomWithVariableHeight:selectionList.
15480
91b5095ad0a1 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15190
diff changeset
   820
        matchHolder notNil ifTrue:[ matchHolder onChangeEvaluate:updateListAction ].
91b5095ad0a1 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15190
diff changeset
   821
        caseHolder notNil ifTrue:[ caseHolder onChangeEvaluate:updateListAction ].
91b5095ad0a1 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15190
diff changeset
   822
        inputField notNil ifTrue:updateListAction.
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   823
    ] ifFalse:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   824
        self addHorizontalLine.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   825
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   826
    self addButtons.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   827
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   828
    self label:(resources string:'Search').
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   829
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   830
    "Modified: / 20-08-2012 / 13:25:03 / cg"
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   831
! !
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   832
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   833
!SearchDialog methodsFor:'setup'!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   834
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   835
addCheckBox:b forSearchArea:area 
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   836
    self addCheckBox:b forSearchArea:area helpKey:area
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   837
!
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   838
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   839
addCheckBox:b forSearchArea:area helpKey:symbolicHelpKey
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   840
    currentPanel add:b.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   841
    whereRadioGroup add:b value:area.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   842
    searchAreas add:area.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   843
    self makeTabable:b.
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   844
    symbolicHelpKey notNil ifTrue:[ b helpKey:symbolicHelpKey ].
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   845
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   846
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   847
addCheckBoxForChangedClassesList
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   848
    |b|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   849
15068
2dba2b7a9aa0 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14977
diff changeset
   850
    b := RadioButton "CheckBox" label:(resources string:'Changed Classes').
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   851
    
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   852
    self addCheckBox:b forSearchArea:#listOfChangedClasses.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   853
    ChangeSet current changedClasses isEmpty ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   854
        b disable
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   855
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   856
    ^ b.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   857
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   858
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   859
addCheckBoxForChangedMethodList
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   860
    |b|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   861
15068
2dba2b7a9aa0 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14977
diff changeset
   862
    b := RadioButton "CheckBox" label:(resources string:'Changed Methods').
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   863
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   864
    self addCheckBox:b forSearchArea:#listOfChangedMethods.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   865
    ChangeSet current changeSelectors isEmpty ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   866
        b disable
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   867
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   868
    ^ b.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   869
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   870
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   871
addCheckBoxForClassesNamespace:ns 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   872
    |b|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   873
15068
2dba2b7a9aa0 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14977
diff changeset
   874
    b := RadioButton "CheckBox" label:(resources string:'Classes'' nameSpace ("%1")' with:ns name).
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   875
    self addCheckBox:b forSearchArea:#currentClassesNameSpace.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   876
    ^ b.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   877
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   878
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   879
addCheckBoxForClassesPackage:pkg 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   880
    |b|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   881
15068
2dba2b7a9aa0 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14977
diff changeset
   882
    b := RadioButton "CheckBox" label:(resources string:'Classes'' package ("%1")' with:pkg).
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   883
    self addCheckBox:b forSearchArea:#currentClassesPackage.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   884
    ^ b.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   885
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   886
    "Created: / 21-09-2006 / 17:39:55 / cg"
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   887
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   888
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   889
addCheckBoxForCurrentNamespace
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   890
    |b|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   891
15068
2dba2b7a9aa0 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14977
diff changeset
   892
    b := RadioButton "CheckBox" label:(resources string:'Current nameSpace ("%1")' with:currentNamespace name).
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   893
    self addCheckBox:b forSearchArea:#currentNameSpace.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   894
    ^ b.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   895
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   896
    "Modified: / 10-10-2006 / 15:28:47 / cg"
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   897
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   898
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   899
addCheckBoxForCurrentPackage
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   900
    |b|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   901
17000
f155b8bdfe04 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16964
diff changeset
   902
    b := RadioButton "CheckBox" label:(resources string:'Current Package ("%1")' with:currentPackage).
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   903
    self addCheckBox:b forSearchArea:#currentPackage.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   904
    ^ b.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   905
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   906
    "Modified: / 10-10-2006 / 15:28:51 / cg"
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   907
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   908
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   909
addCheckBoxForCurrentPackage:pkg 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   910
    |b|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   911
15068
2dba2b7a9aa0 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14977
diff changeset
   912
    b := RadioButton "CheckBox" label:(resources string:'Classes'' package ("%1")' with:pkg).
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   913
    self addCheckBox:b forSearchArea:#currentClassesPackage.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   914
    ^ b.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   915
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   916
    "Modified: / 10-10-2006 / 15:29:06 / cg"
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   917
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   918
15585
7e78350c918a class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15480
diff changeset
   919
addCheckBoxForCurrentPackageAndSubPackages
7e78350c918a class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15480
diff changeset
   920
    |b any|
7e78350c918a class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15480
diff changeset
   921
17000
f155b8bdfe04 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16964
diff changeset
   922
    b := RadioButton "CheckBox" label:(resources string:'Current Package ("%1") and Subpackages' with:currentPackage).
15585
7e78350c918a class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15480
diff changeset
   923
    self addCheckBox:b forSearchArea:#currentPackageAndSubPackages.
16208
8b9148b8d5bf #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 15987
diff changeset
   924
    any := Smalltalk allPackageIDs contains:[:p | p startsWith:currentPackage,'/'].
15585
7e78350c918a class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15480
diff changeset
   925
    any ifFalse:[
7e78350c918a class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15480
diff changeset
   926
        b disable
7e78350c918a class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15480
diff changeset
   927
    ].        
7e78350c918a class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15480
diff changeset
   928
    ^ b.
7e78350c918a class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15480
diff changeset
   929
!
7e78350c918a class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15480
diff changeset
   930
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   931
addCheckBoxForEverywhere
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   932
    |b|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   933
15068
2dba2b7a9aa0 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14977
diff changeset
   934
    b := RadioButton "CheckBox" label:(resources string:'Everywhere').
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   935
    self addCheckBox:b forSearchArea:#everywhere.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   936
    ^ b.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   937
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   938
16920
6411ac77e0d1 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16690
diff changeset
   939
addCheckBoxForIgnoreDocumentationMethods
6411ac77e0d1 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16690
diff changeset
   940
    |p b|
6411ac77e0d1 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16690
diff changeset
   941
6411ac77e0d1 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16690
diff changeset
   942
    p := View new.
6411ac77e0d1 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16690
diff changeset
   943
    
6411ac77e0d1 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16690
diff changeset
   944
    b := CheckBox label:(resources string:'Ignore Documentation Methods') in:p.
6411ac77e0d1 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16690
diff changeset
   945
    b model:(ignoreDocumentationMethodsHolder := false asValue).
6411ac77e0d1 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16690
diff changeset
   946
    b helpKey:#ignoreDocumentationMethods.
6411ac77e0d1 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16690
diff changeset
   947
    self makeTabable:b.
6411ac77e0d1 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16690
diff changeset
   948
6411ac77e0d1 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16690
diff changeset
   949
    currentPanel add:p.
6411ac77e0d1 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16690
diff changeset
   950
    ^ nil.
6411ac77e0d1 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16690
diff changeset
   951
!
6411ac77e0d1 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16690
diff changeset
   952
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   953
addCheckBoxForMetaClassesOnly
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   954
    |p b|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   955
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   956
    p := View new.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   957
    
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   958
    b := CheckBox label:(resources string:'Metaclasses Only') in:p.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   959
    b model:(metaclassesOnlyHolder := false asValue).
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   960
    b helpKey:#metaClassesOnly.
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   961
    metaclassesOnlyHolder onChangeEvaluate:[metaclassesOnlyHolder value ifTrue:[classesOnlyHolder value:false]].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   962
    self makeTabable:b.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   963
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   964
    b := CheckBox label:(resources string:'Classes Only') in:p.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   965
    b left:0.5.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   966
    b model:(classesOnlyHolder := false asValue).
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
   967
    b helpKey:#nonMetaClassesOnly.
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   968
    classesOnlyHolder onChangeEvaluate:[classesOnlyHolder value ifTrue:[metaclassesOnlyHolder value:false]].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   969
    self makeTabable:b.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   970
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   971
    currentPanel add:p.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   972
    ^ nil.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   973
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   974
    "Created: / 20-08-2012 / 11:32:15 / cg"
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   975
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   976
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   977
addCheckBoxForMethodList
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   978
    |b|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   979
15068
2dba2b7a9aa0 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14977
diff changeset
   980
    b := RadioButton "CheckBox" label:(resources string:'Methodlist').
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   981
    self addCheckBox:b forSearchArea:AREA_LISTOFMETHODS.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   982
    ^ b.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   983
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   984
    "Modified: / 19-11-2010 / 12:00:52 / cg"
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   985
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   986
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   987
addCheckBoxForOwnerAndItsPrivateClasses
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   988
    |b lbl arg|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   989
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   990
    (currentClass notNil and:[ currentClass isPrivate. ]) ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   991
        lbl := 'Owner (%1) & all its private classes'.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   992
        arg := currentClass owningClass name.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   993
    ] ifFalse:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   994
        lbl := 'Owners & all their private classes'.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   995
    ].
15068
2dba2b7a9aa0 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14977
diff changeset
   996
    b := RadioButton "CheckBox" label:(resources string:lbl with:arg).
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   997
    self addCheckBox:b forSearchArea:#ownersWithPrivateClasses.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   998
    (selectedClasses contains:[ :cls | cls isPrivate. ]) ifFalse:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   999
        b disable.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1000
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1001
    ^ b.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1002
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1003
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1004
addCheckBoxForOwnerAndItsSubclassesAndItsPrivateClasses
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1005
    |b lbl arg|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1006
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1007
    (currentClass notNil and:[ currentClass isPrivate. ]) ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1008
        lbl := 'Owner (%1) & its subclasses & all its private classes'.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1009
        arg := currentClass owningClass name.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1010
    ] ifFalse:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1011
        lbl := 'Owners & their subclasses & all their private classes'.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1012
    ].
15068
2dba2b7a9aa0 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14977
diff changeset
  1013
    b := RadioButton "CheckBox" label:(resources string:lbl with:arg).
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1014
    self addCheckBox:b forSearchArea:#ownersHierarchiesWithPrivateClasses.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1015
    (selectedClasses contains:[ :cls | cls isPrivate. ]) ifFalse:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1016
        b disable.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1017
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1018
    ^ b.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1019
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1020
16690
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
  1021
addCheckBoxForSearchFreeStandingWordsOnly
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
  1022
    |p b|
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
  1023
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
  1024
    p := View new.
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
  1025
    
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
  1026
    b := CheckBox label:(resources string:'Search Free Standing Words Only') in:p.
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
  1027
    b model:(searchFreeStandingWordsOnlyHolder := false asValue).
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
  1028
    p helpKey:#searchFreeStandingWordsOnly.
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
  1029
    self makeTabable:b.
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
  1030
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
  1031
    currentPanel add:p.
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
  1032
    ^ nil.
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
  1033
!
99e111fd8e17 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16463
diff changeset
  1034
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
  1035
addCheckBoxForSearchInLiteralsOnly
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
  1036
    |p b|
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
  1037
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
  1038
    p := View new.
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
  1039
    
16463
06f1e610b85a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16461
diff changeset
  1040
    b := CheckBox label:(resources string:'Search String-Constants (Literals) Only') in:p.
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
  1041
    b model:(searchStringInLiteralsHolder := false asValue).
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
  1042
    p helpKey:#searchStringInLiterals.
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
  1043
    self makeTabable:b.
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
  1044
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
  1045
    currentPanel add:p.
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
  1046
    ^ nil.
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
  1047
!
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
  1048
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1049
addCheckBoxForSelectedClass
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1050
    |b lbl arg|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1051
16964
7940bf382180 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16920
diff changeset
  1052
    ((browser notNil and:[browser isMethodListBrowser])
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1053
    or:[ currentClass isNil
16964
7940bf382180 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16920
diff changeset
  1054
    or:[ selectedClasses size > 1]]) ifTrue:[ 
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1055
        selectedClasses size == 1 ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1056
            lbl := 'Selected class ("%1")'.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1057
            arg := selectedClasses first theNonMetaclass name.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1058
        ] ifFalse:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1059
            lbl := 'Selected classes (%1)'.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1060
            arg := selectedClasses size.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1061
        ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1062
    ] ifFalse:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1063
        lbl := 'Class ("%1")'.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1064
        arg := currentClass name.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1065
    ].
15068
2dba2b7a9aa0 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14977
diff changeset
  1066
    b := RadioButton "CheckBox" label:(resources string:lbl with:arg).
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1067
    self addCheckBox:b forSearchArea:#classes.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1068
    ^ b.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1069
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1070
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1071
addCheckBoxForSelectedClassAndPrivateClasses
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1072
    |b lbl|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1073
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1074
    (browser isMethodListBrowser 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1075
    or:[ currentClass isNil 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1076
    or:[ selectedClasses size > 1] ]) ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1077
        lbl := 'Selected classes & all private classes'.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1078
    ] ifFalse:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1079
        lbl := 'Class & private classes'.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1080
    ].
15068
2dba2b7a9aa0 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14977
diff changeset
  1081
    b := RadioButton "CheckBox" label:(resources string:lbl).
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1082
    self addCheckBox:b forSearchArea:#classesWithPrivateClasses.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1083
    (selectedClasses 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1084
        contains:[ :cls | cls theNonMetaclass privateClasses size > 0. ]) 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1085
            ifFalse:[ b disable. ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1086
    ^ b.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1087
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1088
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1089
addCheckBoxForSelectedClassAndSubclasses
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1090
    |b lbl|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1091
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1092
    (browser isMethodListBrowser 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1093
    or:[ currentClass isNil
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1094
    or:[ selectedClasses size > 1] ]) ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1095
        lbl := 'Selected classes & all subclasses'.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1096
    ] ifFalse:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1097
        lbl := 'Class & subclasses'.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1098
    ].
15068
2dba2b7a9aa0 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14977
diff changeset
  1099
    b := RadioButton "CheckBox" label:(resources string:lbl).
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1100
    self addCheckBox:b forSearchArea:#classHierarchies.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1101
    (selectedClasses 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1102
        contains:[ :cls | cls theNonMetaclass subclasses size > 0. ]) 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1103
            ifFalse:[ b disable. ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1104
    ^ b.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1105
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1106
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1107
addCheckBoxForSelectedClassAndSubclassesAndPrivateClasses
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1108
    |b lbl|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1109
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1110
    (browser isMethodListBrowser 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1111
    or:[ currentClass isNil
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1112
    or:[ selectedClasses size > 1] ]) ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1113
        lbl := 'Selected classes & all subclasses & all private classes'.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1114
    ] ifFalse:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1115
        lbl := 'Class & subclasses & all private classes'.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1116
    ].
15068
2dba2b7a9aa0 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14977
diff changeset
  1117
    b := RadioButton "CheckBox" label:(resources string:lbl).
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1118
    self addCheckBox:b forSearchArea:#classHierarchiesWithPrivateClasses.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1119
    (selectedClasses 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1120
        contains:[ :cls | cls theNonMetaclass privateClasses size > 0. ]) 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1121
            ifFalse:[ b disable. ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1122
    ^ b.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1123
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1124
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1125
addCheckBoxForSelectedClassAndSuperclasses
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1126
    |b lbl|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1127
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1128
    (browser isMethodListBrowser 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1129
    or:[ currentClass isNil
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1130
    or:[ selectedClasses size > 1] ]) ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1131
        lbl := 'Selected classes & all superclasses'.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1132
    ] ifFalse:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1133
        lbl := 'Class & superclasses'.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1134
    ].
15068
2dba2b7a9aa0 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14977
diff changeset
  1135
    b := RadioButton "CheckBox" label:(resources string:lbl).
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1136
    self addCheckBox:b forSearchArea:#classesAndSuperclasses.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1137
    (selectedClasses 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1138
        contains:[ :cls | cls theNonMetaclass superclass notNil. ]) 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1139
            ifFalse:[ b disable. ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1140
    ^ b.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1141
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1142
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1143
addCheckBoxForSelectedClassCategory
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1144
    |b lbl arg|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1145
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1146
    currentClassCategory notNil ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1147
        lbl := 'Class category ("%1")'.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1148
        arg := currentClassCategory.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1149
    ] ifFalse:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1150
        lbl := 'Selected class categories (%1)'.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1151
        arg := selectedCategories size.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1152
    ].
15068
2dba2b7a9aa0 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14977
diff changeset
  1153
    b := RadioButton "CheckBox" label:(resources string:lbl with:arg).
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1154
    self addCheckBox:b forSearchArea:#classCategories.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1155
    ^ b.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1156
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1157
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1158
addCheckBoxForSelectedMethodClasses
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1159
    |b classes numClasses|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1160
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1161
    classes := ((browser selectedMethods value ? #()) 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1162
                    select:[:m | m mclass notNil]
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1163
                    thenCollect:[:m | m mclass theNonMetaclass]) asSet.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1164
    numClasses := classes size.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1165
    numClasses == 0 ifTrue:[^ self]. "/ comment this to show, but disabled
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1166
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1167
    numClasses == 1 ifTrue:[
15068
2dba2b7a9aa0 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14977
diff changeset
  1168
        b := RadioButton "CheckBox" label:(resources string:'Selected method''s class ("%1")'
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1169
                            with:classes first name).
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1170
    ] ifFalse:[
15068
2dba2b7a9aa0 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14977
diff changeset
  1171
        b := RadioButton "CheckBox" label:(resources string:'Selected methods'' classes (%1)'
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1172
                            with:numClasses).
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1173
        numClasses == 0 ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1174
            b disable
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1175
        ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1176
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1177
    self addCheckBox:b forSearchArea:#listOfSelectedMethodClasses.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1178
    ^ b.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1179
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1180
    "Modified (comment): / 20-07-2012 / 11:40:44 / cg"
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1181
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1182
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1183
addCheckBoxForSelectedMethodPackages
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1184
    |b packages numPackages|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1185
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1186
    packages := ((browser selectedMethods value ? #()) 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1187
                    collect:[:m | m package] as:Set).
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1188
    numPackages := packages size.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1189
    numPackages size == 0 ifTrue:[^ self]. "/ comment this to show, but disabled
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1190
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1191
    numPackages == 1 ifTrue:[
15068
2dba2b7a9aa0 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14977
diff changeset
  1192
        b := RadioButton "CheckBox" label:(resources string:'Selected method''s package ("%1")'
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1193
                            with:packages first).
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1194
    ] ifFalse:[
15068
2dba2b7a9aa0 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14977
diff changeset
  1195
        b := RadioButton "CheckBox" label:(resources string:'Selected methods'' packages (%1)'
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1196
                            with:numPackages).
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1197
        numPackages == 0 ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1198
            b disable
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1199
        ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1200
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1201
    self addCheckBox:b forSearchArea:#listOfSelectedMethodPackages.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1202
    ^ b.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1203
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1204
    "Created: / 29-02-2012 / 19:42:26 / cg"
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1205
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1206
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1207
addCheckBoxForSelectedMethods
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1208
    |b numSelected|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1209
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1210
    numSelected := browser selectedMethods value size.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1211
    numSelected == 0 ifTrue:[^ self]. "/ comment this to show, but disabled
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1212
15068
2dba2b7a9aa0 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14977
diff changeset
  1213
    b := RadioButton "CheckBox" label:(resources string:'Selected methods (%1)' with:numSelected).
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1214
    self addCheckBox:b forSearchArea:#listOfSelectedMethods.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1215
    numSelected == 0 ifTrue:[b disable].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1216
    ^ b.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1217
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1218
    "Modified (comment): / 20-07-2012 / 11:40:33 / cg"
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1219
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1220
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1221
addCheckBoxForSelectedPackage
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1222
    |b lbl arg|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1223
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
  1224
    currentPackage notNil ifTrue:[ 
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
  1225
        lbl := 'Class package ("%1")'.
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
  1226
        arg := currentPackage.
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1227
    ] ifFalse:[ 
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
  1228
        lbl := 'Selected classes packages (%1)'.
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
  1229
        arg := selectedPackages size.
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1230
    ].
15068
2dba2b7a9aa0 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14977
diff changeset
  1231
    b := RadioButton "CheckBox" label:(resources string:lbl with:arg).
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
  1232
    self addCheckBox:b forSearchArea:#selectedPackages.
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1233
    ^ b.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1234
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1235
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1236
addCheckBoxesForClassAndMetaSearch
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1237
    |y b1 b2|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1238
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1239
    y := self yPosition.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1240
    b1 := self addCheckBox:(resources string:'Instance Protocol') on:(self searchInstanceProtocolHolder).
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
  1241
    b1 helpKey:#classesOnly.
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1242
    "/ b1 width:0.5.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1243
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1244
    "/ self yPosition:y.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1245
    b2 := self addCheckBox:(resources string:'Class Protocol') on:(self searchClassProtocolHolder).
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
  1246
    b2 helpKey:#metaClassesOnly.
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1247
    "/ b2 left:0.5; width:0.5.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1248
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1249
    "Created: / 06-12-2011 / 11:24:11 / cg"
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1250
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1251
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1252
addDummyCheckBoxForEverywhere
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1253
    |b|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1254
15068
2dba2b7a9aa0 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14977
diff changeset
  1255
    b := RadioButton "CheckBox" label:(resources string:'Everywhere').
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1256
    b turnOn.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1257
    b disable.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1258
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1259
    currentPanel add:b.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1260
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1261
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1262
addFilteredListOfMatchingSelectors
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1263
    |l|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1264
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1265
    listHolder := List new.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1266
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1267
    l := HVScrollableView for:SelectionInListView.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1268
    l listHolder:listHolder.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1269
    self addComponent:l.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1270
    l doubleClickAction:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1271
            selectorHolder value:(l selectionValue).
14977
3c0a1bc943f4 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14948
diff changeset
  1272
            matchHolder notNil ifTrue:[matchHolder value:false].
3c0a1bc943f4 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14948
diff changeset
  1273
            caseHolder notNil ifTrue:[caseHolder value:false].
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1274
            self doAccept.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1275
            self okPressed.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1276
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1277
    ^ l.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1278
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1279
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1280
addInputFieldForSelectorOrNameOrString
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1281
    |sel lastSearchPatterns|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1282
15128
2fed9a05632c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15068
diff changeset
  1283
    initialText notNil ifTrue:[
2fed9a05632c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15068
diff changeset
  1284
        sel := initialText
2fed9a05632c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15068
diff changeset
  1285
    ] ifFalse:[
2fed9a05632c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15068
diff changeset
  1286
        browser notNil ifTrue:[
2fed9a05632c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15068
diff changeset
  1287
            searchWhat == #selector ifTrue:[ 
2fed9a05632c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15068
diff changeset
  1288
                sel := browser selectorToSearchFor.
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1289
            ] ifFalse:[ 
15128
2fed9a05632c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15068
diff changeset
  1290
                searchWhat == #globalName ifTrue:[ 
2fed9a05632c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15068
diff changeset
  1291
                    sel := browser globalNameToSearchFor ? LastGlobalSearched.
2fed9a05632c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15068
diff changeset
  1292
                ] ifFalse:[ 
2fed9a05632c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15068
diff changeset
  1293
                    searchWhat == #string ifTrue:[
2fed9a05632c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15068
diff changeset
  1294
                        sel := browser stringToSearchFor ? LastStringSearched.
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1295
                    ] ifFalse:[
15128
2fed9a05632c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15068
diff changeset
  1296
                        searchWhat == #resource ifTrue:[
2fed9a05632c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15068
diff changeset
  1297
                            sel := browser stringToSearchFor ? LastResourceSearched.
2fed9a05632c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15068
diff changeset
  1298
                        ] ifFalse:[
2fed9a05632c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15068
diff changeset
  1299
                            sel := browser selectorToSearchFor.
2fed9a05632c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15068
diff changeset
  1300
                        ]
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1301
                    ]
15128
2fed9a05632c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15068
diff changeset
  1302
                ].
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1303
            ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1304
        ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1305
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1306
    lastSearchPatterns := (browser ? SystemBrowser) lastSearchPatterns.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1307
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1308
    sel isEmptyOrNil ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1309
        "/ use last searchString
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1310
        lastSearchPatterns size > 0 ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1311
            sel := lastSearchPatterns first.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1312
        ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1313
    ].
15190
2ab33126b6f7 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15128
diff changeset
  1314
    searchWhat == #string ifTrue:[
2ab33126b6f7 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15128
diff changeset
  1315
        selectorHolder := (sel ? '') asValue.
2ab33126b6f7 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15128
diff changeset
  1316
    ] ifFalse:[
2ab33126b6f7 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15128
diff changeset
  1317
        selectorHolder := (sel ? '') withoutSeparators asValue.
2ab33126b6f7 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15128
diff changeset
  1318
    ].
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1319
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1320
    inputField := self addComboBoxOn:selectorHolder tabable:true.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1321
    inputField list:lastSearchPatterns.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1322
    inputField selectAllInitially.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1323
    inputField immediateAccept:true.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1324
    inputField takeFocus.
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
  1325
    inputField helpKey:#searchPatternField.
16342
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
  1326
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
  1327
    searchWhat == #string ifFalse:[
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
  1328
        inputField 
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
  1329
            entryCompletionBlock:[ :contents | 
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
  1330
                |s what|
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
  1331
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
  1332
                s := contents withoutSpaces.
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
  1333
                self topView 
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
  1334
                    withWaitCursorDo:[
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
  1335
                        |best matching|
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1336
16342
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
  1337
                        searchWhat == #resource ifTrue:[
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
  1338
                            what := DoWhatIMeanSupport resourceCompletion:s inEnvironment:Smalltalk match:true ignoreCase:false.
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
  1339
                        ] ifFalse:[
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
  1340
                            searchWhat == #globalName ifFalse:[ 
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
  1341
                                what := DoWhatIMeanSupport selectorCompletion:s inEnvironment:Smalltalk.
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
  1342
                            ] ifTrue:[ 
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
  1343
                                what := DoWhatIMeanSupport globalNameCompletion:s inEnvironment:Smalltalk match:true.
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
  1344
                            ].
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
  1345
                        ].
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
  1346
                        best := what first.
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
  1347
                        matching := what second.
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
  1348
                        inputField contents:best.
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
  1349
                        "/ listHolder contents:matching.
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
  1350
                        matching size ~~ 1 ifTrue:[ 
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
  1351
                            (browser ? self) window beep.
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1352
                        ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1353
                    ].
16342
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
  1354
            ].
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1355
16342
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
  1356
        selectorHolder onChangeEvaluate:[ self updateListOfMatchingSelectorsFor:inputField contents ].
0712815bf61d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16208
diff changeset
  1357
    ].
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1358
    "Modified: / 14-02-2012 / 14:13:52 / cg"
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1359
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1360
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1361
addTextEntryFieldForCode
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1362
    |initial box panel patternInfoBox infoLabel helpButton errMessageField checkCodeAction
16353
ba08dd9f36ab #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16342
diff changeset
  1363
     metaBox buttonBox helpButtonBox b|
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1364
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1365
    box := View new.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1366
    box extent:(600 @ 200).
16450
6cb2bfca401e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16364
diff changeset
  1367
    box helpKey:#codeEntryField.
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1368
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1369
    panel := VariableHorizontalPanel in:box.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1370
    panel origin:0.0@0.0 corner:(1.0@1.0).
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1371
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1372
    codeField := CodeView in:panel.        
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1373
    codeField canTab:true.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1374
"/    codeField origin:0.0@0.0 corner:(0.75@1.0).
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1375
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1376
    patternInfoBox := View in:panel.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1377
16353
ba08dd9f36ab #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16342
diff changeset
  1378
    infoLabel := ScrollableView for:TextView in:patternInfoBox.
ba08dd9f36ab #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16342
diff changeset
  1379
    infoLabel origin:0.0@0.0 corner:1.0@1.0.
ba08dd9f36ab #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16342
diff changeset
  1380
    infoLabel level:0.
ba08dd9f36ab #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16342
diff changeset
  1381
    infoLabel readOnly:true.
ba08dd9f36ab #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16342
diff changeset
  1382
    infoLabel scrolledView backgroundColor:(patternInfoBox viewBackground).
ba08dd9f36ab #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16342
diff changeset
  1383
    infoLabel scrolledView viewBackground:(patternInfoBox viewBackground).
ba08dd9f36ab #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16342
diff changeset
  1384
    "/ infoLabel geometryLayout:(LayoutFrame bottomInset:30).
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1385
16353
ba08dd9f36ab #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16342
diff changeset
  1386
    infoLabel scrolledView font:(codeField font asSize:(codeField font size - 2)).
ba08dd9f36ab #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16342
diff changeset
  1387
    infoLabel scrolledView lineSpacing:0.
ba08dd9f36ab #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16342
diff changeset
  1388
    "/ infoLabel scrolledView font:(Label defaultFont asSize:(Label defaultFont size "- 2")).
ba08dd9f36ab #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16342
diff changeset
  1389
    "/ infoLabel adjust:#left.
ba08dd9f36ab #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16342
diff changeset
  1390
    "/ infoLabel label:(self helpTextForMetaPatterns).
ba08dd9f36ab #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16342
diff changeset
  1391
    infoLabel contents:(self helpTextForMetaPatterns).
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1392
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1393
    panel relativeCorners:#(0.6 1.0).
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1394
    panel showHandle:true.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1395
16353
ba08dd9f36ab #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16342
diff changeset
  1396
    buttonBox := HorizontalPanelView new.
ba08dd9f36ab #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16342
diff changeset
  1397
    buttonBox horizontalLayout:#rightFit.
ba08dd9f36ab #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16342
diff changeset
  1398
    
ba08dd9f36ab #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16342
diff changeset
  1399
    helpButtonBox := HorizontalPanelView new.
ba08dd9f36ab #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16342
diff changeset
  1400
    helpButtonBox horizontalLayout:#right.
ba08dd9f36ab #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16342
diff changeset
  1401
    
ba08dd9f36ab #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16342
diff changeset
  1402
    helpButton := Button label:(resources string:'Pattern Help') in:helpButtonBox.
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1403
    helpButton layout:((AlignmentOrigin fractionalFromPoint:0.5@1.0) 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1404
                            leftOffset:2
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1405
                            topOffset:helpButton preferredHeight negated;
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1406
                            leftAlignmentFraction:0.5 topAlignmentFraction:0).
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1407
    helpButton topInset:0.75@1.0.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1408
    helpButton action:[self showHelpOnCodePatterns].
16353
ba08dd9f36ab #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16342
diff changeset
  1409
    helpButton helpKey:#showPatternHelp.
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1410
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1411
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1412
    self addComponent:box tabable:true.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1413
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1414
    metaBox := HorizontalPanelView new.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1415
    metaBox horizontalLayout:#leftMax.
16353
ba08dd9f36ab #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16342
diff changeset
  1416
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1417
    b := Button label:'+Lit' action:[ codeField pasteOrReplace:'`#n' ] in:metaBox.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1418
    b helpKey:#matchAnyLiteral.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1419
    b := Button label:'+Var' action:[ codeField pasteOrReplace:'`v' ] in:metaBox.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1420
    b helpKey:#matchAnyVariable.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1421
    b := Button label:'+Expr' action:[ codeField pasteOrReplace:'`@e' ] in:metaBox.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1422
    b helpKey:#matchAnyExpression.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1423
    b := Button label:'+Msg' action:[ codeField pasteOrReplace:'`@m:' ] in:metaBox.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1424
    b helpKey:#matchAnyMessage.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1425
    b := Button label:'+Node' action:[ codeField pasteOrReplace:'`{:node | node isLiteral and:[node value isSymbol] }' ] in:metaBox.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1426
    b helpKey:#matchAnyNode.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1427
    b := Button label:'+Stats' action:[ codeField pasteOrReplace:'`.@stats' ] in:metaBox.
16353
ba08dd9f36ab #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16342
diff changeset
  1428
    b helpKey:#matchAnyStats.
ba08dd9f36ab #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16342
diff changeset
  1429
    buttonBox addComponent:metaBox.
ba08dd9f36ab #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16342
diff changeset
  1430
    buttonBox addComponent:helpButtonBox.
ba08dd9f36ab #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16342
diff changeset
  1431
    buttonBox addComponent:(View new width:5).
ba08dd9f36ab #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16342
diff changeset
  1432
    
ba08dd9f36ab #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16342
diff changeset
  1433
    self addComponent:buttonBox.
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1434
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1435
    errMessageField := (self addTextLabel:'') adjust:#left.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1436
    errMessageField level:-1.    
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1437
    self addCheckBox:(resources string:'Method') on:self isMethodHolder.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1438
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1439
    checkCodeAction := [ self checkCodeIn:codeField notifying:errMessageField. ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1440
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1441
    codeField modifiedChannel onChangeEvaluate:checkCodeAction.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1442
    self isMethodHolder onChangeEvaluate:checkCodeAction.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1443
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1444
    initial := browser selectionInCodeView.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1445
    initial isEmptyOrNil ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1446
        initial := LastCodeSearched ? ''
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1447
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1448
    codeField contents:initial.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1449
    checkCodeAction value.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1450
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1451
    "Modified: / 23-07-2011 / 10:35:14 / cg"
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1452
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1453
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1454
checkCodeIn:codeField notifying:errMessageField
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1455
    |codeString tree errAction|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1456
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1457
    codeString := codeField contents asString string.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1458
    errAction := [:str :pos |
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1459
                    |line col badLine|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1460
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1461
                    line := codeField lineOfCharacterPosition:pos.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1462
                    col := (codeField colOfCharacterPosition:pos) max:1.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1463
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1464
                    badLine := (codeField listAt:line) ? ''.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1465
                    col <= badLine size size ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1466
                        codeField 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1467
                            listAt:line 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1468
                            put:(badLine asText 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1469
                                    emphasisAt:col 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1470
                                    put:(UserPreferences current unknownIdentifierEmphasis)).
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1471
                        "/ codeField selectFromCharacterPosition:pos to:pos.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1472
                    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1473
                    errMessageField label:('line: ',line printString,' ',str).
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1474
                    errMessageField backgroundColor:Color red.    
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1475
                    codeField requestFocus.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1476
                    nil.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1477
                 ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1478
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1479
    isMethodHolder value ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1480
        tree := RBParser parseRewriteMethod:codeString onError: errAction.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1481
    ] ifFalse:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1482
        tree := RBParser parseRewriteExpression:codeString onError: errAction.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1483
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1484
    tree notNil ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1485
        errMessageField backgroundColor:View defaultViewBackgroundColor.    
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1486
        errMessageField label:nil 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1487
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1488
    codeField modifiedChannel setValue:false.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1489
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1490
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1491
getClassesAndMethodsFor:where 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1492
    where == #everywhere ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1493
        classes := Smalltalk allClasses.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1494
        methods := nil.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1495
        ^ self.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1496
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1497
    where == #currentNameSpace ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1498
        classes := currentNamespace allClassesWithAllPrivateClasses.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1499
        methods := nil.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1500
        ^ self.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1501
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1502
    where == #currentClassesNameSpace ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1503
        currentClass isPrivate ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1504
            classes := currentClass topOwningClass nameSpace 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1505
                        allClassesWithAllPrivateClasses.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1506
        ] ifFalse:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1507
            classes := currentClass nameSpace allClassesWithAllPrivateClasses.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1508
        ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1509
        methods := nil.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1510
        ^ self.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1511
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1512
    where == #currentPackage ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1513
        classes := Smalltalk allClassesInPackage:currentPackage. 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1514
        methods := nil.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1515
        ^ self.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1516
    ].
15585
7e78350c918a class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15480
diff changeset
  1517
    where == #currentPackageAndSubPackages ifTrue:[ 
7e78350c918a class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15480
diff changeset
  1518
        classes := Smalltalk 
7e78350c918a class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15480
diff changeset
  1519
                        allClassesForWhich:[:cls | 
7e78350c918a class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15480
diff changeset
  1520
                            |pkg|
7e78350c918a class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15480
diff changeset
  1521
7e78350c918a class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15480
diff changeset
  1522
                            pkg := cls package ? PackageId noProjectID.
7e78350c918a class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15480
diff changeset
  1523
                            pkg = currentPackage or:[ pkg startsWith:(currentPackage,'/') ]
7e78350c918a class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15480
diff changeset
  1524
                        ].
7e78350c918a class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15480
diff changeset
  1525
        methods := nil.
7e78350c918a class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15480
diff changeset
  1526
        ^ self.
7e78350c918a class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 15480
diff changeset
  1527
    ].
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1528
    where == #currentClassesPackage ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1529
        classes := Smalltalk allClassesInPackage:currentClass package. 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1530
        methods := nil.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1531
        ^ self.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1532
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1533
    where == #classCategories ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1534
        classes := Smalltalk allClasses 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1535
                    select:[ :cls | selectedCategories includes:cls category. ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1536
        classes := classes collect:[ :each | each theNonMetaclass. ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1537
        methods := nil.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1538
        ^ self.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1539
    ].
17077
0f164f7e1bd7 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17000
diff changeset
  1540
    (where == #classes or:[ where == #classesWithPrivateClasses. ]) ifTrue:[
0f164f7e1bd7 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17000
diff changeset
  1541
        selectedClasses notNil ifTrue:[
0f164f7e1bd7 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17000
diff changeset
  1542
            classes := selectedClasses collect:[ :each | each theNonMetaclass. ].
0f164f7e1bd7 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17000
diff changeset
  1543
            methods := nil.
0f164f7e1bd7 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17000
diff changeset
  1544
        ] ifFalse:[
0f164f7e1bd7 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17000
diff changeset
  1545
            browser selectedMethods value notEmptyOrNil ifTrue:[
0f164f7e1bd7 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17000
diff changeset
  1546
                classes := ((browser selectedMethods value ? #()) collect:[:m | m mclass theNonMetaclass] as:Set) asOrderedCollection.
0f164f7e1bd7 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17000
diff changeset
  1547
                methods := nil.
0f164f7e1bd7 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17000
diff changeset
  1548
            ].
0f164f7e1bd7 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17000
diff changeset
  1549
            ^ self.
0f164f7e1bd7 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17000
diff changeset
  1550
        ].
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1551
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1552
    (where == #classHierarchies or:[ where == #classHierarchiesWithPrivateClasses. ]) 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1553
    ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1554
        classes := IdentitySet new.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1555
        selectedClasses do:[ :cls | 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1556
            classes addAll:cls theNonMetaclass withAllSubclasses.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1557
        ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1558
        methods := nil.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1559
        ^ self.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1560
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1561
    where == #ownersWithPrivateClasses ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1562
        classes := IdentitySet new.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1563
        selectedClasses do:[ :cls | 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1564
            |c|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1565
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1566
            c := cls theNonMetaclass.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1567
            classes add:(c owningClass ? c).
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1568
        ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1569
        methods := nil.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1570
        ^ self.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1571
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1572
    where == #ownersHierarchiesWithPrivateClasses ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1573
        classes := IdentitySet new.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1574
        selectedClasses do:[ :cls | 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1575
            |c|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1576
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1577
            c := cls theNonMetaclass.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1578
            classes addAll:(c owningClass ? c) withAllSubclasses.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1579
        ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1580
        methods := nil.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1581
        ^ self.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1582
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1583
    (where == #classesAndSuperclasses) ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1584
        classes := IdentitySet new.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1585
        selectedClasses do:[ :cls | 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1586
            classes addAll:cls theNonMetaclass withAllSuperclasses.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1587
        ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1588
        methods := nil.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1589
        ^ self.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1590
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1591
    (where == AREA_LISTOFMETHODS) ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1592
        classes := nil.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1593
        methods := browser methodListApp methodList value.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1594
        ^ self.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1595
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1596
    (where == #listOfSelectedMethods) ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1597
        classes := nil.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1598
        methods := browser selectedMethods value ? #().
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1599
        ^ self.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1600
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1601
    (where == #listOfSelectedMethodClasses) ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1602
        classes := ((browser selectedMethods value ? #()) collect:[:m | m mclass theNonMetaclass] as:Set) asOrderedCollection.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1603
        methods := nil.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1604
        ^ self.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1605
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1606
    (where == #listOfSelectedMethodPackages) ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1607
        classes := (((browser selectedMethods value ? #()) collect:[:m | m package] as:Set)
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1608
                        collectAll:[:p | Smalltalk allClassesInPackage:p ]) asOrderedCollection.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1609
        methods := nil.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1610
        ^ self.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1611
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1612
    (where == #listOfChangedClasses) ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1613
        classes := ChangeSet current changedClasses.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1614
        methods := nil.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1615
        ^ self.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1616
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1617
    (where == #listOfChangedMethods) ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1618
        classes := nil.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1619
        methods := Set new.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1620
        ChangeSet current do:[:chg |
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1621
            |mthd|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1622
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1623
            chg notNil ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1624
                chg isMethodChange ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1625
                    mthd := chg changeMethod.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1626
                    mthd notNil ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1627
                        methods add:mthd
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1628
                    ]
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1629
                ]
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1630
            ]
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1631
        ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1632
        methods := methods asOrderedCollection.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1633
        ^ self.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1634
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1635
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1636
    self todo:'unimplemented search'.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1637
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1638
    "Modified: / 05-10-2011 / 15:48:20 / az"
17077
0f164f7e1bd7 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17000
diff changeset
  1639
    "Modified: / 18-11-2016 / 00:22:55 / cg"
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1640
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1641
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1642
helpTextForMetaPatterns
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1643
    ^ 'MetaPatterns:
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1644
    ' , '`' allBold , ' = meta 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1645
    ' , '@' allBold , ' = list/any
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1646
    ' , '.' allBold , ' = statement
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1647
    ' , '`' allBold , ' = recurse
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1648
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1649
    ' , '`#n' allBold , ' any lit
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1650
    ' , '`v' allBold , '  any var (`V => global)
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1651
    ' , '`@e' allBold , ' any expr
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1652
    ' , '`@m:' allBold , ' any message (`m => unary)
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1653
    ' , '`{:n|...}' allBold , ' node pattern
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1654
    ' , '`''a.*''' allBold , ' regex on string const
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1655
'.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1656
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1657
    "Modified: / 08-08-2011 / 20:33:03 / cg"
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1658
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1659
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1660
isMethodHolder
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1661
    isMethodHolder isNil ifTrue:[isMethodHolder := (LastCodeSearchWasMethod ? false) asValue].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1662
    ^ isMethodHolder
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1663
! !
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1664
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1665
!SearchDialog methodsFor:'setup-buttons'!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1666
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1667
addBrowseButton
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1668
    |b|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1669
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1670
    b := Button label:(resources string:'Browse').
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1671
    (DialogBox defaultOKButtonAtLeft) ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1672
	self addButton:b before:nil.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1673
    ] ifFalse:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1674
	self addButton:b after:nil.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1675
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1676
    b 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1677
	action:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1678
	    openHow := #newBrowser.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1679
	    self doAccept.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1680
	    self okPressed.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1681
	].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1682
    ^ b.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1683
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1684
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1685
addBufferButton
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1686
    |b|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1687
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1688
    b := Button label:(resources string:'Add Buffer').
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1689
    (DialogBox defaultOKButtonAtLeft) ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1690
	self addButton:b before:nil.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1691
    ] ifFalse:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1692
	self addButton:b after:nil.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1693
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1694
    b 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1695
	action:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1696
	    openHow := #newBuffer.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1697
	    self doAccept.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1698
	    self okPressed.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1699
	].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1700
    ^ b.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1701
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1702
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1703
addButtons
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1704
    "add find/newBrowser/newBuffer buttons"
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1705
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1706
    |prevButton|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1707
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1708
    allowFind ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1709
        defaultOpenHow := #showHere.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1710
        prevButton := self addFindButton.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1711
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1712
    allowBrowser ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1713
        defaultOpenHow := #newBrowser.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1714
        prevButton := self addBrowseButton.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1715
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1716
    allowBuffer ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1717
        defaultOpenHow := #newBuffer.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1718
        prevButton := self addBufferButton.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1719
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1720
    prevButton notNil ifTrue:[
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1721
        prevButton isReturnButton:true.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1722
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1723
    self addAbortButton.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1724
!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1725
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1726
addFindButton
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1727
    |b|
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1728
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1729
    b := Button label:(resources string:'Find').
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1730
    (DialogBox defaultOKButtonAtLeft) ifTrue:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1731
	self addButton:b before:nil.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1732
    ] ifFalse:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1733
	self addButton:b after:nil.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1734
    ].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1735
    b 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1736
	action:[ 
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1737
	    openHow := #showHere.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1738
	    self doAccept.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1739
	    self okPressed.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1740
	].
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1741
    ^ b.
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1742
! !
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1743
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1744
!SearchDialog class methodsFor:'documentation'!
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1745
14112
81034684fda4 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14111
diff changeset
  1746
version
15987
0acdc2c63c1b #BUGFIX
Stefan Vogel <sv@exept.de>
parents: 15585
diff changeset
  1747
    ^ '$Header$'
14112
81034684fda4 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14111
diff changeset
  1748
!
81034684fda4 class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents: 14111
diff changeset
  1749
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1750
version_CVS
15987
0acdc2c63c1b #BUGFIX
Stefan Vogel <sv@exept.de>
parents: 15585
diff changeset
  1751
    ^ '$Header$'
14111
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1752
! !
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1753
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1754
c9f199317b1c class: Tools::SearchDialog
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1755
SearchDialog initialize!