Tools__CodeNavigationService.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 29 Mar 2012 18:51:50 +0100
branchjv
changeset 12212 1208b3e4d64b
parent 12176 bfd7e6e00068
child 12287 400a99059170
permissions -rw-r--r--
Build files regenerated
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"
10076
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
     2
 COPYRIGHT (c) 2010 by Jan Vrany, SWING Research Group. CTU in Prague
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
     3
              All Rights Reserved
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
10076
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
     5
Permission is hereby granted, free of charge, to any person
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
     6
obtaining a copy of this software and associated documentation
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
     7
files (the 'Software'), to deal in the Software without
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
     8
restriction, including without limitation the rights to use,
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
     9
copy, modify, merge, publish, distribute, sublicense, and/or sell
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    10
copies of the Software, and to permit persons to whom the
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    11
Software is furnished to do so, subject to the following
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    12
conditions:
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    13
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    14
The above copyright notice and this permission notice shall be
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    15
included in all copies or substantial portions of the Software.
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    16
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    17
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    18
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    19
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    20
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    21
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    22
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    23
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    24
OTHER DEALINGS IN THE SOFTWARE.
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
"
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
"{ Package: 'stx:libtool' }"
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
"{ NameSpace: Tools }"
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
CodeViewService subclass:#CodeNavigationService
10361
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
    31
	instanceVariableNames:'selectorEmphasis variableEmphasis currentEmphasis linesToRedraw'
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
    32
	classVariableNames:'DefaultVariableEmphasis DefaultSelectorEmphasis'
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
	poolDictionaries:''
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
	category:'Interface-CodeView'
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
!
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
!CodeNavigationService class methodsFor:'documentation'!
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
copyright
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
"
10076
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    41
 COPYRIGHT (c) 2010 by Jan Vrany, SWING Research Group. CTU in Prague
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    42
              All Rights Reserved
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    43
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    44
Permission is hereby granted, free of charge, to any person
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    45
obtaining a copy of this software and associated documentation
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    46
files (the 'Software'), to deal in the Software without
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    47
restriction, including without limitation the rights to use,
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    48
copy, modify, merge, publish, distribute, sublicense, and/or sell
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    49
copies of the Software, and to permit persons to whom the
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    50
Software is furnished to do so, subject to the following
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    51
conditions:
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
10076
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    53
The above copyright notice and this permission notice shall be
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    54
included in all copies or substantial portions of the Software.
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    55
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    56
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    57
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    58
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    59
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    60
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    61
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    62
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
6d9055a907ff changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 9979
diff changeset
    63
OTHER DEALINGS IN THE SOFTWARE.
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
"
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
! !
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
!CodeNavigationService class methodsFor:'accessing'!
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
label
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
    "Answers short label - for UI"
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
    ^'Semi-modal Code Navigation'
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
    "Created: / 07-03-2010 / 14:00:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10412
cc7a72f29805 Fixes for debugger
vrany
parents: 10361
diff changeset
    76
!
cc7a72f29805 Fixes for debugger
vrany
parents: 10361
diff changeset
    77
cc7a72f29805 Fixes for debugger
vrany
parents: 10361
diff changeset
    78
requiredServices
cc7a72f29805 Fixes for debugger
vrany
parents: 10361
diff changeset
    79
cc7a72f29805 Fixes for debugger
vrany
parents: 10361
diff changeset
    80
    ^#(#'Tools::CodeHighlightingService')
cc7a72f29805 Fixes for debugger
vrany
parents: 10361
diff changeset
    81
cc7a72f29805 Fixes for debugger
vrany
parents: 10361
diff changeset
    82
    "Created: / 27-07-2011 / 11:40:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
! !
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
!CodeNavigationService class methodsFor:'accessing - defaults'!
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
defaultSelectorEmphasis
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
    88
    DefaultSelectorEmphasis isNil ifTrue:[
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
    89
        DefaultSelectorEmphasis :=
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
    90
             Array with:(#backgroundColor -> (Color rgbValue:16rDBEEFF))
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
    91
    ].
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
    92
    ^ DefaultSelectorEmphasis
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
    93
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
    94
    "Modified: / 21-08-2011 / 09:58:18 / cg"
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
!
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
defaultVariableEmphasis
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
    98
    DefaultVariableEmphasis isNil ifTrue:[
12166
7931598931cb Few small fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12128
diff changeset
    99
        DefaultVariableEmphasis := Array with:(#backgroundColor -> (Color redByte: 240 greenByte: 216 blueByte: 168))
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   100
    ].
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   101
    ^ DefaultVariableEmphasis
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
    "Created: / 25-06-2010 / 13:56:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   104
    "Modified: / 21-08-2011 / 11:04:20 / cg"
12166
7931598931cb Few small fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12128
diff changeset
   105
    "Modified: / 15-02-2012 / 19:38:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   106
! !
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   107
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   108
!CodeNavigationService methodsFor:'change & update'!
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   109
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   110
update: aspect with: param from: sender
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   111
    sender == textView modifiedChannel ifTrue:[
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   112
        codeView reallyModified ifTrue:[
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   113
            "/ no longer highlight - the info is wrong anyway !!
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   114
            self highlightClear.
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   115
        ].
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   116
    ].
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   117
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   118
    "JV: I changed 'halt' to 'breakPoint: #cg'"
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   119
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   120
    "Created: / 22-08-2011 / 16:22:19 / cg"
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   121
    "Modified: / 25-08-2011 / 15:10:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   122
    "Modified: / 05-09-2011 / 05:15:42 / cg"
10651
7ab02ade36e2 added: #update:with:from:
Claus Gittinger <cg@exept.de>
parents: 10631
diff changeset
   123
! !
7ab02ade36e2 added: #update:with:from:
Claus Gittinger <cg@exept.de>
parents: 10631
diff changeset
   124
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
!CodeNavigationService methodsFor:'code services'!
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   127
browseClass:class 
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   128
    self browser isNil ifTrue:[ ^ NewSystemBrowser browseClass:class ].
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
    (UserPreferences current alwaysOpenNewTabWhenCtrlClick 
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   130
        or:[ self browser navigationState modified ]) 
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   131
            ifTrue:[
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   132
                self browser 
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   133
                    spawnFullBrowserInClass:class
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   134
                    selector:nil
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   135
                    in:#newBuffer
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   136
            ]
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   137
            ifFalse:[ self browser switchToClass:class ]
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
    "Created: / 15-02-2010 / 09:36:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
    "Modified: / 25-07-2010 / 11:00:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   141
    "Modified: / 21-08-2011 / 10:07:30 / cg"
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
!
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
browser
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
    ^codeView browserHolder value
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
    "Created: / 06-03-2010 / 21:14:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
! !
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
!CodeNavigationService methodsFor:'event handling'!
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
button1Press
12171
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   154
    | node |
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
12171
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   156
    node := codeView currentParseNode.
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   157
    node isNil ifTrue:[ 
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   158
        ^ self 
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   159
    ].
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   160
    node isSelector ifTrue:[
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   161
        self button1PressForMessageNode: node.
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   162
        ^self.
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   163
    ].
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   164
    node isVariable ifTrue:[
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   165
        self button1PressForVariableNode: node.
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   166
        ^self.
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   167
    ].
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   168
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   169
    ^self.
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
    "Created: / 14-02-2010 / 18:43:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   172
    "Modified: / 18-11-2011 / 14:58:02 / cg"
12171
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   173
    "Modified: / 21-02-2012 / 14:30:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   174
!
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   175
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   176
button1PressForMessageNode: node
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   177
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   178
    ^self button1PressForSelector: node parent selector.
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   179
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   180
    "Created: / 21-02-2012 / 14:30:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
!
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
button1PressForSelector: selector
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
    | impls menu |
10254
43001ebe1490 Merged with JV's branch
vrany
parents: 10076
diff changeset
   186
    impls := codeView implementorsOf: selector.
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   187
    "/ impls size = 1 ifTrue:[^codeView browseMethod: impls anyOne].
10254
43001ebe1490 Merged with JV's branch
vrany
parents: 10076
diff changeset
   188
    menu := codeView implementorsMenu: impls selector: selector.
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
    self highlightClear.
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
    menu showAtPointer.
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
    "Created: / 14-02-2010 / 18:50:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10254
43001ebe1490 Merged with JV's branch
vrany
parents: 10076
diff changeset
   193
    "Modified: / 30-06-2011 / 19:34:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10271
44c51d135362 changed: #button1PressForSelector: bug fix
vrany
parents: 10254
diff changeset
   194
    "Modified: / 07-07-2011 / 17:16:23 / jv"
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   195
    "Modified: / 21-08-2011 / 11:06:08 / cg"
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
!
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
12171
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   198
button1PressForVariableNode: node
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   199
    | value |
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   200
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   201
    node isGlobalVariable ifTrue:[
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   202
        value := Smalltalk at: node name.
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   203
        value notNil ifTrue:[
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   204
            value isBehavior ifTrue:[
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   205
                self browseClass: value.
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   206
            ] ifFalse:[
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   207
                value inspect.
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   208
            ]
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   209
        ]
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   210
    ]
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   211
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   212
    "Created: / 21-02-2012 / 14:30:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   213
!
09f6735e294b Fixes in CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12170
diff changeset
   214
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
button2Press
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
    | sel |
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
    sel := codeView syntaxElementSelection.
12176
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12171
diff changeset
   219
    (sel notNil and:[sel node isMessage]) ifTrue:[^self button2PressForSelector: sel node selector].
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
    "Created: / 14-02-2010 / 18:43:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
12176
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12171
diff changeset
   222
    "Modified: / 08-03-2012 / 16:49:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
!
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
button2PressForSelector: selector
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
    | senders menu |
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   228
    senders := codeView sendersOf: selector.
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   229
    "/ senders size = 1 ifTrue:[ codeView browseMethod: senders anyOne. ^ self].
10254
43001ebe1490 Merged with JV's branch
vrany
parents: 10076
diff changeset
   230
    menu := codeView sendersMenu: senders selector: selector.
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
    self highlightClear.
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
    menu showAtPointer.
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
    "Created: / 14-02-2010 / 18:50:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10254
43001ebe1490 Merged with JV's branch
vrany
parents: 10076
diff changeset
   235
    "Modified: / 30-06-2011 / 19:34:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   236
    "Modified: / 21-08-2011 / 11:34:49 / cg"
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
!
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   239
buttonMotion:button x:x y:y in:view 
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
    "Handles an event in given view (a subview of codeView).
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
     If the method returns true, the event will not be processed
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   242
     by the view."
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   243
    
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   244
    (view == textView and:[ textView sensor ctrlDown ]) ifTrue:[
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   245
        self highlightElementAtX:x y:y.
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   246
        ^ true
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   247
    ].
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   248
    ^ false
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   249
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   250
    "Created: / 06-03-2010 / 20:40:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   251
    "Modified (format): / 21-08-2011 / 10:07:15 / cg"
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   252
!
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   253
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   254
buttonPress: button x:x y:y in: view
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   255
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   256
    "Handles an event in given view (a subview of codeView).
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   257
     If the method returns true, the event will not be processed
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   258
     by the view."
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   259
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   260
    (view == textView) ifTrue:[
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   261
        codeView sensor ctrlDown ifTrue:[
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   262
            button == 1      ifTrue: [self button1Press.^true].
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   263
            button == #paste ifTrue: [self button2Press.^true].   
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   264
            button == 2      ifTrue: [self button2Press.^true]
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   265
        ].
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   266
        button == 1 ifTrue:[
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   267
            self highlightVariableAtX:x y:y.
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   268
        ]
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   269
    ].
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   270
    ^false
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   271
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   272
    "Created: / 06-03-2010 / 21:12:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   273
    "Modified: / 25-06-2010 / 14:53:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   274
    "Modified (format): / 21-08-2011 / 10:06:54 / cg"
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   275
!
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   276
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   277
keyPress:key x:x y:y in:view 
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   278
    "Handles an event in given view (a subview of codeView).
10588
Claus Gittinger <cg@exept.de>
parents: 10412
diff changeset
   279
     If the method returns true, it has eaten the event and it will not be processed
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   280
     by the view."
10588
Claus Gittinger <cg@exept.de>
parents: 10412
diff changeset
   281
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   282
    |ev p|
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   283
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   284
    (view ==  textView) ifTrue:[
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   285
        (key == #'Control_L' or:[ key == #Ctrl ]) ifTrue:[
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   286
            "/ because it is delegated, the position is not correct
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   287
            ev := WindowGroup lastEventQuerySignal query.
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   288
            p := view device translatePoint:(ev x @ ev y) fromView:ev view toView:view.
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   289
            view sensor pushUserEvent:#highlightElementAtX:y: for: self withArguments:{p x. p y.}.
10588
Claus Gittinger <cg@exept.de>
parents: 10412
diff changeset
   290
            ^ true.
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   291
        ].
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   292
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   293
"/        codeView reallyModified "textView modified" ifTrue:[
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   294
"/            self highlightClear. 
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   295
"/            codeView syntaxElements: nil.
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   296
"/            ^ false
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   297
"/        ].
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   298
         (key == #CursorRight
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   299
            or:[key == #CursorDown
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   300
            or:[key == #CursorLeft
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   301
            or:[key == #CursorUp]]]) ifTrue:[   
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   302
            view sensor pushUserEvent:#highlightVariableAtCursor for:self .
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   303
        ] ifFalse:[
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   304
            view sensor pushUserEvent:#highlightClear for:self .
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   305
        ]
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   306
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   307
    ].
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   308
    ^ false
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   309
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   310
    "Created: / 06-03-2010 / 20:50:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   311
    "Modified: / 05-09-2011 / 05:17:30 / cg"
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   312
    "Modified: / 27-09-2011 / 19:24:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   313
!
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   314
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   315
keyRelease: key x:x y:y in: view
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   316
    "Handles an event in given view (a subview of codeView).
10588
Claus Gittinger <cg@exept.de>
parents: 10412
diff changeset
   317
     If the method returns true, it has eaten the event and it will not be processed
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   318
     by the view."
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   319
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   320
    |ev p|
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   321
10588
Claus Gittinger <cg@exept.de>
parents: 10412
diff changeset
   322
    (view == textView and:[key == #'Control_L' or:[key == #Ctrl]]) ifTrue:[
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   323
        "/ because it is delegated, the position is not correct
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   324
        ev := WindowGroup lastEventQuerySignal query.
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   325
        p := view device translatePoint:(ev x @ ev y) fromView:ev view toView:view.
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   326
        self highlightClear. 
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   327
"/        view sensor pushUserEvent:#highlightClear for:self. 
10588
Claus Gittinger <cg@exept.de>
parents: 10412
diff changeset
   328
        ^ true
Claus Gittinger <cg@exept.de>
parents: 10412
diff changeset
   329
    ].
Claus Gittinger <cg@exept.de>
parents: 10412
diff changeset
   330
    ^ false
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   331
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   332
    "Created: / 06-03-2010 / 21:03:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   333
    "Modified: / 21-08-2011 / 11:32:40 / cg"
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   334
!
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   335
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   336
linesDeletedFrom: start to: end
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   337
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   338
    self highlightClear
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   339
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   340
    "Created: / 06-07-2011 / 17:14:36 / jv"
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   341
    "Created: / 16-09-2011 / 15:39:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   342
!
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   343
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   344
linesInsertedFrom: start to: end
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   345
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   346
    self highlightClear
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   347
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   348
    "Created: / 06-07-2011 / 17:14:36 / jv"
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   349
    "Created: / 16-09-2011 / 15:39:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   350
!
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   351
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   352
linesModifiedFrom: start to: end
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   353
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   354
    self highlightClear
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   355
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   356
    "Created: / 06-07-2011 / 17:14:36 / jv"
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   357
    "Created: / 16-09-2011 / 15:19:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   358
! !
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   359
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   360
!CodeNavigationService methodsFor:'initialization'!
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   361
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   362
initialize
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   363
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   364
    super initialize.
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   365
    selectorEmphasis := self class defaultSelectorEmphasis.
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   366
    variableEmphasis := self class defaultVariableEmphasis.
10361
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   367
    linesToRedraw := OrderedCollection new.
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   368
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   369
    "Created: / 25-06-2010 / 14:05:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   370
! !
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   371
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   372
!CodeNavigationService methodsFor:'private'!
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   373
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   374
elementAtCursor
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   375
    ^self elementAtLine: textView cursorLine col: textView cursorCol - 1
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   376
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   377
    "Created: / 25-06-2010 / 14:39:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   378
!
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   379
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   380
elementAtLine:line col:colArg 
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   381
    |characterPosition index element col|
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   382
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   383
    "/ if beyond end of line, do not advance into next line
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   384
    col := colArg min:(textView listAt:line) size.
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   385
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   386
    characterPosition := textView characterPositionOfLine:line col:col.
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   387
    index := SortedCollection binarySearch: (codeView syntaxElements) forIndexOf: characterPosition.
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   388
    index > (codeView syntaxElements) size ifTrue:[^nil].
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   389
    element := (codeView syntaxElements) at:index ifAbsent:nil.
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   390
    element notNil ifTrue:[
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   391
        (characterPosition between: element start - 1 and: element stop) ifTrue:[^element].
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   392
    ].
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   393
    ^nil
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   394
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   395
    "Created: / 25-06-2010 / 14:40:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   396
    "Modified: / 21-08-2011 / 11:03:29 / cg"
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   397
    "Modified: / 16-09-2011 / 17:04:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   398
!
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   399
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   400
elementAtX:x y:y 
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   401
    |visibleLine line col|
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   402
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   403
    codeView syntaxElements isNil ifTrue:[^nil].
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   404
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   405
    visibleLine := textView visibleLineOfY:y.
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   406
    col := textView colOfX:x inVisibleLine:visibleLine.
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   407
    line := textView visibleLineToAbsoluteLine:visibleLine.
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   408
    ^self elementAtLine:line col:col
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   409
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   410
    "Created: / 25-06-2010 / 14:52:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   411
    "Modified: / 01-08-2010 / 08:50:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   412
    "Modified: / 21-08-2011 / 10:26:08 / cg"
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   413
!
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   414
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   415
foo
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   416
|characterPosition index element |
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   417
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   418
characterPosition := 1
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   419
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   420
    "Created: / 21-08-2011 / 10:48:05 / cg"
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   421
!
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   422
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   423
highlighEmphasisFor: element
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   424
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   425
    element isNil ifTrue:[^nil].
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   426
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   427
    element isSelector ifTrue:[^selectorEmphasis].
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   428
    element isVariable ifTrue:[^variableEmphasis].
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   429
    element isSelf     ifTrue:[^variableEmphasis].
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   430
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   431
    ^nil
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   432
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   433
    "Created: / 25-06-2010 / 13:54:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   434
    "Modified: / 18-11-2011 / 14:58:05 / cg"
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   435
!
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   436
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   437
highlightClear
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   438
10361
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   439
    ^self highlightClear: true.
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   440
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   441
    "Modified: / 26-12-2007 / 12:28:05 / janfrog"
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   442
    "Created: / 25-06-2010 / 14:15:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10276
068f02c67fd7 changed:
Claus Gittinger <cg@exept.de>
parents: 10271
diff changeset
   443
    "Modified: / 08-07-2011 / 08:50:45 / cg"
10361
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   444
    "Modified: / 20-07-2011 / 18:52:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   445
!
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   446
10361
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   447
highlightClear: redraw
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   448
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   449
    codeView syntaxElementSelection == nil ifTrue:[ ^ self ].
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   450
    textView list isNil ifTrue:[ ^ self ].
10361
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   451
    textView list withIndexDo:[:line :lineNo | 
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   452
        line isText ifTrue:[ 
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   453
            (line hasEmphasis: currentEmphasis) ifTrue:[
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   454
                line emphasisAllRemove:currentEmphasis.
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   455
                linesToRedraw add: lineNo.
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   456
            ]
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   457
        ] 
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   458
    ].
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   459
    codeView syntaxElementSelection:nil.
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   460
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   461
    redraw ifTrue:[self redrawLines].
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   462
10361
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   463
    "Modified: / 26-12-2007 / 12:28:05 / janfrog"
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   464
    "Created: / 20-07-2011 / 18:52:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   465
    "Modified: / 18-11-2011 / 14:58:08 / cg"
10361
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   466
!
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   467
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   468
highlightElement:element 
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   469
    |e|
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   470
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   471
    codeView syntaxElementSelection == element ifTrue:[ ^ self ]. "/ no change
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   472
    codeView syntaxElementSelection notNil ifTrue:[
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   473
        self highlightClear: false.
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   474
    ].
12123
4bde08cebd48 trunk branched into /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10878
diff changeset
   475
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   476
    currentEmphasis := self highlighEmphasisFor:element.
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   477
    element notNil ifTrue:[ 
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   478
        codeView syntaxElementSelection:element.
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   479
        e := element firstElementInChain.
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   480
        [ e notNil ] whileTrue:[ 
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   481
            self highlightWithoutClearFrom:e start to:e stop.
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   482
            e := e nextElement 
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   483
        ].
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   484
    ].
10361
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   485
    self redrawLines.
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   486
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   487
    "Created: / 14-02-2010 / 16:18:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10361
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   488
    "Modified: / 20-07-2011 / 18:52:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   489
    "Modified: / 21-08-2011 / 10:22:58 / cg"
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   490
!
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   491
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   492
highlightElementAtCursor
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   493
    self highlightElementAtLine: textView cursorLine col: textView cursorCol
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   494
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   495
    "Created: / 14-02-2010 / 16:17:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   496
    "Modified: / 06-03-2010 / 19:59:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   497
!
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   498
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   499
highlightElementAtLine:line col:col 
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   500
    |characterPosition index element |
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   501
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   502
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   503
    characterPosition := textView characterPositionOfLine:line col:col.
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   504
    index := SortedCollection binarySearch: (codeView syntaxElements) forIndexOf: characterPosition.
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   505
    index > (codeView syntaxElements) size ifTrue:[^self highlightElement: nil].
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   506
    element := (codeView syntaxElements) at: index.
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   507
    (characterPosition between: element start and: element stop) ifFalse:[^self highlightElement: nil].
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   508
    self highlightElement:element
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   509
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   510
    "Created: / 14-02-2010 / 16:17:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   511
    "Modified: / 01-08-2010 / 08:50:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   512
!
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   513
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   514
highlightElementAtX:x y:y 
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   515
    |visibleLine line col|
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   516
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   517
    codeView syntaxElements isNil ifTrue:[^self].
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   518
    visibleLine := textView visibleLineOfY:y.
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   519
    col := textView colOfX:x inVisibleLine:visibleLine.
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   520
    line := textView visibleLineToAbsoluteLine:visibleLine.
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   521
    self highlightElementAtLine:line col:col
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   522
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   523
    "Created: / 14-02-2010 / 16:12:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   524
    "Modified: / 06-03-2010 / 20:06:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   525
    "Modified: / 21-08-2011 / 10:22:10 / cg"
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   526
!
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   527
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   528
highlightElementOrNil:e
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   529
    e notNil ifTrue:[
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   530
        "/ cg: only if selected !!
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   531
        "/ self halt.
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   532
        self highlightElement:e.
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   533
    ] ifFalse:[
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   534
        self highlightClear
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   535
    ].
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   536
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   537
    "Created: / 25-06-2010 / 14:52:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   538
    "Created: / 21-08-2011 / 09:56:39 / cg"
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   539
!
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   540
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   541
highlightLine:lineNo fromLine:startLine col:endLine toLine:startCol col:endCol
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   542
    |line start end|
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   543
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   544
    (lineNo between:startLine and:endLine) ifFalse:[
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   545
        ^ self
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   546
    ].
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   547
    line := textView listAt:lineNo.
10291
af5825474e18 changed: #highlightLine:fromLine:col:toLine:col:
Claus Gittinger <cg@exept.de>
parents: 10276
diff changeset
   548
    line isEmpty ifTrue:[^self].
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   549
    start := lineNo = startLine ifTrue:[
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   550
                startCol
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   551
            ] ifFalse:[
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   552
                line indexOfNonSeparator
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   553
            ].
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   554
    end := lineNo = endLine ifTrue:[
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   555
                endCol
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   556
            ] ifFalse:[ line size ].
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   557
    line 
10291
af5825474e18 changed: #highlightLine:fromLine:col:toLine:col:
Claus Gittinger <cg@exept.de>
parents: 10276
diff changeset
   558
        emphasisFrom:(start max: 1)
af5825474e18 changed: #highlightLine:fromLine:col:toLine:col:
Claus Gittinger <cg@exept.de>
parents: 10276
diff changeset
   559
        to:(end min: line size)
10361
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   560
        add: currentEmphasis.
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   561
    linesToRedraw add: lineNo.
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   562
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   563
    "Created: / 25-06-2010 / 14:15:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10291
af5825474e18 changed: #highlightLine:fromLine:col:toLine:col:
Claus Gittinger <cg@exept.de>
parents: 10276
diff changeset
   564
    "Modified: / 08-07-2011 / 13:02:51 / cg"
10361
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   565
    "Modified: / 20-07-2011 / 18:43:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   566
!
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   567
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   568
highlightVariable:e 
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   569
    (e notNil and:[ e isVariableOrSelf ]) ifTrue:[
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   570
        self highlightElement:e.
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   571
    ] ifFalse:[
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   572
        self highlightClear.
10361
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   573
    ].
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   574
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   575
    "Modified: / 20-07-2011 / 18:54:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   576
    "Modified: / 21-08-2011 / 09:39:42 / cg"
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   577
!
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   578
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   579
highlightVariableAtCursor
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   580
    self highlightElementOrNil:(self elementAtCursor)
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   581
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   582
    "Modified: / 25-06-2010 / 14:53:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   583
    "Modified: / 21-08-2011 / 09:56:56 / cg"
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   584
!
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   585
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   586
highlightVariableAtX:x y:y 
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   587
    self highlightElementOrNil:(self elementAtX:x y:y).
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   588
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   589
    "Created: / 25-06-2010 / 14:52:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   590
    "Modified: / 21-08-2011 / 10:24:50 / cg"
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   591
!
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   592
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   593
highlightWithoutClearFrom: start to: end
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   594
    "Remove underlined emphasis"
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   595
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   596
    |startLine startCol endLine endCol|
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   597
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   598
    startLine := textView lineOfCharacterPosition:start.
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   599
    startCol := start - (textView characterPositionOfLine:startLine col:1) + 1.
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   600
    endLine := textView lineOfCharacterPosition:end.
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   601
    endCol := end - (textView characterPositionOfLine:endLine col:1) + 1.
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   602
    self highlightWithoutClearFromLine: startLine col: startCol toLine: endLine col: endCol
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   603
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   604
    "Created: / 25-06-2010 / 14:15:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   605
!
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   606
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   607
highlightWithoutClearFromLine: startLine col: startCol toLine: endLine col: endCol 
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   608
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   609
    textView list keysAndValuesDo:
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   610
        [:lineNo :line|
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   611
        |start end|
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   612
        line isText ifTrue:
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   613
            [self highlightLine: lineNo fromLine: startLine col: endLine toLine: startCol col: endCol]].
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   614
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   615
    "Created: / 25-06-2010 / 14:15:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   616
! !
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   617
10361
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   618
!CodeNavigationService methodsFor:'redrawing'!
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   619
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   620
redrawLines
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   621
    linesToRedraw do:[:lineNo|
10588
Claus Gittinger <cg@exept.de>
parents: 10412
diff changeset
   622
        textView invalidateLine: lineNo.
10361
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   623
    ].
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   624
    linesToRedraw := OrderedCollection new: 1
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   625
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   626
    "Created: / 20-07-2011 / 18:45:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10588
Claus Gittinger <cg@exept.de>
parents: 10412
diff changeset
   627
    "Modified (format): / 18-08-2011 / 16:01:34 / cg"
10361
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   628
! !
1443a20ddac2 Navigation redrawing optimized a bit...
vrany
parents: 10291
diff changeset
   629
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   630
!CodeNavigationService class methodsFor:'documentation'!
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   631
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   632
version_CVS
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   633
    ^ '§Header: /cvs/stx/stx/libtool/Tools__CodeNavigationService.st,v 1.16 2011/11/18 14:06:42 cg Exp §'
9979
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   634
!
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   635
00b306851c88 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   636
version_SVN
12176
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12171
diff changeset
   637
    ^ '$Id: Tools__CodeNavigationService.st 7920 2012-03-08 18:25:58Z vranyj1 $'
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   638
! !