Tools__StringSearchTool.st
author Jan Vrany <jan.vrany@labware.com>
Sat, 30 Sep 2023 22:55:25 +0100
branchjv
changeset 19648 5df52d354504
parent 15769 b62e96d5d327
permissions -rw-r--r--
`TestRunner2`: do not use `#keysAndValuesCollect:` ...as semantics differ among smalltalk dialects. This is normally not a problem until we use code that adds this as a "compatibility" method. So to stay on a safe side, avoid using this method.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8275
cfc1193bd6b3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8112
diff changeset
     1
"
cfc1193bd6b3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8112
diff changeset
     2
 COPYRIGHT (c) 2008 by eXept Software AG
cfc1193bd6b3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8112
diff changeset
     3
              All Rights Reserved
cfc1193bd6b3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8112
diff changeset
     4
cfc1193bd6b3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8112
diff changeset
     5
 This software is furnished under a license and may be used
cfc1193bd6b3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8112
diff changeset
     6
 only in accordance with the terms of that license and with the
cfc1193bd6b3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8112
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
cfc1193bd6b3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8112
diff changeset
     8
 be provided or otherwise made available to, or used by, any
cfc1193bd6b3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8112
diff changeset
     9
 other person.  No title to or ownership of the software is
cfc1193bd6b3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8112
diff changeset
    10
 hereby transferred.
cfc1193bd6b3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8112
diff changeset
    11
"
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    12
"{ Package: 'stx:libtool' }"
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    13
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    14
"{ NameSpace: Tools }"
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    15
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    16
ApplicationModel subclass:#StringSearchTool
8077
d8ae29860f78 changed #matchCheckboxVisible
fm
parents: 8076
diff changeset
    17
	instanceVariableNames:'searchTextHolder searchTextView searchBarImageInfoLabelHolder
8955
b9229ea79b82 *** empty log message ***
fm
parents: 8926
diff changeset
    18
		searchBarInfoLabelHolder searchTextModifiedHolder matchCaseHolder
b9229ea79b82 *** empty log message ***
fm
parents: 8926
diff changeset
    19
		closeBlock searchNextBlock searchPreviousBlock restartHolder'
b9229ea79b82 *** empty log message ***
fm
parents: 8926
diff changeset
    20
	classVariableNames:'LastMatchCase LastRestart'
8077
d8ae29860f78 changed #matchCheckboxVisible
fm
parents: 8076
diff changeset
    21
	poolDictionaries:''
d8ae29860f78 changed #matchCheckboxVisible
fm
parents: 8076
diff changeset
    22
	category:'Interface-Tools'
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    23
!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    24
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    25
!StringSearchTool class methodsFor:'documentation'!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    26
8275
cfc1193bd6b3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8112
diff changeset
    27
copyright
cfc1193bd6b3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8112
diff changeset
    28
"
cfc1193bd6b3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8112
diff changeset
    29
 COPYRIGHT (c) 2008 by eXept Software AG
cfc1193bd6b3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8112
diff changeset
    30
              All Rights Reserved
cfc1193bd6b3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8112
diff changeset
    31
cfc1193bd6b3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8112
diff changeset
    32
 This software is furnished under a license and may be used
cfc1193bd6b3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8112
diff changeset
    33
 only in accordance with the terms of that license and with the
cfc1193bd6b3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8112
diff changeset
    34
 inclusion of the above copyright notice.   This software may not
cfc1193bd6b3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8112
diff changeset
    35
 be provided or otherwise made available to, or used by, any
cfc1193bd6b3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8112
diff changeset
    36
 other person.  No title to or ownership of the software is
cfc1193bd6b3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8112
diff changeset
    37
 hereby transferred.
cfc1193bd6b3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8112
diff changeset
    38
"
cfc1193bd6b3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8112
diff changeset
    39
!
cfc1193bd6b3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8112
diff changeset
    40
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    41
documentation
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    42
"
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    43
    documentation to be added.
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    44
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    45
    [author:]
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    46
        User (User@FELIXM)
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    47
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    48
    [instance variables:]
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    49
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    50
    [class variables:]
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    51
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    52
    [see also:]
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    53
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    54
"
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    55
!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    56
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    57
examples
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    58
"
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    59
  Starting the application:
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    60
                                                                [exBegin]
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    61
    Tools::StringSearchTool open
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    62
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    63
                                                                [exEnd]
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    64
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    65
  more examples to be added:
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    66
                                                                [exBegin]
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    67
    ... add code fragment for 
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    68
    ... executable example here ...
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    69
                                                                [exEnd]
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    70
"
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    71
! !
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    72
8914
d7e2ac543146 *** empty log message ***
fm
parents: 8911
diff changeset
    73
!StringSearchTool class methodsFor:'accessing'!
d7e2ac543146 *** empty log message ***
fm
parents: 8911
diff changeset
    74
8955
b9229ea79b82 *** empty log message ***
fm
parents: 8926
diff changeset
    75
lastMatchCase
8914
d7e2ac543146 *** empty log message ***
fm
parents: 8911
diff changeset
    76
8955
b9229ea79b82 *** empty log message ***
fm
parents: 8926
diff changeset
    77
    ^ LastMatchCase ? false
8914
d7e2ac543146 *** empty log message ***
fm
parents: 8911
diff changeset
    78
!
d7e2ac543146 *** empty log message ***
fm
parents: 8911
diff changeset
    79
8955
b9229ea79b82 *** empty log message ***
fm
parents: 8926
diff changeset
    80
lastMatchCase: aBoolean
8914
d7e2ac543146 *** empty log message ***
fm
parents: 8911
diff changeset
    81
8955
b9229ea79b82 *** empty log message ***
fm
parents: 8926
diff changeset
    82
    LastMatchCase := aBoolean
8914
d7e2ac543146 *** empty log message ***
fm
parents: 8911
diff changeset
    83
!
d7e2ac543146 *** empty log message ***
fm
parents: 8911
diff changeset
    84
d7e2ac543146 *** empty log message ***
fm
parents: 8911
diff changeset
    85
lastRestart
d7e2ac543146 *** empty log message ***
fm
parents: 8911
diff changeset
    86
d7e2ac543146 *** empty log message ***
fm
parents: 8911
diff changeset
    87
    ^ LastRestart ? false
d7e2ac543146 *** empty log message ***
fm
parents: 8911
diff changeset
    88
!
d7e2ac543146 *** empty log message ***
fm
parents: 8911
diff changeset
    89
d7e2ac543146 *** empty log message ***
fm
parents: 8911
diff changeset
    90
lastRestart: aBoolean
d7e2ac543146 *** empty log message ***
fm
parents: 8911
diff changeset
    91
d7e2ac543146 *** empty log message ***
fm
parents: 8911
diff changeset
    92
    LastRestart := aBoolean
d7e2ac543146 *** empty log message ***
fm
parents: 8911
diff changeset
    93
! !
d7e2ac543146 *** empty log message ***
fm
parents: 8911
diff changeset
    94
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    95
!StringSearchTool class methodsFor:'image specs'!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    96
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    97
closeSearchBarIcon
14393
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
    98
    <resource: #image>
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
    99
    "This resource specification was automatically generated
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   100
     by the ImageEditor of ST/X."
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   101
    "Do not manually edit this!! If it is corrupted,
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   102
     the ImageEditor may not be able to read the specification."
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   103
    "
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   104
     self closeSearchBar inspect
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   105
     ImageEditor openOnClass:self andSelector:#closeSearchBar
14393
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   106
     Icon flushCachedIcons"
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   107
    
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   108
    ^ Icon constantNamed:#'Tools::StringSearchTool class closeSearchBarIcon'
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   109
        ifAbsentPut:[
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   110
            (Depth8Image new)
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   111
                width:22;
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   112
                height:22;
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   113
                photometric:(#palette);
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   114
                bitsPerSample:(#[ 8 ]);
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   115
                samplesPerPixel:(1);
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   116
                bits:(ByteArray 
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   117
                            fromPackedString:'
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   118
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GQ\SD1LSD1LSD1LSD1LWGP@@@@@@
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   119
@ATGA@HA@PDA@PDA@PHDA1T@@@@@@@@TAENG!!(VB XA?_''57QPPT@@@@@@@@E NJ^V)&X%)UTT5IV7 KE @@@@@@@A A"7Q,#&9VS%^MQ$E<DQ @@@@@@@@Z
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   120
@X%-#9NRX52R$80:^1@Z@@@@@@@@F0FHY6>R$9JR$9ION''(PF0@@@@@@@A<A 5ABT)FS$9D=KR13C1<@@@@@@@@)@WUCND*Q$9NQM"T!!XP8)@@@@@@@@K E2
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   121
O4RQ$9FQ$9@2G%8JK @@@@@@@CLA\S2D$9D9M)BS]!!1]BSL@@@@@@@@7@W@5LXP6J2\2]"P"VP 7@@@@@@@@O U+R3@*I2T#HA0&N5 RO @@@@@@@D LPF%(
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   122
YVQ W59]VU 4CD @@@@@@@AGFP4F@PDA@PDA@PDFCQ%G@@@@@@@@K41TUEQTUEQTUEQTUEQLK0@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
14393
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   123
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a');
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   124
                colorMapFromArray:#[ 0 0 0 167 25 15 170 49 40 171 50 39 174 68 60 176 56 48 176 58 49 183 118 110 184 45 32 184 46 32 184 47 34 184 71 58 184 85 78 184 86 79 185 53 39 186 57 42 186 59 43 186 60 45 186 68 58 190 187 180 192 188 181 193 189 182 194 190 183 195 192 184 197 194 186 202 148 142 202 199 191 205 202 195 207 64 48 207 203 195 208 65 49 208 205 198 209 65 49 209 66 49 209 69 52 210 66 49 210 78 64 211 67 51 211 71 54 212 69 51 212 208 200 212 208 202 213 69 52 213 70 52 213 79 57 215 80 59 215 212 206 217 214 207 218 79 62 218 84 67 219 107 95 219 216 210 221 84 63 221 84 67 221 109 96 221 218 213 222 76 56 222 110 96 222 113 79 223 87 67 223 87 70 223 115 99 224 221 216 225 89 72 225 105 91 225 117 84 227 89 64 227 91 73 227 112 98 227 115 95 227 122 92 227 224 219 227 225 219 228 113 83 228 113 99 229 102 87 229 226 221 230 115 84 230 117 81 230 142 117 231 102 80 231 116 86 231 120 103 231 131 119 231 228 224 232 118 88 232 119 82 233 143 117 234 99 76 234 102 79 234 119 89 234 127 100 234 145 119 235 104 82 235 106 86 236 108 89 236 110 92 236 113 92 236 121 91 236 146 119 237 113 95 237 115 98 237 122 92 237 132 100 238 117 101 238 119 104 238 123 93 238 123 109 238 131 98 238 133 102 238 146 120 238 148 121 239 125 112 239 127 115 239 129 118 239 131 105 239 134 102 240 135 122 240 200 196 242 135 113 242 141 116 242 141 119 242 145 116 242 147 118 242 148 120 243 137 115 243 138 118 243 141 121 243 142 123 243 144 126 243 145 129 243 151 134 243 202 197 244 147 132 244 149 135 244 152 137 244 163 142 244 164 145 245 160 143 245 164 146 245 213 204 246 213 203 248 215 205 249 215 206 252 244 243 253 244 243 253 247 245 255 255 255 ];
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   125
                mask:((ImageMask new)
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   126
                            width:22;
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   127
                            height:22;
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   128
                            bits:(ByteArray 
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   129
                                        fromPackedString:'@@@@@@@@@@@@G?? G?? G?? G?? G?? G?? G?? G?? G?? G?? G?? G?? G?? G?? G?? G?? @@@@@@@@@@@@');
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   130
                            yourself);
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   131
                yourself
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   132
        ]
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   133
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   134
    "Created: / 15-06-2007 / 18:04:38 / Administrador"
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   135
!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   136
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   137
restartSearchBarIcon
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   138
    "This resource specification was automatically generated
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   139
     by the ImageEditor of ST/X."
15760
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   140
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   141
    "Do not manually edit this!! If it is corrupted,
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   142
     the ImageEditor may not be able to read the specification."
15760
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   143
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   144
    "
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   145
     self restartSearchBarIcon inspect
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   146
     ImageEditor openOnClass:self andSelector:#restartSearchBarIcon
15760
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   147
     Icon flushCachedIcons
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   148
    "
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   149
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   150
    <resource: #image>
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   151
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   152
    ^Icon
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   153
        constantNamed:'Tools::StringSearchTool restartSearchBarIcon'
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   154
        ifAbsentPut:[(Depth8Image new) width:20; height:20; bits:(ByteArray fromPackedString:'
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   155
3\7M3\7M RQXM(FA3\7M3\7M3\7M3\7M67H17Z+XBS''Y[<7M3\7M3\7MY#H42-8_TP)4E@9A)L7M3\7M3YGBKWZY 8A%+QTU$G(7W\7M3\7M/BY=Z9&^U4TD
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   156
L=+PTJKD$\7M3]LM.LF3QA[K(=L]AUIKEU%;(<7MM[HJT[.[WC4%@E9V)4 /''C@XZX$!!BJ4HO##M+1M8VG9Y31TU1WRD+(/ZYS.L3\53-&FG5EMQK<D/0V2.
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   157
2Z /&M_M3YN? ,^TQTHFK7D,(TD+JX(XY<7MODN7$ZQ2L])Q#B8 HI63K4@''3\7@*2("VFX5#!!,?UVORT+CAL6+M3V8S[[ET''2B4XK7CE0.O$)141L7M1"(S
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   158
,[E$$W2%^BOHS<6Z38(CSL5(J$L\^G"1^G!!-+KVW3\4BK7WL^YTLJ''!!8^B)!!XW!!J-P_M3T:)]4''DV=GN5 EM"H"M(FHR.\7M3S*FI!!;\5ZZ>-U>:%)YZ\DXS
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   159
3\7M3\7\,''<PFR"EDP>+D1(GQ<7M3\7M3]''Y52P VF5-3\7M3\7M3P@a') ; colorMapFromArray:#[143 127 144 95 95 111 192 160 96 224 191 111 192 144 111 224 160 95 255 255 175 223 224 240 239 191 127 223 160 143 255 224 160 224 223 224 239 255 224 223 160 128 207 159 80 223 224 255 191 144 127 223 223 240 175 175 191 224 239 255 208 144 80 255 224 143 224 207 128 192 176 207 207 144 95 176 144 128 239 240 255 255 223 160 239 239 240 255 192 144 239 176 128 255 224 128 255 239 223 224 176 127 240 224 240 160 144 160 255 239 208 95 80 127 208 159 111 255 207 207 176 160 160 255 224 111 240 255 255 208 144 16 176 127 64 192 144 80 159 127 111 255 223 128 176 127 63 223 176 128 239 191 160 239 175 111 207 159 95 255 207 175 255 224 224 224 191 143 255 255 223 255 208 176 223 192 160 223 176 111 64 80 127 96 96 111 207 175 127 176 160 143 208 144 95 255 208 144 239 192 128 224 255 255 208 176 80 192 159 111 207 208 223 224 224 240 255 191 96 255 224 175 79 80 95 255 240 143 224 208 144 95 95 127 224 208 175 239 239 255 255 207 111 255 239 160 255 176 95 255 223 175 255 239 255 208 192 208 208 160 127 224 192 127 255 239 224 192 144 95 175 176 207 128 95 63 224 223 207 255 223 207 192 160 144 192 207 224 192 176 128 239 255 255 111 112 128 240 239 240 255 224 240 255 224 144 255 240 224 255 224 208 80 95 96 239 176 127 240 176 175 255 255 128 224 159 80 240 240 255 80 79 143 255 239 207 176 176 207 255 239 175 239 192 175 63 95 111 255 192 127 239 207 111 255 192 95 224 192 128 255 255 255 223 208 175 223 160 80 224 192 160 255 255 224 240 191 96 208 175 143 208 159 127 255 223 111 255 224 223 208 239 224 255 223 96 255 176 96 192 191 207 207 159 111 223 208 207 79 80 127 240 192 143 255 208 127 208 160 64 239 207 175 80 95 128 207 175 96 255 207 144 255 191 95 255 240 240 224 160 96 64 96 111 240 223 191 80 80 63 176 191 224 223 224 224 208 160 96 255 239 111 239 176 160 239 208 144 255 223 143 224 160 47 224 191 95 255 239 240 80 95 111 224 175 127 255 191 127 240 208 207 255 240 223 224 224 191 207 176 175 223 159 80 255 224 127 207 175 111 175 128 111 223 239 255 80 80 95 255 223 144 223 144 64 79 95 127 239 175 80 255 240 255 224 175 128 255 207 95 239 223 175 192 192 208 207 239 255 224 239 240 255 191 128 223 223 224 191 192 224 208 176 96 255 207 191 224 208 207 192 176 191 223 255 255 79 79 128 255 239 144 240 207 175 224 208 224 224 176 143 255 207 127 95 95 143 255 255 240 191 176 207 207 159 47 223 175 80 208 192 160 207 191 111 0 0 0 96 80 64 240 191 111 255 223 127 112 95 64 223 208 223 255 223 208 207 176 144 224 191 160 95 80 95 255 223 191 176 128 111 255 224 191 255 208 128 255 223 223 255 207 160 191 159 111 255 208 111]; mask:((ImageMask new) width:20; height:20; bits:(ByteArray fromPackedString:'@?@OC?0OO?8O_?<O_?>O???O?????_??>_??>_??>_??>_??>_??>_??__??O???O???G???A??/A? O') ; yourself); yourself]
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   160
!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   161
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   162
searchNextIcon
14393
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   163
    <resource: #image>
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   164
    "This resource specification was automatically generated
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   165
     by the ImageEditor of ST/X."
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   166
    "Do not manually edit this!! If it is corrupted,
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   167
     the ImageEditor may not be able to read the specification."
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   168
    "
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   169
     self searchNextIcon inspect
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   170
     ImageEditor openOnClass:self andSelector:#searchNextIcon
14393
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   171
     Icon flushCachedIcons"
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   172
    
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   173
    ^ Icon constantNamed:#'Tools::StringSearchTool class searchNextIcon'
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   174
        ifAbsentPut:[
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   175
            (Depth8Image new)
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   176
                width:22;
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   177
                height:22;
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   178
                photometric:(#palette);
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   179
                bitsPerSample:(#[ 8 ]);
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   180
                samplesPerPixel:(1);
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   181
                bits:(ByteArray 
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   182
                            fromPackedString:'
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   183
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZE)ZZ@@@@@@@@@@@@@@@
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   184
@@@@@@AFF XA@PXUQ @@@@@@@@@@@@@@@@@*@Q5G^WX6E0D*@@@@@@@@@@@@@@@,AVQ?\&1#W&X8@20@@@@@@@@@@@A[@U==\F-"VUQOUSLAV0@@@@@@@@@@
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   185
G19-D <NCP0KB!!@7D1<@@@@@@@@@  ]MT5JY&Y&Y&Y%RLR4G  @@@@@@@H\A WL $)&Y&Y&RF35B@X\@@@@@@@BK@XA1WA"X&Y&XE#T:P@FK@@@@@@@@# !!H
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   186
]F$<II&YH3H>N2 H# @@@@@@@@@''GG)*Y2$9NRIDO4DQHP@@@@@@@@@@!!@EP[6U]I"UIQTL.@XP@@@@@@@@@@@ALAD-.XE]VS$(/@$0@@@@@@@@@@@@@@EDA
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   187
FSQ!!VC@T@UD@@@@@@@@@@@@@@@@@#R,I@PDIJ84@@@@@@@@@@@@@@@@@@@@@%)^W% @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
14393
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   188
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a');
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   189
                colorMapFromArray:#[ 0 0 0 48 54 77 55 63 87 56 64 89 57 67 90 59 67 90 64 69 89 71 74 92 72 76 96 76 81 100 80 89 118 82 90 119 83 91 120 84 92 122 86 94 123 87 96 124 89 97 126 92 104 132 97 106 136 97 110 138 97 112 138 100 102 112 101 107 130 104 118 144 105 113 135 105 124 146 107 109 118 107 116 144 110 127 148 112 126 148 113 129 148 117 119 129 118 130 156 119 123 133 125 140 174 127 131 146 127 132 148 127 146 178 130 151 181 131 132 143 133 149 185 133 152 182 134 134 138 137 140 150 138 138 142 139 156 191 141 160 195 143 164 199 143 169 198 144 157 197 144 158 197 152 173 208 153 184 209 155 167 210 156 180 208 157 179 215 157 180 211 160 162 171 160 173 216 160 174 216 160 182 214 161 173 217 161 174 217 161 176 219 161 179 220 161 180 220 163 182 222 163 184 222 164 182 222 164 184 223 166 164 161 166 189 212 166 194 211 167 190 228 167 194 229 167 200 221 169 170 174 169 195 212 169 196 232 170 181 228 170 203 221 171 171 176 171 173 182 171 193 220 173 182 232 173 192 232 173 200 234 175 206 239 175 210 240 176 188 237 178 175 168 178 175 173 178 202 234 178 206 240 179 195 238 180 205 223 180 214 243 180 216 244 181 193 242 181 195 239 181 204 223 181 212 243 182 206 242 182 209 243 184 180 173 184 211 244 184 215 245 185 198 246 185 200 244 188 215 233 188 225 249 189 226 249 190 206 250 190 219 248 191 209 249 191 217 248 191 222 248 192 188 181 192 221 249 194 190 184 195 191 184 196 226 251 196 232 251 199 196 189 202 198 191 202 226 253 203 199 193 203 229 253 203 237 252 203 237 253 204 202 196 206 202 195 206 205 204 207 203 196 208 204 197 208 205 201 212 208 200 212 208 201 212 208 202 212 209 205 213 210 202 213 212 213 214 211 206 215 212 207 216 213 206 218 215 210 220 221 223 221 219 214 222 219 215 222 220 215 230 228 225 236 235 232 243 243 244 255 255 255 ];
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   190
                mask:((ImageMask new)
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   191
                            width:22;
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   192
                            height:22;
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   193
                            bits:(ByteArray 
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   194
                                        fromPackedString:'@@@C@@@C@@@C@G C@_8C@?<CA?>CC??CC??CG??#G??#G??#G??#C??CC??CA?>C@?<C@_8C@G C@@@C@@@C@@@C');
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   195
                            yourself);
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   196
                yourself
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   197
        ]
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   198
!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   199
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   200
searchPreviousIcon
14393
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   201
    <resource: #image>
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   202
    "This resource specification was automatically generated
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   203
     by the ImageEditor of ST/X."
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   204
    "Do not manually edit this!! If it is corrupted,
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   205
     the ImageEditor may not be able to read the specification."
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   206
    "
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   207
     self searchPreviousIcon inspect
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   208
     ImageEditor openOnClass:self andSelector:#searchPreviousIcon
14393
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   209
     Icon flushCachedIcons"
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   210
    
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   211
    ^ Icon constantNamed:#'Tools::StringSearchTool class searchPreviousIcon'
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   212
        ifAbsentPut:[
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   213
            (Depth8Image new)
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   214
                width:22;
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   215
                height:22;
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   216
                photometric:(#palette);
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   217
                bitsPerSample:(#[ 8 ]);
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   218
                samplesPerPixel:(1);
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   219
                bits:(ByteArray 
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   220
                            fromPackedString:'
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   221
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%)^W% @@@@@@@@@@@@@@
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   222
@@@@@@BMJ0$A@P$+#P@@@@@@@@@@@@@@@@AQ@Q$4XU 0E@EQ@@@@@@@@@@@@@@ALAD-.XE]VS$(/@$0@@@@@@@@@@@BD@UA/YU4&IT%EP28A!!@@@@@@@@@@@
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   223
I11:Z&\)NS$"QC=ADRD@@@@@@@@@# !!H]F$<II&YH3H>N2 H# @@@@@@@H,A GE\FI"Y&Y VMS)@@X,@@@@@@@BG@XE3HIJY&Y&Y$!!,=P FG@@@@@@@@  ]M
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   224
T5JY&Y&Y&Y%RLR4G  @@@@@@@@@_G&4RC08MC@,JDC\SG0@@@@@@@@@@V0E__WA+X%%TS5T3@U,@@@@@@@@@@@@,AVQ?\&1#W&X8@20@@@@@@@@@@@@@@B(A
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   225
GT]9]#XW@R(@@@@@@@@@@@@@@@@@Q!!(F@PDFETX@@@@@@@@@@@@@@@@@@@@@ZE)ZZ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
14393
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   226
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a');
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   227
                colorMapFromArray:#[ 0 0 0 48 54 77 55 63 87 56 64 89 57 67 90 59 67 90 64 69 89 71 74 92 72 76 96 76 81 100 80 89 118 82 90 119 83 91 120 84 92 122 86 94 123 87 96 124 89 97 126 92 104 132 97 106 136 97 110 138 97 112 138 100 102 112 101 107 130 104 118 144 105 113 135 105 124 146 107 109 118 107 116 144 110 127 148 112 126 148 113 129 148 117 119 129 118 130 156 119 123 133 125 140 174 127 131 146 127 132 148 127 146 178 130 151 181 131 132 143 133 149 185 133 152 182 134 134 138 137 140 150 138 138 142 139 156 191 141 160 195 143 164 199 143 169 198 144 157 197 144 158 197 152 173 208 153 184 209 155 167 210 156 180 208 157 179 215 157 180 211 160 162 171 160 173 216 160 174 216 160 182 214 161 173 217 161 174 217 161 176 219 161 179 220 161 180 220 163 182 222 163 184 222 164 182 222 164 184 223 166 164 161 166 189 212 166 194 211 167 190 228 167 194 229 167 200 221 169 170 174 169 195 212 169 196 232 170 181 228 170 203 221 171 171 176 171 173 182 171 193 220 173 182 232 173 192 232 173 200 234 175 206 239 175 210 240 176 188 237 178 175 168 178 175 173 178 202 234 178 206 240 179 195 238 180 205 223 180 214 243 180 216 244 181 193 242 181 195 239 181 204 223 181 212 243 182 206 242 182 209 243 184 180 173 184 211 244 184 215 245 185 198 246 185 200 244 188 215 233 188 225 249 189 226 249 190 206 250 190 219 248 191 209 249 191 217 248 191 222 248 192 188 181 192 221 249 194 190 184 195 191 184 196 226 251 196 232 251 199 196 189 202 198 191 202 226 253 203 199 193 203 229 253 203 237 252 203 237 253 204 202 196 206 202 195 206 205 204 207 203 196 208 204 197 208 205 201 212 208 200 212 208 201 212 208 202 212 209 205 213 210 202 213 212 213 214 211 206 215 212 207 216 213 206 218 215 210 220 221 223 221 219 214 222 219 215 222 220 215 230 228 225 236 235 232 243 243 244 255 255 255 ];
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   228
                mask:((ImageMask new)
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   229
                            width:22;
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   230
                            height:22;
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   231
                            bits:(ByteArray 
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   232
                                        fromPackedString:'@@@C@@@C@@@C@G C@_8C@?<CA?>CC??CC??CG??#G??#G??#G??#C??CC??CA?>C@?<C@_8C@G C@@@C@@@C@@@C');
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   233
                            yourself);
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   234
                yourself
a24f8a66c004 Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents: 12118
diff changeset
   235
        ]
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   236
!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   237
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   238
searchToolBarIcon
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   239
    "This resource specification was automatically generated
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   240
     by the ImageEditor of ST/X."
15760
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   241
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   242
    "Do not manually edit this!! If it is corrupted,
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   243
     the ImageEditor may not be able to read the specification."
15760
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   244
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   245
    "
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   246
     self searchToolBarIcon inspect
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   247
     ImageEditor openOnClass:self andSelector:#searchToolBarIcon
15760
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   248
     Icon flushCachedIcons
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   249
    "
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   250
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   251
    <resource: #image>
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   252
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   253
    ^Icon
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   254
        constantNamed:'Tools::StringSearchTool searchToolBarIcon'
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   255
        ifAbsentPut:[(Depth8Image new) width:22; height:22; bits:(ByteArray fromPackedString:'
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   256
U5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]PTE]WU5]WU5]WU5]W
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   257
U5]WU5]WU5%SE!!YRP5]WU5]WU5]WU5]WU5]WU2L"V@XSB2@8U5]WU5]WU5]WU5]WU5@RJ$]OB@1IV%AWU5]WU5]WU5]WU5\\JUT/@S@;LS$IU5]WU5]WU5]W
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   258
U5]WKD9L@BT%QUYJM%]WU5]WU5]WU5]WU1)"IC(%ISTPPQ5WU5]WU5]WU5]WU5\_X@(=E31BW4XCU5]WU5]WU5]WU5\%AT@(R5PTO#\G@5]WU5]WU5]WU5\%
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   259
TU02W!!-H@",NTE]WU5]WU5]WU5\%XT44HSL.DR\%V5]WU5]WU5]WU5\%QA$MO0=WU5]WU5]WU5]WU5]WU5]WIRXXAE5WU5]WU5]WU5]WU5]WU5]WU5\^ER5W
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   260
U5]WU5]WU5]WU5]WU5]WU5]WU2UWU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]W
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   261
U5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU5]WU0@a') ; colorMapFromArray:#[248 232 250 250 240 234 17 45 146 222 217 244 105 111 151 182 198 241 45 90 186 128 163 216 143 182 238 206 215 237 63 88 169 56 93 170 76 114 180 12 34 111 129 152 201 244 254 248 115 133 203 183 194 225 73 108 196 43 89 185 87 108 198 174 188 200 135 162 211 246 246 244 28 44 83 65 73 124 148 159 187 24 48 136 168 185 220 184 184 212 212 212 230 196 206 238 124 152 203 101 107 170 122 149 200 201 222 254 141 165 213 220 226 255 130 130 185 176 187 225 14 38 154 41 74 172 48 84 162 34 67 137 153 169 200 216 219 227 222 234 254 233 228 255 238 236 236 72 97 168 13 32 140 211 222 254 14 47 130 235 231 255 182 188 212 33 59 139 209 228 254 44 86 162 255 249 245 219 224 254 242 245 250 207 213 251 33 55 152 56 95 189 22 62 166 24 51 162 198 207 255 239 233 249 188 188 222 219 213 254 39 70 156 77 116 182 16 41 146 51 88 167 35 67 160 35 49 160 153 173 226 56 73 139 25 65 160 144 184 240 209 214 254 176 183 234 190 201 236 188 200 235 87 103 197 87 102 183 133 153 217 0 0 0 56 94 171 239 232 248 84 119 206 233 224 251 63 86 148 232 220 255 65 89 176 46 66 150 6 53 155 183 184 229 24 69 169]; mask:((ImageMask new) width:22; height:22; bits:(ByteArray fromPackedString:'@@@C@@@C@@@C@A C@G8C@O<C@_>C@_>C@_>C@_>C@_>C@?>CA?<CC?8CG8@CG0@CC @CA@@C@@@C@@@C@@@C@@@C') ; yourself); yourself]
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   262
!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   263
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   264
warningSearchBarIcon
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   265
    "This resource specification was automatically generated
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   266
     by the ImageEditor of ST/X."
15760
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   267
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   268
    "Do not manually edit this!! If it is corrupted,
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   269
     the ImageEditor may not be able to read the specification."
15760
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   270
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   271
    "
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   272
     self warningSearchBarIcon inspect
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   273
     ImageEditor openOnClass:self andSelector:#warningSearchBarIcon
15760
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   274
     Icon flushCachedIcons
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   275
    "
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   276
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   277
    <resource: #image>
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   278
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   279
    ^Icon
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   280
        constantNamed:'Tools::StringSearchTool warningSearchBarIcon'
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   281
        ifAbsentPut:[(Depth8Image new) width:22; height:19; bits:(ByteArray fromPackedString:'
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   282
ZF!!(ZF!!(ZF!!(ZD-?1V!!(ZF!!(ZF!!(W6!!(ZF!!(ZF!!(ZE0V1:YAZF!!(ZF!!(ZF!!(ZF!!(ZF!!(ZN\ G P!!QV!!(ZF!!(ZF!!(ZF!!(ZF!!(ZF!!<[)%*>X KZF!!(ZF!!(ZF!!(
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   283
ZF!!(ZF >+3V=Q##_PF!!(ZF!!(ZF!!(ZF!!(ZF"EU@0O(B*I( *;ZF!!(ZF!!(ZF!!(ZF!!(,"::Q-#0*IPA5V!!(ZF!!(ZF!!(ZF!!(\D4)Q7G2S+QY_]ZCZF!!(ZF!!(ZF!!(
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   284
3@",.MA)\%@+N/F>P3E(ZF!!(ZF!!(ZK>PTX7O<9,_"38PM<N6ZF!!(ZF!!(ZF!!W)HYO3QJS%*81"*E4A#9(ZF!!(ZF!!:T K))>B]\40&-:CR#):OZF!!(ZF #RRP<
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   285
GDQS2!! TXEL1H''R5JCI(ZF!!(4ZL6X!!.UX[D]K?#+]S;(&KB+ZF!!(Z7''D%>Y/KFQ%;^3@F*VA9CS6!!M1(C[''!!N<XE#N=&6]4@7''\IU ?7:*&QB3#5^I>< &7K
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   286
[GY''V1VRVB4CUSN\_-OA9S_KR(\?0,"*>!!$W,=S#&"\0;-\QD2WZX3%BC$J@8%7I3/Q;+U9HV _[OP@a') ; colorMapFromArray:#[84 38 40 152 54 40 204 78 90 184 54 60 248 180 170 255 194 160 160 76 80 188 92 90 220 154 160 240 222 220 160 84 70 255 234 230 188 110 110 255 226 240 200 92 80 255 200 200 252 132 130 156 62 60 255 254 240 255 186 170 20 38 40 184 62 60 168 88 90 168 28 20 108 126 130 172 32 20 248 246 240 240 180 170 208 138 130 220 234 240 208 138 140 20 12 10 184 122 130 152 84 70 228 158 160 255 242 230 176 60 50 188 108 90 224 222 220 148 22 30 140 62 60 212 130 120 255 210 210 212 180 180 255 218 220 176 56 60 168 96 90 160 172 170 144 22 30 255 242 240 236 188 180 136 14 20 172 48 50 248 168 170 172 66 40 196 62 60 255 168 170 200 96 80 228 166 160 180 52 30 164 52 40 212 130 130 255 226 220 204 48 40 240 182 170 255 250 230 192 86 70 168 86 80 252 214 200 248 200 190 244 184 180 255 200 180 188 74 80 196 120 110 212 64 60 255 172 170 0 16 10 192 116 110 28 0 0 255 200 190 16 0 0 244 146 150 180 60 70 255 248 250 184 130 120 160 30 30 248 210 210 236 132 150 176 58 60 212 136 140 192 84 90 188 64 60 252 212 220 192 98 80 188 74 70 248 254 255 236 236 240 224 202 210 168 78 60 196 100 90 240 230 240 240 240 255 255 216 230 192 66 70 0 0 0 255 242 220 255 230 220 255 208 220 196 68 70 216 66 60 168 92 100 255 202 190 255 232 240 240 202 190 76 54 50 96 114 110 152 42 50 240 228 230 192 68 70 255 240 240 200 52 50 192 84 80 255 206 200 188 90 80 244 180 190 228 116 100 128 34 40 240 152 140 200 98 80 244 230 230 200 56 40 255 214 210 120 40 40 255 248 240 244 154 150 204 50 40 172 102 100 255 174 180 255 164 160 212 196 200 255 198 190 255 188 170 140 26 30 200 136 130 204 106 120 128 58 60 180 60 60 72 82 80 248 164 160 255 224 220 0 12 10 152 68 30 132 10 20 255 208 210 160 28 30 64 58 60 128 18 20 244 238 230 144 44 50 196 42 30 255 216 210 188 62 60 212 124 130 176 82 60 208 90 100 216 230 230 180 132 110 252 204 190 240 168 180 124 28 30 180 34 20 160 94 90 184 94 90 188 86 80 204 198 200 164 88 90 140 46 50 255 252 255 252 200 200 168 26 20 208 156 160 132 20 20 224 158 160 255 244 240 255 182 170 240 134 140 255 190 180 255 230 210 200 54 40 252 192 190 192 62 50 255 222 240 184 174 180 255 140 130 188 36 30 168 66 70 188 78 60 255 240 220 180 82 50 188 104 100 184 34 20 188 96 80 244 236 240 204 64 60 255 240 255 255 248 230 188 94 80 244 214 190 248 206 180 244 164 150 212 108 110 192 106 110 168 22 20 220 140 120 152 46 30 120 20 20 240 192 190 255 238 250 192 104 90 176 86 90 204 152 150 168 124 130 244 194 200 148 62 60 255 236 230 200 68 60 196 98 80 164 22 20 255 170 170 188 62 50 220 154 120 255 236 250 208 104 110 204 122 110 128 14 20 255 246 250 40 40 50 100 104 120 136 26 30 255 188 190 216 168 170 220 98 90 96 58 60 255 254 230 188 92 80 208 74 70 144 40 40 224 100 100 255 250 250 208 130 130 176 34 20]; mask:((ImageMask new) width:22; height:19; bits:(ByteArray fromPackedString:'@C G@G0C@O0C@O8C@_8C@?<C@?<CA?>CC??CC??CC??#G??#O??3O??3_??;????????????????') ; yourself); yourself]
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   287
! !
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   288
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   289
!StringSearchTool class methodsFor:'interface specs'!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   290
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   291
windowSpec
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   292
    "This resource specification was automatically generated
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   293
     by the UIPainter of ST/X."
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   294
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   295
    "Do not manually edit this!! If it is corrupted,
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   296
     the UIPainter may not be able to read the specification."
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   297
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   298
    "
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   299
     UIPainter new openOnClass:Tools::StringSearchTool andSelector:#windowSpec
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   300
     Tools::StringSearchTool new openInterface:#windowSpec
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   301
     Tools::StringSearchTool open
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   302
    "
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   303
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   304
    <resource: #canvas>
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   305
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   306
    ^ 
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   307
     #(FullSpec
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   308
        name: windowSpec
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   309
        window: 
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   310
       (WindowSpec
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   311
          label: 'Tools::StringSearchTool'
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   312
          name: 'Tools::StringSearchTool'
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   313
          min: (Point 10 10)
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   314
          bounds: (Rectangle 0 0 801 27)
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   315
        )
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   316
        component: 
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   317
       (SpecCollection
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   318
          collection: (
8077
d8ae29860f78 changed #matchCheckboxVisible
fm
parents: 8076
diff changeset
   319
           (ViewSpec
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   320
              name: 'SearchBox'
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   321
              layout: (LayoutFrame 0 0 0 0 0 1 0 1)
8077
d8ae29860f78 changed #matchCheckboxVisible
fm
parents: 8076
diff changeset
   322
              level: -1
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   323
              component: 
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   324
             (SpecCollection
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   325
                collection: (
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   326
                 (ActionButtonSpec
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   327
                    label: 'closeSearchBarIcon'
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   328
                    name: 'hideSearchBarButton'
8077
d8ae29860f78 changed #matchCheckboxVisible
fm
parents: 8076
diff changeset
   329
                    layout: (LayoutFrame 4 0 2 0 25 0 23 0)
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   330
                    hasCharacterOrientedLabel: false
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   331
                    translateLabel: true
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   332
                    model: hideSearchBar
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   333
                  )
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   334
                 (LabelSpec
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   335
                    label: 'Search:'
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   336
                    name: 'SearchLabel'
8077
d8ae29860f78 changed #matchCheckboxVisible
fm
parents: 8076
diff changeset
   337
                    layout: (LayoutFrame 30 0 1 0 81 0 23 0)
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   338
                    translateLabel: true
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   339
                    adjust: right
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   340
                  )
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   341
                 (InputFieldSpec
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   342
                    name: 'SearchEntryField'
8077
d8ae29860f78 changed #matchCheckboxVisible
fm
parents: 8076
diff changeset
   343
                    layout: (LayoutFrame 87 0 1 0 298 0 23 0)
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   344
                    model: searchTextHolder
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   345
                    immediateAccept: true
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   346
                    acceptOnReturn: true
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   347
                    acceptOnTab: true
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   348
                    acceptOnLostFocus: true
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   349
                    modifiedChannel: searchTextModifiedHolder
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   350
                    acceptOnPointerLeave: false
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   351
                    postBuildCallback: postBuildSearchTextView:
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   352
                  )
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   353
                 (ActionButtonSpec
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   354
                    label: 'searchNextIcon'
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   355
                    name: 'SearchNextButton'
8077
d8ae29860f78 changed #matchCheckboxVisible
fm
parents: 8076
diff changeset
   356
                    layout: (LayoutFrame 302 0 1 0 323 0 22 0)
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   357
                    hasCharacterOrientedLabel: false
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   358
                    translateLabel: true
8076
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   359
                    model: searchNextTextButtonPressed
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   360
                  )
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   361
                 (ActionButtonSpec
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   362
                    label: 'searchPreviousIcon'
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   363
                    name: 'searchPreviousButton'
8077
d8ae29860f78 changed #matchCheckboxVisible
fm
parents: 8076
diff changeset
   364
                    layout: (LayoutFrame 330 0 1 0 351 0 22 0)
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   365
                    hasCharacterOrientedLabel: false
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   366
                    translateLabel: true
8076
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   367
                    model: searchPreviousTextButtonPressed
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   368
                  )
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   369
                 (CheckBoxSpec
8926
6e136b0d4ab9 case toggle reversed
Claus Gittinger <cg@exept.de>
parents: 8914
diff changeset
   370
                    label: 'Case'
6e136b0d4ab9 case toggle reversed
Claus Gittinger <cg@exept.de>
parents: 8914
diff changeset
   371
                    name: 'DoNotIgnoreCaseCheckBox'
8077
d8ae29860f78 changed #matchCheckboxVisible
fm
parents: 8076
diff changeset
   372
                    layout: (LayoutFrame 360 0 1 0 553 0 23 0)
8955
b9229ea79b82 *** empty log message ***
fm
parents: 8926
diff changeset
   373
                    model: matchCaseHolder
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   374
                    translateLabel: true
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   375
                  )
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   376
                 (LabelSpec
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   377
                    label: 'SearchBarImageInfoLabel'
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   378
                    name: 'SearchBarImageInfoLabel'
8077
d8ae29860f78 changed #matchCheckboxVisible
fm
parents: 8076
diff changeset
   379
                    layout: (LayoutFrame 557 0 1 0 581 0 23 0)
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   380
                    hasCharacterOrientedLabel: false
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   381
                    translateLabel: true
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   382
                    labelChannel: searchBarImageInfoLabelHolder
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   383
                  )
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   384
                 (LabelSpec
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   385
                    label: 'SearchBarInfoLabel'
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   386
                    name: 'SearchBarInfoLabel'
8077
d8ae29860f78 changed #matchCheckboxVisible
fm
parents: 8076
diff changeset
   387
                    layout: (LayoutFrame 584 0 1 0 862 0 23 0)
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   388
                    translateLabel: true
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   389
                    labelChannel: searchBarInfoLabelHolder
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   390
                    adjust: left
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   391
                  )
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   392
                 )
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   393
               
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   394
              )
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   395
            )
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   396
           )
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   397
         
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   398
        )
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   399
      )
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   400
! !
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   401
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   402
!StringSearchTool methodsFor:'accessing'!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   403
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   404
closeBlock
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   405
    ^ closeBlock
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   406
!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   407
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   408
closeBlock:something
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   409
    closeBlock := something.
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   410
!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   411
8955
b9229ea79b82 *** empty log message ***
fm
parents: 8926
diff changeset
   412
ignoreCase
b9229ea79b82 *** empty log message ***
fm
parents: 8926
diff changeset
   413
b9229ea79b82 *** empty log message ***
fm
parents: 8926
diff changeset
   414
    ^ self matchCaseHolder value not
b9229ea79b82 *** empty log message ***
fm
parents: 8926
diff changeset
   415
!
b9229ea79b82 *** empty log message ***
fm
parents: 8926
diff changeset
   416
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   417
initialSearchString: aString  
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   418
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   419
    self searchTextHolder value: aString.
8076
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   420
!
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   421
8077
d8ae29860f78 changed #matchCheckboxVisible
fm
parents: 8076
diff changeset
   422
matchCheckboxVisible
d8ae29860f78 changed #matchCheckboxVisible
fm
parents: 8076
diff changeset
   423
    ^ false
d8ae29860f78 changed #matchCheckboxVisible
fm
parents: 8076
diff changeset
   424
!
d8ae29860f78 changed #matchCheckboxVisible
fm
parents: 8076
diff changeset
   425
8076
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   426
restartSearch
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   427
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   428
    ^ self restartHolder value
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   429
!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   430
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   431
searchNextBlock
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   432
    ^ searchNextBlock
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   433
!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   434
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   435
searchNextBlock:something
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   436
    searchNextBlock := something.
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   437
!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   438
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   439
searchPreviousBlock
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   440
    ^ searchPreviousBlock
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   441
!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   442
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   443
searchPreviousBlock:something
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   444
    searchPreviousBlock := something.
8996
261868e9cc34 fixes in searchBar
fm
parents: 8957
diff changeset
   445
!
261868e9cc34 fixes in searchBar
fm
parents: 8957
diff changeset
   446
261868e9cc34 fixes in searchBar
fm
parents: 8957
diff changeset
   447
searchText
261868e9cc34 fixes in searchBar
fm
parents: 8957
diff changeset
   448
261868e9cc34 fixes in searchBar
fm
parents: 8957
diff changeset
   449
    ^ searchTextView contents
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   450
! !
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   451
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   452
!StringSearchTool methodsFor:'aspects'!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   453
8955
b9229ea79b82 *** empty log message ***
fm
parents: 8926
diff changeset
   454
matchCaseHolder
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   455
8955
b9229ea79b82 *** empty log message ***
fm
parents: 8926
diff changeset
   456
    matchCaseHolder isNil ifTrue:[
b9229ea79b82 *** empty log message ***
fm
parents: 8926
diff changeset
   457
        matchCaseHolder := self class lastMatchCase asValue.
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   458
"/ if your app needs to be notified of changes, uncomment one of the lines below:
8955
b9229ea79b82 *** empty log message ***
fm
parents: 8926
diff changeset
   459
"/       matchCaseHolder addDependent:self.
b9229ea79b82 *** empty log message ***
fm
parents: 8926
diff changeset
   460
        matchCaseHolder onChangeSend:#matchCaseHolderChanged to:self.
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   461
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   462
    ].
8955
b9229ea79b82 *** empty log message ***
fm
parents: 8926
diff changeset
   463
    ^ matchCaseHolder.
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   464
!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   465
8076
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   466
restartHolder
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   467
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   468
    restartHolder isNil ifTrue:[
8914
d7e2ac543146 *** empty log message ***
fm
parents: 8911
diff changeset
   469
        restartHolder := self class lastRestart asValue.
8076
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   470
"/ if your app needs to be notified of changes, uncomment one of the lines below:
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   471
"/       restartHolder addDependent:self.
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   472
        restartHolder onChangeSend:#restartHolderChanged to:self.
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   473
    ].
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   474
    ^ restartHolder.
8069
3c4426cb3174 changed #matchCheckboxVisible
Claus Gittinger <cg@exept.de>
parents: 8061
diff changeset
   475
!
3c4426cb3174 changed #matchCheckboxVisible
Claus Gittinger <cg@exept.de>
parents: 8061
diff changeset
   476
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   477
searchBarImageInfoLabelHolder
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   478
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   479
    searchBarImageInfoLabelHolder isNil ifTrue:[
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   480
        searchBarImageInfoLabelHolder := nil asValue .
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   481
    ].
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   482
    ^ searchBarImageInfoLabelHolder.
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   483
!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   484
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   485
searchBarInfoLabelHolder
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   486
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   487
    searchBarInfoLabelHolder isNil ifTrue:[
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   488
        searchBarInfoLabelHolder := '' asValue .
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   489
    ].
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   490
    ^ searchBarInfoLabelHolder.
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   491
!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   492
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   493
searchTextHolder
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   494
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   495
    searchTextHolder isNil ifTrue:[
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   496
        searchTextHolder := ValueHolder new.
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   497
"/ if your app needs to be notified of changes, uncomment one of the lines below:
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   498
"/       userSelectedHolder addDependent:self.
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   499
"/       userSelectedHolder onChangeSend:#searchTextHolderChanged to:self.
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   500
    ].
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   501
    ^ searchTextHolder.
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   502
!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   503
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   504
searchTextModifiedHolder
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   505
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   506
    searchTextModifiedHolder isNil ifTrue:[
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   507
        searchTextModifiedHolder := false asValue .
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   508
"/ if your app needs to be notified of changes, uncomment one of the lines below:
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   509
"/       searchTextModifiedHolder addDependent:self.
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   510
       searchTextModifiedHolder onChangeSend:#searchTextModifiedHolderChanged to:self.
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   511
    ].
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   512
    ^ searchTextModifiedHolder.
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   513
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   514
    "Created: / 15-06-2007 / 18:07:19 / Administrador"
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   515
! !
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   516
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   517
!StringSearchTool methodsFor:'change & update'!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   518
8955
b9229ea79b82 *** empty log message ***
fm
parents: 8926
diff changeset
   519
matchCaseHolderChanged
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   520
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   521
    self searchNextTextIncludingCurrentSelection: true.
8061
4efeccdc0f1d searchString without showing searchBar
fm
parents: 8059
diff changeset
   522
    self setFocusToSearchTextView.
8955
b9229ea79b82 *** empty log message ***
fm
parents: 8926
diff changeset
   523
    self class lastMatchCase: self matchCaseHolder value. 
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   524
!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   525
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   526
processEvent:anEvent
12118
42920aab102f class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 9474
diff changeset
   527
    <resource: #keyboard (#Escape #FindNext #FindPrev)>
42920aab102f class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 9474
diff changeset
   528
8061
4efeccdc0f1d searchString without showing searchBar
fm
parents: 8059
diff changeset
   529
    searchTextView hasFocus ifFalse:[^ false].
4efeccdc0f1d searchString without showing searchBar
fm
parents: 8059
diff changeset
   530
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   531
    anEvent isKeyPressEvent ifTrue:[
8080
086cdba62ab5 changed #processEvent:
fm
parents: 8077
diff changeset
   532
"/        Transcript showCR: anEvent key printString.
8076
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   533
"/        anEvent key == #Find ifTrue:[
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   534
"/            self halt.
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   535
"/            self searchNextText.
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   536
"/            ^ true
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   537
"/        ].
8084
411aeb42a6c1 return focus and hide after pressing #Escape
fm
parents: 8080
diff changeset
   538
        anEvent key == #Escape ifTrue:[
411aeb42a6c1 return focus and hide after pressing #Escape
fm
parents: 8080
diff changeset
   539
            self escapePressed.
411aeb42a6c1 return focus and hide after pressing #Escape
fm
parents: 8080
diff changeset
   540
            ^ true
411aeb42a6c1 return focus and hide after pressing #Escape
fm
parents: 8080
diff changeset
   541
        ].
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   542
        anEvent key == #FindNext ifTrue:[
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   543
            self searchNextText.
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   544
            ^ true
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   545
        ].
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   546
        anEvent key == #FindPrev ifTrue:[
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   547
            self searchPreviousText.
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   548
            ^ true
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   549
        ].
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   550
    ].
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   551
    ^ false
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   552
!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   553
8076
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   554
restartHolderChanged
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   555
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   556
    self setFocusToSearchTextView.
8914
d7e2ac543146 *** empty log message ***
fm
parents: 8911
diff changeset
   557
    self class lastRestart: self restartHolder value.
8076
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   558
!
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   559
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   560
searchTextModifiedHolderChanged
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   561
8076
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   562
    |previousRestart|
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   563
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   564
    "Always restart when looking for a typed string"
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   565
    previousRestart := self restartSearch.
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   566
    self restartHolder setValue: true.
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   567
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   568
    self searchNextTextIncludingCurrentSelection: true.
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   569
    self searchTextModifiedHolder setValue: false.
8076
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   570
    self restartHolder setValue: previousRestart.
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   571
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   572
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   573
"/Transcript showCR: 'searchTextModifiedHolderChanged: ',(self searchTextHolder value ? '').
8996
261868e9cc34 fixes in searchBar
fm
parents: 8957
diff changeset
   574
"/Transcript showCR: 'searchTextView contents: ',(self searchText ? '').
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   575
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   576
    "Created: / 15-06-2007 / 18:07:57 / Administrador"
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   577
    "Modified: / 16-06-2007 / 09:21:27 / Administrador"
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   578
! !
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   579
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   580
!StringSearchTool methodsFor:'images'!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   581
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   582
restartSearchBarIcon
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   583
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   584
    ^ self class restartSearchBarIcon
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   585
!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   586
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   587
warningSearchBarIcon
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   588
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   589
    ^ self class warningSearchBarIcon
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   590
! !
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   591
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   592
!StringSearchTool methodsFor:'initialization & release'!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   593
8059
c7135647e846 *** empty log message ***
fm
parents: 8048
diff changeset
   594
commonPostOpen
c7135647e846 *** empty log message ***
fm
parents: 8048
diff changeset
   595
    self windowGroup addPreEventHook:self.
c7135647e846 *** empty log message ***
fm
parents: 8048
diff changeset
   596
    super commonPostOpen
c7135647e846 *** empty log message ***
fm
parents: 8048
diff changeset
   597
!
c7135647e846 *** empty log message ***
fm
parents: 8048
diff changeset
   598
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   599
postBuildSearchTextView: anEditFieldView
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   600
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   601
    searchTextView := anEditFieldView
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   602
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   603
    "Created: / 15-06-2007 / 18:17:15 / Administrador"
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   604
! !
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   605
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   606
!StringSearchTool methodsFor:'private'!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   607
8076
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   608
searchReachEndOrBeginningIcon
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   609
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   610
    ^ self restartSearch 
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   611
        ifTrue:[self restartSearchBarIcon.]
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   612
        ifFalse:[self warningSearchBarIcon.].
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   613
!
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   614
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   615
searchTextRestarted: message
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   616
8076
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   617
    self searchBarImageInfoLabelHolder value: self searchReachEndOrBeginningIcon.
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   618
    self searchBarInfoLabelHolder value: message.
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   619
!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   620
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   621
setSearchTextFoundColors
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   622
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   623
    searchTextView foregroundColor: Color black.
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   624
    searchTextView backgroundColor: Color white.
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   625
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   626
    "Created: / 16-06-2007 / 06:28:32 / Administrador"
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   627
!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   628
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   629
setSearchTextNotFoundColors
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   630
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   631
    searchTextView foregroundColor: Color white.
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   632
    searchTextView backgroundColor: Color lightRed.
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   633
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   634
    "Created: / 16-06-2007 / 06:29:00 / Administrador"
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   635
! !
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   636
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   637
!StringSearchTool methodsFor:'public'!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   638
8084
411aeb42a6c1 return focus and hide after pressing #Escape
fm
parents: 8080
diff changeset
   639
escapePressed
411aeb42a6c1 return focus and hide after pressing #Escape
fm
parents: 8080
diff changeset
   640
411aeb42a6c1 return focus and hide after pressing #Escape
fm
parents: 8080
diff changeset
   641
    self hideSearchBar.
411aeb42a6c1 return focus and hide after pressing #Escape
fm
parents: 8080
diff changeset
   642
!
411aeb42a6c1 return focus and hide after pressing #Escape
fm
parents: 8080
diff changeset
   643
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   644
searchBarOpened
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   645
8112
de6cb31af659 select text when focus goes into search-field
Claus Gittinger <cg@exept.de>
parents: 8084
diff changeset
   646
    self setFocusToSearchTextView.
de6cb31af659 select text when focus goes into search-field
Claus Gittinger <cg@exept.de>
parents: 8084
diff changeset
   647
    self selectAllInSearchTextView.
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   648
!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   649
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   650
searchNextTextReachEnd
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   651
    |message|
8957
fm
parents: 8955
diff changeset
   652
    message := (resources string: 'End of text reached').
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   653
    self searchTextRestarted: message.
8076
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   654
    Smalltalk beep.
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   655
8076
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   656
    self restartSearch ifTrue:[
8957
fm
parents: 8955
diff changeset
   657
        message := message, (resources string: ', starting from the beginning').
8076
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   658
        self searchTextRestarted: message.
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   659
        self searchNextTextFromBeginning.
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   660
    ].
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   661
!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   662
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   663
searchPreviousTextReachBeginning
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   664
    |message|
8076
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   665
8957
fm
parents: 8955
diff changeset
   666
    message := (resources string: 'Beginning of text reached').
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   667
    self searchTextRestarted: message.
8076
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   668
    Smalltalk beep.
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   669
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   670
    self restartSearch ifTrue:[
8957
fm
parents: 8955
diff changeset
   671
        message := message, (resources string: ', starting from the end').
8076
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   672
        self searchTextRestarted: message.
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   673
        self searchPreviousTextFromEnd
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   674
    ].
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   675
!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   676
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   677
searchTextNotFound
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   678
8957
fm
parents: 8955
diff changeset
   679
    self searchTextNotFound: (resources string: 'Text not found').
8911
b23fd42e0da7 added: #searchTextNotFound:
fm
parents: 8485
diff changeset
   680
!
b23fd42e0da7 added: #searchTextNotFound:
fm
parents: 8485
diff changeset
   681
b23fd42e0da7 added: #searchTextNotFound:
fm
parents: 8485
diff changeset
   682
searchTextNotFound: aMessage
b23fd42e0da7 added: #searchTextNotFound:
fm
parents: 8485
diff changeset
   683
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   684
    self searchBarImageInfoLabelHolder value: self warningSearchBarIcon.
8911
b23fd42e0da7 added: #searchTextNotFound:
fm
parents: 8485
diff changeset
   685
    self searchBarInfoLabelHolder value: aMessage.
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   686
    self setSearchTextNotFoundColors.
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   687
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   688
    "Created: / 16-06-2007 / 06:51:01 / Administrador"
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   689
    "Modified: / 16-06-2007 / 11:43:53 / Administrador"
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   690
!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   691
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   692
searchTextStarted
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   693
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   694
    self searchBarImageInfoLabelHolder value: nil.
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   695
    self searchBarInfoLabelHolder value: ''.
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   696
    self setSearchTextFoundColors.
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   697
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   698
    "Created: / 16-06-2007 / 06:54:03 / Administrador"
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   699
    "Modified: / 16-06-2007 / 10:07:06 / Administrador"
8061
4efeccdc0f1d searchString without showing searchBar
fm
parents: 8059
diff changeset
   700
!
4efeccdc0f1d searchString without showing searchBar
fm
parents: 8059
diff changeset
   701
8112
de6cb31af659 select text when focus goes into search-field
Claus Gittinger <cg@exept.de>
parents: 8084
diff changeset
   702
selectAllInSearchTextView
de6cb31af659 select text when focus goes into search-field
Claus Gittinger <cg@exept.de>
parents: 8084
diff changeset
   703
9244
6bcb7d03910b changed: #selectAllInSearchTextView
Claus Gittinger <cg@exept.de>
parents: 8996
diff changeset
   704
    searchTextView selectAllInitially.
8112
de6cb31af659 select text when focus goes into search-field
Claus Gittinger <cg@exept.de>
parents: 8084
diff changeset
   705
!
de6cb31af659 select text when focus goes into search-field
Claus Gittinger <cg@exept.de>
parents: 8084
diff changeset
   706
8061
4efeccdc0f1d searchString without showing searchBar
fm
parents: 8059
diff changeset
   707
setFocusToSearchTextView
4efeccdc0f1d searchString without showing searchBar
fm
parents: 8059
diff changeset
   708
4efeccdc0f1d searchString without showing searchBar
fm
parents: 8059
diff changeset
   709
    searchTextView requestFocus.
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   710
! !
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   711
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   712
!StringSearchTool methodsFor:'searching'!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   713
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   714
hideSearchBar
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   715
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   716
    closeBlock isNil ifTrue:[^ self].
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   717
    closeBlock value
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   718
!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   719
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   720
searchNextText
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   721
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   722
    self searchNextTextIncludingCurrentSelection: false.
8076
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   723
"/    self setFocusToSearchTextView.
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   724
!
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   725
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   726
searchNextTextButtonPressed
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   727
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   728
    self searchNextText.
8061
4efeccdc0f1d searchString without showing searchBar
fm
parents: 8059
diff changeset
   729
    self setFocusToSearchTextView.
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   730
!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   731
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   732
searchNextTextFromBeginning
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   733
    |searchText ignoreCase|
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   734
8996
261868e9cc34 fixes in searchBar
fm
parents: 8957
diff changeset
   735
    searchText := self searchText.
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   736
    searchText isEmptyOrNil ifTrue:[^self].
8955
b9229ea79b82 *** empty log message ***
fm
parents: 8926
diff changeset
   737
    ignoreCase := self ignoreCase.
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   738
    searchNextBlock isNil ifTrue:[^ self].
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   739
    searchNextBlock value: self value: searchText value: ignoreCase value: #beginning
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   740
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   741
"/    self parent
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   742
"/            searchNextTextFromBeginning: searchText 
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   743
"/            ignoreCase: ignoreCase 
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   744
!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   745
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   746
searchNextTextIncludingCurrentSelection: includeCurrentSelection
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   747
    |searchText ignoreCase startPlace|
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   748
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   749
    self searchTextStarted.
8996
261868e9cc34 fixes in searchBar
fm
parents: 8957
diff changeset
   750
    searchText := self searchText.
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   751
    searchText isEmptyOrNil ifTrue:[^self].
8955
b9229ea79b82 *** empty log message ***
fm
parents: 8926
diff changeset
   752
    ignoreCase := self ignoreCase.
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   753
    searchNextBlock isNil ifTrue:[^ self].
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   754
    startPlace := includeCurrentSelection ifTrue:[#current] ifFalse:[#includingCurrent].
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   755
    searchNextBlock value: self value: searchText value: ignoreCase value: startPlace 
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   756
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   757
"/    self parent 
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   758
"/            searchNextText: searchText 
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   759
"/            ignoreCase: ignoreCase 
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   760
"/            includingCurrentSelection: includeCurrentSelection.
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   761
!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   762
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   763
searchPreviousText
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   764
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   765
    |searchText ignoreCase|
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   766
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   767
    self searchTextStarted.
8996
261868e9cc34 fixes in searchBar
fm
parents: 8957
diff changeset
   768
    searchText := self searchText.      
8076
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   769
"/    self setFocusToSearchTextView.
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   770
    searchText isEmptyOrNil ifTrue:[^self].
8955
b9229ea79b82 *** empty log message ***
fm
parents: 8926
diff changeset
   771
    ignoreCase := self ignoreCase.
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   772
    searchPreviousBlock isNil ifTrue:[^ self].
8061
4efeccdc0f1d searchString without showing searchBar
fm
parents: 8059
diff changeset
   773
    searchPreviousBlock value: self value: searchText value: ignoreCase value: #current.
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   774
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   775
"/    self parent 
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   776
"/            searchPreviousText: searchText 
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   777
"/            ignoreCase: ignoreCase 
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   778
!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   779
8076
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   780
searchPreviousTextButtonPressed
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   781
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   782
    self searchPreviousText.
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   783
    self setFocusToSearchTextView.
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   784
!
6c23c777d44d restartSearch
fm
parents: 8069
diff changeset
   785
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   786
searchPreviousTextFromEnd
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   787
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   788
    |searchText ignoreCase|
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   789
8996
261868e9cc34 fixes in searchBar
fm
parents: 8957
diff changeset
   790
    searchText := self searchText.
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   791
    searchText isEmptyOrNil ifTrue:[^self].
8955
b9229ea79b82 *** empty log message ***
fm
parents: 8926
diff changeset
   792
    ignoreCase := self ignoreCase.
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   793
    searchPreviousBlock isNil ifTrue:[^ self].
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   794
    searchPreviousBlock value: self value: searchText value: ignoreCase value: #end
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   795
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   796
"/    self parent
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   797
"/            searchPreviousTextFromEnd: searchText 
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   798
"/            ignoreCase: ignoreCase 
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   799
! !
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   800
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   801
!StringSearchTool class methodsFor:'documentation'!
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   802
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   803
version
15760
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   804
    ^ '$Header$'
8911
b23fd42e0da7 added: #searchTextNotFound:
fm
parents: 8485
diff changeset
   805
!
b23fd42e0da7 added: #searchTextNotFound:
fm
parents: 8485
diff changeset
   806
b23fd42e0da7 added: #searchTextNotFound:
fm
parents: 8485
diff changeset
   807
version_CVS
15760
e48498ecc51a class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 14393
diff changeset
   808
    ^ '$Header$'
8048
a2f6465887e1 initial checkin
fm
parents:
diff changeset
   809
! !
12118
42920aab102f class: Tools::StringSearchTool
Claus Gittinger <cg@exept.de>
parents: 9474
diff changeset
   810