Tools__StringSearchToolForTextView.st
author Claus Gittinger <cg@exept.de>
Tue, 23 Sep 2008 01:29:40 +0200
changeset 8276 43b76fabaa23
parent 8085 e050190fee76
child 8910 7c30cd06ddf4
permissions -rw-r--r--
*** empty log message ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8276
43b76fabaa23 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8085
diff changeset
     1
"
43b76fabaa23 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8085
diff changeset
     2
 COPYRIGHT (c) 2008 by eXept Software AG
43b76fabaa23 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8085
diff changeset
     3
              All Rights Reserved
43b76fabaa23 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8085
diff changeset
     4
43b76fabaa23 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8085
diff changeset
     5
 This software is furnished under a license and may be used
43b76fabaa23 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8085
diff changeset
     6
 only in accordance with the terms of that license and with the
43b76fabaa23 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8085
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
43b76fabaa23 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8085
diff changeset
     8
 be provided or otherwise made available to, or used by, any
43b76fabaa23 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8085
diff changeset
     9
 other person.  No title to or ownership of the software is
43b76fabaa23 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8085
diff changeset
    10
 hereby transferred.
43b76fabaa23 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8085
diff changeset
    11
"
8049
3845b02f8475 initial checkin
fm
parents:
diff changeset
    12
"{ Package: 'stx:libtool' }"
3845b02f8475 initial checkin
fm
parents:
diff changeset
    13
3845b02f8475 initial checkin
fm
parents:
diff changeset
    14
"{ NameSpace: Tools }"
3845b02f8475 initial checkin
fm
parents:
diff changeset
    15
3845b02f8475 initial checkin
fm
parents:
diff changeset
    16
StringSearchTool subclass:#StringSearchToolForTextView
8079
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    17
	instanceVariableNames:'textView matchHolder'
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    18
	classVariableNames:''
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    19
	poolDictionaries:''
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    20
	category:'Interface-Tools'
8049
3845b02f8475 initial checkin
fm
parents:
diff changeset
    21
!
3845b02f8475 initial checkin
fm
parents:
diff changeset
    22
8276
43b76fabaa23 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8085
diff changeset
    23
!StringSearchToolForTextView class methodsFor:'documentation'!
43b76fabaa23 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8085
diff changeset
    24
43b76fabaa23 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8085
diff changeset
    25
copyright
43b76fabaa23 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8085
diff changeset
    26
"
43b76fabaa23 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8085
diff changeset
    27
 COPYRIGHT (c) 2008 by eXept Software AG
43b76fabaa23 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8085
diff changeset
    28
              All Rights Reserved
43b76fabaa23 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8085
diff changeset
    29
43b76fabaa23 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8085
diff changeset
    30
 This software is furnished under a license and may be used
43b76fabaa23 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8085
diff changeset
    31
 only in accordance with the terms of that license and with the
43b76fabaa23 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8085
diff changeset
    32
 inclusion of the above copyright notice.   This software may not
43b76fabaa23 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8085
diff changeset
    33
 be provided or otherwise made available to, or used by, any
43b76fabaa23 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8085
diff changeset
    34
 other person.  No title to or ownership of the software is
43b76fabaa23 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8085
diff changeset
    35
 hereby transferred.
43b76fabaa23 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8085
diff changeset
    36
"
43b76fabaa23 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8085
diff changeset
    37
! !
8049
3845b02f8475 initial checkin
fm
parents:
diff changeset
    38
3845b02f8475 initial checkin
fm
parents:
diff changeset
    39
!StringSearchToolForTextView class methodsFor:'interface specs'!
3845b02f8475 initial checkin
fm
parents:
diff changeset
    40
8079
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    41
windowSpec
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    42
    "This resource specification was automatically generated
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    43
     by the UIPainter of ST/X."
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    44
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    45
    "Do not manually edit this!! If it is corrupted,
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    46
     the UIPainter may not be able to read the specification."
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    47
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    48
    "
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    49
     UIPainter new openOnClass:Tools::StringSearchToolForTextView andSelector:#windowSpec
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    50
     Tools::StringSearchToolForTextView new openInterface:#windowSpec
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    51
     Tools::StringSearchToolForTextView open
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    52
    "
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    53
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    54
    <resource: #canvas>
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    55
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    56
    ^ 
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    57
     #(FullSpec
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    58
        name: windowSpec
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    59
        window: 
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    60
       (WindowSpec
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    61
          label: 'Tools::StringSearchTool'
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    62
          name: 'Tools::StringSearchTool'
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    63
          min: (Point 10 10)
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    64
          max: (Point 1024 768)
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    65
          bounds: (Rectangle 0 0 883 27)
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    66
        )
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    67
        component: 
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    68
       (SpecCollection
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    69
          collection: (
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    70
           (ViewSpec
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    71
              name: 'SearchBox'
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    72
              layout: (LayoutFrame 0 0 0 0 0 1 0 1)
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    73
              level: -1
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    74
              component: 
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    75
             (SpecCollection
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    76
                collection: (
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    77
                 (ActionButtonSpec
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    78
                    label: 'closeSearchBarIcon'
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    79
                    name: 'hideSearchBarButton'
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    80
                    layout: (LayoutFrame 1 0 2 0 22 0 23 0)
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    81
                    hasCharacterOrientedLabel: false
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    82
                    translateLabel: true
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    83
                    model: hideSearchBar
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    84
                  )
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    85
                 (LabelSpec
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    86
                    label: 'Search:'
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    87
                    name: 'SearchLabel'
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    88
                    layout: (LayoutFrame 23 0 1 0 71 0 23 0)
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    89
                    translateLabel: true
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    90
                    adjust: right
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    91
                  )
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    92
                 (InputFieldSpec
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    93
                    name: 'SearchEntryField'
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    94
                    layout: (LayoutFrame 72 0 1 0 253 0 23 0)
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    95
                    model: searchTextHolder
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    96
                    immediateAccept: true
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    97
                    acceptOnReturn: true
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    98
                    acceptOnTab: true
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
    99
                    acceptOnLostFocus: true
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   100
                    modifiedChannel: searchTextModifiedHolder
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   101
                    acceptOnPointerLeave: false
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   102
                    postBuildCallback: postBuildSearchTextView:
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   103
                  )
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   104
                 (ActionButtonSpec
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   105
                    label: 'searchNextIcon'
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   106
                    name: 'SearchNextButton'
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   107
                    layout: (LayoutFrame 258 0 2 0 279 0 23 0)
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   108
                    hasCharacterOrientedLabel: false
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   109
                    translateLabel: true
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   110
                    model: searchNextTextButtonPressed
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   111
                  )
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   112
                 (ActionButtonSpec
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   113
                    label: 'searchPreviousIcon'
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   114
                    name: 'searchPreviousButton'
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   115
                    layout: (LayoutFrame 286 0 2 0 307 0 23 0)
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   116
                    hasCharacterOrientedLabel: false
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   117
                    translateLabel: true
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   118
                    model: searchPreviousTextButtonPressed
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   119
                  )
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   120
                 (CheckBoxSpec
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   121
                    label: 'Ignore case'
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   122
                    name: 'IgnoreCaseCheckBox'
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   123
                    layout: (LayoutFrame 312 0 1 0 424 0 23 0)
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   124
                    model: ignoreCaseHolder
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   125
                    translateLabel: true
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   126
                  )
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   127
                 (CheckBoxSpec
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   128
                    label: 'Match'
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   129
                    name: 'MatchCheckBox'
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   130
                    layout: (LayoutFrame 424 0 1 0 508 0 23 0)
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   131
                    model: matchHolder
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   132
                    translateLabel: true
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   133
                  )
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   134
                 (CheckBoxSpec
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   135
                    label: 'Restart'
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   136
                    name: 'RestartCheckBox'
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   137
                    layout: (LayoutFrame 509 0 1 0 593 0 23 0)
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   138
                    model: restartHolder
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   139
                    translateLabel: true
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   140
                  )
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   141
                 (LabelSpec
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   142
                    label: 'SearchBarImageInfoLabel'
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   143
                    name: 'SearchBarImageInfoLabel'
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   144
                    layout: (LayoutFrame 598 0 1 0 622 0 23 0)
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   145
                    hasCharacterOrientedLabel: false
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   146
                    translateLabel: true
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   147
                    labelChannel: searchBarImageInfoLabelHolder
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   148
                  )
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   149
                 (LabelSpec
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   150
                    label: 'SearchBarInfoLabel'
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   151
                    name: 'SearchBarInfoLabel'
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   152
                    layout: (LayoutFrame 633 0 1 0 882 0 23 0)
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   153
                    translateLabel: true
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   154
                    labelChannel: searchBarInfoLabelHolder
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   155
                    adjust: left
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   156
                  )
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   157
                 )
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   158
               
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   159
              )
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   160
            )
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   161
           )
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   162
         
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   163
        )
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   164
      )
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   165
!
4aec56e898ce restartSearch
fm
parents: 8078
diff changeset
   166
8070
2acefb7023d2 changed #matchCheckboxVisible
Claus Gittinger <cg@exept.de>
parents: 8064
diff changeset
   167
windowSpec_old
8049
3845b02f8475 initial checkin
fm
parents:
diff changeset
   168
    "This resource specification was automatically generated
3845b02f8475 initial checkin
fm
parents:
diff changeset
   169
     by the UIPainter of ST/X."
3845b02f8475 initial checkin
fm
parents:
diff changeset
   170
3845b02f8475 initial checkin
fm
parents:
diff changeset
   171
    "Do not manually edit this!! If it is corrupted,
3845b02f8475 initial checkin
fm
parents:
diff changeset
   172
     the UIPainter may not be able to read the specification."
3845b02f8475 initial checkin
fm
parents:
diff changeset
   173
3845b02f8475 initial checkin
fm
parents:
diff changeset
   174
    "
3845b02f8475 initial checkin
fm
parents:
diff changeset
   175
     UIPainter new openOnClass:Tools::StringSearchToolForTextView andSelector:#windowSpec
3845b02f8475 initial checkin
fm
parents:
diff changeset
   176
     Tools::StringSearchToolForTextView new openInterface:#windowSpec
3845b02f8475 initial checkin
fm
parents:
diff changeset
   177
     Tools::StringSearchToolForTextView open
3845b02f8475 initial checkin
fm
parents:
diff changeset
   178
    "
3845b02f8475 initial checkin
fm
parents:
diff changeset
   179
3845b02f8475 initial checkin
fm
parents:
diff changeset
   180
    <resource: #canvas>
3845b02f8475 initial checkin
fm
parents:
diff changeset
   181
3845b02f8475 initial checkin
fm
parents:
diff changeset
   182
    ^ 
3845b02f8475 initial checkin
fm
parents:
diff changeset
   183
     #(FullSpec
3845b02f8475 initial checkin
fm
parents:
diff changeset
   184
        name: windowSpec
3845b02f8475 initial checkin
fm
parents:
diff changeset
   185
        window: 
3845b02f8475 initial checkin
fm
parents:
diff changeset
   186
       (WindowSpec
3845b02f8475 initial checkin
fm
parents:
diff changeset
   187
          label: 'Tools::StringSearchTool'
3845b02f8475 initial checkin
fm
parents:
diff changeset
   188
          name: 'Tools::StringSearchTool'
3845b02f8475 initial checkin
fm
parents:
diff changeset
   189
          min: (Point 10 10)
3845b02f8475 initial checkin
fm
parents:
diff changeset
   190
          max: (Point 1024 768)
8078
5339ee7d9b22 restartSearch
fm
parents: 8070
diff changeset
   191
          bounds: (Rectangle 0 0 883 27)
8049
3845b02f8475 initial checkin
fm
parents:
diff changeset
   192
        )
3845b02f8475 initial checkin
fm
parents:
diff changeset
   193
        component: 
3845b02f8475 initial checkin
fm
parents:
diff changeset
   194
       (SpecCollection
3845b02f8475 initial checkin
fm
parents:
diff changeset
   195
          collection: (
3845b02f8475 initial checkin
fm
parents:
diff changeset
   196
           (ViewSpec
3845b02f8475 initial checkin
fm
parents:
diff changeset
   197
              name: 'SearchBox'
3845b02f8475 initial checkin
fm
parents:
diff changeset
   198
              layout: (LayoutFrame 0 0 0 0 0 1 0 1)
3845b02f8475 initial checkin
fm
parents:
diff changeset
   199
              level: -1
3845b02f8475 initial checkin
fm
parents:
diff changeset
   200
              component: 
3845b02f8475 initial checkin
fm
parents:
diff changeset
   201
             (SpecCollection
3845b02f8475 initial checkin
fm
parents:
diff changeset
   202
                collection: (
3845b02f8475 initial checkin
fm
parents:
diff changeset
   203
                 (ActionButtonSpec
3845b02f8475 initial checkin
fm
parents:
diff changeset
   204
                    label: 'closeSearchBarIcon'
3845b02f8475 initial checkin
fm
parents:
diff changeset
   205
                    name: 'hideSearchBarButton'
3845b02f8475 initial checkin
fm
parents:
diff changeset
   206
                    layout: (LayoutFrame 1 0 2 0 22 0 23 0)
3845b02f8475 initial checkin
fm
parents:
diff changeset
   207
                    hasCharacterOrientedLabel: false
3845b02f8475 initial checkin
fm
parents:
diff changeset
   208
                    translateLabel: true
3845b02f8475 initial checkin
fm
parents:
diff changeset
   209
                    model: hideSearchBar
3845b02f8475 initial checkin
fm
parents:
diff changeset
   210
                  )
3845b02f8475 initial checkin
fm
parents:
diff changeset
   211
                 (LabelSpec
3845b02f8475 initial checkin
fm
parents:
diff changeset
   212
                    label: 'Search:'
3845b02f8475 initial checkin
fm
parents:
diff changeset
   213
                    name: 'SearchLabel'
8062
3b38e4e4d786 searchString without showing searchBar
fm
parents: 8060
diff changeset
   214
                    layout: (LayoutFrame 23 0 1 0 71 0 23 0)
8049
3845b02f8475 initial checkin
fm
parents:
diff changeset
   215
                    translateLabel: true
3845b02f8475 initial checkin
fm
parents:
diff changeset
   216
                    adjust: right
3845b02f8475 initial checkin
fm
parents:
diff changeset
   217
                  )
3845b02f8475 initial checkin
fm
parents:
diff changeset
   218
                 (InputFieldSpec
3845b02f8475 initial checkin
fm
parents:
diff changeset
   219
                    name: 'SearchEntryField'
8062
3b38e4e4d786 searchString without showing searchBar
fm
parents: 8060
diff changeset
   220
                    layout: (LayoutFrame 72 0 1 0 253 0 23 0)
8049
3845b02f8475 initial checkin
fm
parents:
diff changeset
   221
                    model: searchTextHolder
3845b02f8475 initial checkin
fm
parents:
diff changeset
   222
                    immediateAccept: true
3845b02f8475 initial checkin
fm
parents:
diff changeset
   223
                    acceptOnReturn: true
3845b02f8475 initial checkin
fm
parents:
diff changeset
   224
                    acceptOnTab: true
3845b02f8475 initial checkin
fm
parents:
diff changeset
   225
                    acceptOnLostFocus: true
3845b02f8475 initial checkin
fm
parents:
diff changeset
   226
                    modifiedChannel: searchTextModifiedHolder
3845b02f8475 initial checkin
fm
parents:
diff changeset
   227
                    acceptOnPointerLeave: false
3845b02f8475 initial checkin
fm
parents:
diff changeset
   228
                    postBuildCallback: postBuildSearchTextView:
3845b02f8475 initial checkin
fm
parents:
diff changeset
   229
                  )
3845b02f8475 initial checkin
fm
parents:
diff changeset
   230
                 (ActionButtonSpec
3845b02f8475 initial checkin
fm
parents:
diff changeset
   231
                    label: 'searchNextIcon'
3845b02f8475 initial checkin
fm
parents:
diff changeset
   232
                    name: 'SearchNextButton'
8062
3b38e4e4d786 searchString without showing searchBar
fm
parents: 8060
diff changeset
   233
                    layout: (LayoutFrame 258 0 2 0 279 0 23 0)
8049
3845b02f8475 initial checkin
fm
parents:
diff changeset
   234
                    hasCharacterOrientedLabel: false
3845b02f8475 initial checkin
fm
parents:
diff changeset
   235
                    translateLabel: true
8078
5339ee7d9b22 restartSearch
fm
parents: 8070
diff changeset
   236
                    model: searchNextTextButtonPressed
8049
3845b02f8475 initial checkin
fm
parents:
diff changeset
   237
                  )
3845b02f8475 initial checkin
fm
parents:
diff changeset
   238
                 (ActionButtonSpec
3845b02f8475 initial checkin
fm
parents:
diff changeset
   239
                    label: 'searchPreviousIcon'
3845b02f8475 initial checkin
fm
parents:
diff changeset
   240
                    name: 'searchPreviousButton'
8062
3b38e4e4d786 searchString without showing searchBar
fm
parents: 8060
diff changeset
   241
                    layout: (LayoutFrame 286 0 2 0 307 0 23 0)
8049
3845b02f8475 initial checkin
fm
parents:
diff changeset
   242
                    hasCharacterOrientedLabel: false
3845b02f8475 initial checkin
fm
parents:
diff changeset
   243
                    translateLabel: true
8078
5339ee7d9b22 restartSearch
fm
parents: 8070
diff changeset
   244
                    model: searchPreviousTextButtonPressed
8049
3845b02f8475 initial checkin
fm
parents:
diff changeset
   245
                  )
3845b02f8475 initial checkin
fm
parents:
diff changeset
   246
                 (CheckBoxSpec
3845b02f8475 initial checkin
fm
parents:
diff changeset
   247
                    label: 'Ignore case'
3845b02f8475 initial checkin
fm
parents:
diff changeset
   248
                    name: 'IgnoreCaseCheckBox'
8062
3b38e4e4d786 searchString without showing searchBar
fm
parents: 8060
diff changeset
   249
                    layout: (LayoutFrame 312 0 1 0 424 0 23 0)
8049
3845b02f8475 initial checkin
fm
parents:
diff changeset
   250
                    model: ignoreCaseHolder
3845b02f8475 initial checkin
fm
parents:
diff changeset
   251
                    translateLabel: true
3845b02f8475 initial checkin
fm
parents:
diff changeset
   252
                  )
3845b02f8475 initial checkin
fm
parents:
diff changeset
   253
                 (CheckBoxSpec
3845b02f8475 initial checkin
fm
parents:
diff changeset
   254
                    label: 'Match'
3845b02f8475 initial checkin
fm
parents:
diff changeset
   255
                    name: 'MatchCheckBox'
8062
3b38e4e4d786 searchString without showing searchBar
fm
parents: 8060
diff changeset
   256
                    layout: (LayoutFrame 424 0 1 0 508 0 23 0)
8049
3845b02f8475 initial checkin
fm
parents:
diff changeset
   257
                    model: matchHolder
3845b02f8475 initial checkin
fm
parents:
diff changeset
   258
                    translateLabel: true
3845b02f8475 initial checkin
fm
parents:
diff changeset
   259
                  )
8078
5339ee7d9b22 restartSearch
fm
parents: 8070
diff changeset
   260
                 (CheckBoxSpec
5339ee7d9b22 restartSearch
fm
parents: 8070
diff changeset
   261
                    label: 'Restart'
5339ee7d9b22 restartSearch
fm
parents: 8070
diff changeset
   262
                    name: 'RestartCheckBox'
5339ee7d9b22 restartSearch
fm
parents: 8070
diff changeset
   263
                    layout: (LayoutFrame 509 0 1 0 593 0 23 0)
5339ee7d9b22 restartSearch
fm
parents: 8070
diff changeset
   264
                    model: restartHolder
5339ee7d9b22 restartSearch
fm
parents: 8070
diff changeset
   265
                    translateLabel: true
5339ee7d9b22 restartSearch
fm
parents: 8070
diff changeset
   266
                  )
8049
3845b02f8475 initial checkin
fm
parents:
diff changeset
   267
                 (LabelSpec
3845b02f8475 initial checkin
fm
parents:
diff changeset
   268
                    label: 'SearchBarImageInfoLabel'
3845b02f8475 initial checkin
fm
parents:
diff changeset
   269
                    name: 'SearchBarImageInfoLabel'
8078
5339ee7d9b22 restartSearch
fm
parents: 8070
diff changeset
   270
                    layout: (LayoutFrame 598 0 1 0 622 0 23 0)
8049
3845b02f8475 initial checkin
fm
parents:
diff changeset
   271
                    hasCharacterOrientedLabel: false
3845b02f8475 initial checkin
fm
parents:
diff changeset
   272
                    translateLabel: true
3845b02f8475 initial checkin
fm
parents:
diff changeset
   273
                    labelChannel: searchBarImageInfoLabelHolder
3845b02f8475 initial checkin
fm
parents:
diff changeset
   274
                  )
3845b02f8475 initial checkin
fm
parents:
diff changeset
   275
                 (LabelSpec
3845b02f8475 initial checkin
fm
parents:
diff changeset
   276
                    label: 'SearchBarInfoLabel'
3845b02f8475 initial checkin
fm
parents:
diff changeset
   277
                    name: 'SearchBarInfoLabel'
8078
5339ee7d9b22 restartSearch
fm
parents: 8070
diff changeset
   278
                    layout: (LayoutFrame 633 0 1 0 882 0 23 0)
8049
3845b02f8475 initial checkin
fm
parents:
diff changeset
   279
                    translateLabel: true
3845b02f8475 initial checkin
fm
parents:
diff changeset
   280
                    labelChannel: searchBarInfoLabelHolder
3845b02f8475 initial checkin
fm
parents:
diff changeset
   281
                    adjust: left
3845b02f8475 initial checkin
fm
parents:
diff changeset
   282
                  )
3845b02f8475 initial checkin
fm
parents:
diff changeset
   283
                 )
3845b02f8475 initial checkin
fm
parents:
diff changeset
   284
               
3845b02f8475 initial checkin
fm
parents:
diff changeset
   285
              )
3845b02f8475 initial checkin
fm
parents:
diff changeset
   286
            )
3845b02f8475 initial checkin
fm
parents:
diff changeset
   287
           )
3845b02f8475 initial checkin
fm
parents:
diff changeset
   288
         
3845b02f8475 initial checkin
fm
parents:
diff changeset
   289
        )
3845b02f8475 initial checkin
fm
parents:
diff changeset
   290
      )
3845b02f8475 initial checkin
fm
parents:
diff changeset
   291
! !
3845b02f8475 initial checkin
fm
parents:
diff changeset
   292
3845b02f8475 initial checkin
fm
parents:
diff changeset
   293
!StringSearchToolForTextView methodsFor:'accessing'!
3845b02f8475 initial checkin
fm
parents:
diff changeset
   294
3845b02f8475 initial checkin
fm
parents:
diff changeset
   295
textView
3845b02f8475 initial checkin
fm
parents:
diff changeset
   296
    ^ textView
3845b02f8475 initial checkin
fm
parents:
diff changeset
   297
!
3845b02f8475 initial checkin
fm
parents:
diff changeset
   298
3845b02f8475 initial checkin
fm
parents:
diff changeset
   299
textView:something
3845b02f8475 initial checkin
fm
parents:
diff changeset
   300
    textView := something.
3845b02f8475 initial checkin
fm
parents:
diff changeset
   301
! !
3845b02f8475 initial checkin
fm
parents:
diff changeset
   302
3845b02f8475 initial checkin
fm
parents:
diff changeset
   303
!StringSearchToolForTextView methodsFor:'aspects'!
3845b02f8475 initial checkin
fm
parents:
diff changeset
   304
8070
2acefb7023d2 changed #matchCheckboxVisible
Claus Gittinger <cg@exept.de>
parents: 8064
diff changeset
   305
matchCheckboxVisible
2acefb7023d2 changed #matchCheckboxVisible
Claus Gittinger <cg@exept.de>
parents: 8064
diff changeset
   306
    ^ true
2acefb7023d2 changed #matchCheckboxVisible
Claus Gittinger <cg@exept.de>
parents: 8064
diff changeset
   307
!
2acefb7023d2 changed #matchCheckboxVisible
Claus Gittinger <cg@exept.de>
parents: 8064
diff changeset
   308
8049
3845b02f8475 initial checkin
fm
parents:
diff changeset
   309
matchHolder
3845b02f8475 initial checkin
fm
parents:
diff changeset
   310
3845b02f8475 initial checkin
fm
parents:
diff changeset
   311
    matchHolder isNil ifTrue:[
3845b02f8475 initial checkin
fm
parents:
diff changeset
   312
        matchHolder := false asValue.
3845b02f8475 initial checkin
fm
parents:
diff changeset
   313
"/ if your app needs to be notified of changes, uncomment one of the lines below:
3845b02f8475 initial checkin
fm
parents:
diff changeset
   314
"/       matchHolder addDependent:self.
3845b02f8475 initial checkin
fm
parents:
diff changeset
   315
        matchHolder onChangeSend:#matchHolderChanged to:self.
3845b02f8475 initial checkin
fm
parents:
diff changeset
   316
3845b02f8475 initial checkin
fm
parents:
diff changeset
   317
    ].
3845b02f8475 initial checkin
fm
parents:
diff changeset
   318
    ^ matchHolder.
3845b02f8475 initial checkin
fm
parents:
diff changeset
   319
3845b02f8475 initial checkin
fm
parents:
diff changeset
   320
    "Created: / 16-06-2007 / 06:45:04 / Administrador"
3845b02f8475 initial checkin
fm
parents:
diff changeset
   321
    "Modified: / 16-06-2007 / 19:32:15 / Administrador"
3845b02f8475 initial checkin
fm
parents:
diff changeset
   322
! !
3845b02f8475 initial checkin
fm
parents:
diff changeset
   323
3845b02f8475 initial checkin
fm
parents:
diff changeset
   324
!StringSearchToolForTextView methodsFor:'change & update'!
3845b02f8475 initial checkin
fm
parents:
diff changeset
   325
3845b02f8475 initial checkin
fm
parents:
diff changeset
   326
matchHolderChanged
3845b02f8475 initial checkin
fm
parents:
diff changeset
   327
3845b02f8475 initial checkin
fm
parents:
diff changeset
   328
    self searchNextTextIncludingCurrentSelection: true.
8062
3b38e4e4d786 searchString without showing searchBar
fm
parents: 8060
diff changeset
   329
    self setFocusToSearchTextView.
8049
3845b02f8475 initial checkin
fm
parents:
diff changeset
   330
! !
3845b02f8475 initial checkin
fm
parents:
diff changeset
   331
3845b02f8475 initial checkin
fm
parents:
diff changeset
   332
!StringSearchToolForTextView methodsFor:'initialization & release'!
3845b02f8475 initial checkin
fm
parents:
diff changeset
   333
3845b02f8475 initial checkin
fm
parents:
diff changeset
   334
postBuildSearchTextView: anEditFieldView
3845b02f8475 initial checkin
fm
parents:
diff changeset
   335
3845b02f8475 initial checkin
fm
parents:
diff changeset
   336
    super postBuildSearchTextView: anEditFieldView.
3845b02f8475 initial checkin
fm
parents:
diff changeset
   337
    anEditFieldView crAction: self crAction.
3845b02f8475 initial checkin
fm
parents:
diff changeset
   338
! !
3845b02f8475 initial checkin
fm
parents:
diff changeset
   339
3845b02f8475 initial checkin
fm
parents:
diff changeset
   340
!StringSearchToolForTextView methodsFor:'public'!
3845b02f8475 initial checkin
fm
parents:
diff changeset
   341
3845b02f8475 initial checkin
fm
parents:
diff changeset
   342
crAction
3845b02f8475 initial checkin
fm
parents:
diff changeset
   343
3845b02f8475 initial checkin
fm
parents:
diff changeset
   344
    ^ [self returnFocusToTextView]
3845b02f8475 initial checkin
fm
parents:
diff changeset
   345
!
3845b02f8475 initial checkin
fm
parents:
diff changeset
   346
8085
e050190fee76 return focus and hide after pressing #Escape
fm
parents: 8079
diff changeset
   347
escapePressed
e050190fee76 return focus and hide after pressing #Escape
fm
parents: 8079
diff changeset
   348
e050190fee76 return focus and hide after pressing #Escape
fm
parents: 8079
diff changeset
   349
    self returnFocusToTextView. 
e050190fee76 return focus and hide after pressing #Escape
fm
parents: 8079
diff changeset
   350
    super escapePressed.
e050190fee76 return focus and hide after pressing #Escape
fm
parents: 8079
diff changeset
   351
!
e050190fee76 return focus and hide after pressing #Escape
fm
parents: 8079
diff changeset
   352
8049
3845b02f8475 initial checkin
fm
parents:
diff changeset
   353
returnFocusToTextView
3845b02f8475 initial checkin
fm
parents:
diff changeset
   354
3845b02f8475 initial checkin
fm
parents:
diff changeset
   355
    textView takeFocus
3845b02f8475 initial checkin
fm
parents:
diff changeset
   356
! !
3845b02f8475 initial checkin
fm
parents:
diff changeset
   357
3845b02f8475 initial checkin
fm
parents:
diff changeset
   358
!StringSearchToolForTextView methodsFor:'searching'!
3845b02f8475 initial checkin
fm
parents:
diff changeset
   359
3845b02f8475 initial checkin
fm
parents:
diff changeset
   360
hideSearchBar
3845b02f8475 initial checkin
fm
parents:
diff changeset
   361
3845b02f8475 initial checkin
fm
parents:
diff changeset
   362
    masterApplication isNil ifTrue:[^ self].
3845b02f8475 initial checkin
fm
parents:
diff changeset
   363
    masterApplication hideSearchBar.
3845b02f8475 initial checkin
fm
parents:
diff changeset
   364
    self returnFocusToTextView.
3845b02f8475 initial checkin
fm
parents:
diff changeset
   365
!
3845b02f8475 initial checkin
fm
parents:
diff changeset
   366
3845b02f8475 initial checkin
fm
parents:
diff changeset
   367
searchNextTextFromBeginning
3845b02f8475 initial checkin
fm
parents:
diff changeset
   368
    |searchText ignoreCase match absentBlock|
3845b02f8475 initial checkin
fm
parents:
diff changeset
   369
3845b02f8475 initial checkin
fm
parents:
diff changeset
   370
    searchText := searchTextView contents.
3845b02f8475 initial checkin
fm
parents:
diff changeset
   371
    searchText isEmptyOrNil ifTrue:[^self].
3845b02f8475 initial checkin
fm
parents:
diff changeset
   372
    self textView isNil ifTrue:[^ self].
3845b02f8475 initial checkin
fm
parents:
diff changeset
   373
    ignoreCase := self ignoreCaseHolder value.
3845b02f8475 initial checkin
fm
parents:
diff changeset
   374
    match := self matchHolder value.
3845b02f8475 initial checkin
fm
parents:
diff changeset
   375
    absentBlock := [self searchTextNotFound.].
3845b02f8475 initial checkin
fm
parents:
diff changeset
   376
    self textView 
3845b02f8475 initial checkin
fm
parents:
diff changeset
   377
        searchFwd:searchText 
3845b02f8475 initial checkin
fm
parents:
diff changeset
   378
        ignoreCase:ignoreCase 
3845b02f8475 initial checkin
fm
parents:
diff changeset
   379
        match: match
3845b02f8475 initial checkin
fm
parents:
diff changeset
   380
        startingAtLine:1 
3845b02f8475 initial checkin
fm
parents:
diff changeset
   381
        col:0
3845b02f8475 initial checkin
fm
parents:
diff changeset
   382
        ifAbsent:absentBlock
3845b02f8475 initial checkin
fm
parents:
diff changeset
   383
!
3845b02f8475 initial checkin
fm
parents:
diff changeset
   384
3845b02f8475 initial checkin
fm
parents:
diff changeset
   385
searchNextTextIncludingCurrentSelection: includeCurrentSelection
3845b02f8475 initial checkin
fm
parents:
diff changeset
   386
    |searchText ignoreCase  match absentBlock startCol startLine|
3845b02f8475 initial checkin
fm
parents:
diff changeset
   387
3845b02f8475 initial checkin
fm
parents:
diff changeset
   388
    self searchTextStarted.
3845b02f8475 initial checkin
fm
parents:
diff changeset
   389
    searchText := searchTextView contents.
3845b02f8475 initial checkin
fm
parents:
diff changeset
   390
    searchText isEmptyOrNil ifTrue:[^self].
3845b02f8475 initial checkin
fm
parents:
diff changeset
   391
    self textView isNil ifTrue:[^ self].
3845b02f8475 initial checkin
fm
parents:
diff changeset
   392
    ignoreCase := self ignoreCaseHolder value.
3845b02f8475 initial checkin
fm
parents:
diff changeset
   393
    match := self matchHolder value.
3845b02f8475 initial checkin
fm
parents:
diff changeset
   394
    absentBlock := [self searchNextTextReachEnd].
3845b02f8475 initial checkin
fm
parents:
diff changeset
   395
    (self textView hasSelection and:[includeCurrentSelection]) 
3845b02f8475 initial checkin
fm
parents:
diff changeset
   396
        ifTrue:[
8064
9d91d0d69b09 changed #searchNextTextIncludingCurrentSelection:
fm
parents: 8062
diff changeset
   397
            startCol := ((self textView selectionStartCol ? 1) - 2) max: 0.
8049
3845b02f8475 initial checkin
fm
parents:
diff changeset
   398
            startLine := (self textView selectionStartLine ? 1).
3845b02f8475 initial checkin
fm
parents:
diff changeset
   399
            self textView searchFwd:searchText ignoreCase:ignoreCase match: match startingAtLine:startLine col:startCol ifAbsent:absentBlock.
3845b02f8475 initial checkin
fm
parents:
diff changeset
   400
        ] ifFalse:[
3845b02f8475 initial checkin
fm
parents:
diff changeset
   401
            self textView searchFwd:searchText ignoreCase:ignoreCase match: match ifAbsent:absentBlock
3845b02f8475 initial checkin
fm
parents:
diff changeset
   402
    ].
3845b02f8475 initial checkin
fm
parents:
diff changeset
   403
!
3845b02f8475 initial checkin
fm
parents:
diff changeset
   404
3845b02f8475 initial checkin
fm
parents:
diff changeset
   405
searchPreviousText
3845b02f8475 initial checkin
fm
parents:
diff changeset
   406
3845b02f8475 initial checkin
fm
parents:
diff changeset
   407
    |searchText ignoreCase absentBlock|
3845b02f8475 initial checkin
fm
parents:
diff changeset
   408
3845b02f8475 initial checkin
fm
parents:
diff changeset
   409
    self searchTextStarted.
3845b02f8475 initial checkin
fm
parents:
diff changeset
   410
    searchText := searchTextView contents.
3845b02f8475 initial checkin
fm
parents:
diff changeset
   411
    searchText isEmptyOrNil ifTrue:[^self].
3845b02f8475 initial checkin
fm
parents:
diff changeset
   412
    ignoreCase := self ignoreCaseHolder value.
3845b02f8475 initial checkin
fm
parents:
diff changeset
   413
    self textView isNil ifTrue:[^ self].
3845b02f8475 initial checkin
fm
parents:
diff changeset
   414
    absentBlock := [self searchPreviousTextReachBeginning].
3845b02f8475 initial checkin
fm
parents:
diff changeset
   415
    self textView searchBwd:searchText ignoreCase:ignoreCase ifAbsent:absentBlock.
3845b02f8475 initial checkin
fm
parents:
diff changeset
   416
!
3845b02f8475 initial checkin
fm
parents:
diff changeset
   417
3845b02f8475 initial checkin
fm
parents:
diff changeset
   418
searchPreviousTextFromEnd
3845b02f8475 initial checkin
fm
parents:
diff changeset
   419
3845b02f8475 initial checkin
fm
parents:
diff changeset
   420
    |searchText ignoreCase absentBlock startLine startCol|
3845b02f8475 initial checkin
fm
parents:
diff changeset
   421
3845b02f8475 initial checkin
fm
parents:
diff changeset
   422
    searchText := searchTextView contents.
3845b02f8475 initial checkin
fm
parents:
diff changeset
   423
    searchText isEmptyOrNil ifTrue:[^self].
3845b02f8475 initial checkin
fm
parents:
diff changeset
   424
    ignoreCase := self ignoreCaseHolder value.
3845b02f8475 initial checkin
fm
parents:
diff changeset
   425
    self textView isNil ifTrue:[^ self].
3845b02f8475 initial checkin
fm
parents:
diff changeset
   426
    absentBlock := [self searchTextNotFound.].
3845b02f8475 initial checkin
fm
parents:
diff changeset
   427
    startLine := self textView numberOfLines + 1.
3845b02f8475 initial checkin
fm
parents:
diff changeset
   428
    startCol := 1.
3845b02f8475 initial checkin
fm
parents:
diff changeset
   429
    self textView 
3845b02f8475 initial checkin
fm
parents:
diff changeset
   430
        searchBwd:searchText 
3845b02f8475 initial checkin
fm
parents:
diff changeset
   431
        ignoreCase:ignoreCase
3845b02f8475 initial checkin
fm
parents:
diff changeset
   432
        startingAtLine:startLine 
3845b02f8475 initial checkin
fm
parents:
diff changeset
   433
        col:startCol 
3845b02f8475 initial checkin
fm
parents:
diff changeset
   434
        ifAbsent:absentBlock
3845b02f8475 initial checkin
fm
parents:
diff changeset
   435
! !
3845b02f8475 initial checkin
fm
parents:
diff changeset
   436
3845b02f8475 initial checkin
fm
parents:
diff changeset
   437
!StringSearchToolForTextView class methodsFor:'documentation'!
3845b02f8475 initial checkin
fm
parents:
diff changeset
   438
3845b02f8475 initial checkin
fm
parents:
diff changeset
   439
version
8276
43b76fabaa23 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8085
diff changeset
   440
    ^ '$Header: /cvs/stx/stx/libtool/Tools__StringSearchToolForTextView.st,v 1.9 2008-09-22 23:29:40 cg Exp $'
8049
3845b02f8475 initial checkin
fm
parents:
diff changeset
   441
! !