Tools__CodeView2.st
author Jan Vrany <jan.vrany@labware.com>
Wed, 05 Oct 2022 11:57:26 +0100
branchjv
changeset 19637 28f5bfaa093d
parent 19633 ee1da7ec153a
permissions -rw-r--r--
`NewSystemBrowser`: avoid updating package info when changed class is not selected This speeds up loading of packages when browser is open as it does not (needlessly) update package info which may involve scm round-trip.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"
10072
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
     2
 COPYRIGHT (c) 2010 by Jan Vrany, SWING Research Group. CTU in Prague
18226
346376844040 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17998
diff changeset
     3
 COPYRIGHT (c) 2015-2018 Jan Vrany
19633
ee1da7ec153a `CodeView2`: fix "senders" menu
Jan Vrany <jan.vrany@labware.com>
parents: 19614
diff changeset
     4
 COPYRIGHT (c) 2021-2022 LabWare
10072
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
     5
              All Rights Reserved
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
     6
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
     7
Permission is hereby granted, free of charge, to any person
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
     8
obtaining a copy of this software and associated documentation
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
     9
files (the 'Software'), to deal in the Software without
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    10
restriction, including without limitation the rights to use,
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    11
copy, modify, merge, publish, distribute, sublicense, and/or sell
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    12
copies of the Software, and to permit persons to whom the
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    13
Software is furnished to do so, subject to the following
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    14
conditions:
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    15
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    16
The above copyright notice and this permission notice shall be
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    17
included in all copies or substantial portions of the Software.
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    18
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    19
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    20
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    21
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    22
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    23
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    24
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    25
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    26
OTHER DEALINGS IN THE SOFTWARE.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
"{ Package: 'stx:libtool' }"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
"{ NameSpace: Tools }"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
SimpleView subclass:#CodeView2
15130
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    33
	instanceVariableNames:'gutterView textView textViewScroller methodHolder languageHolder
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    34
		classHolder browserHolder codeAspect modifiedChannel
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    35
		showGutterChannel showAcceptCancelBarChannel modeHolder services
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    36
		servicesFromClient syntaxElements currentParseNodeHolder
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    37
		currentBlockNodeHolder syntaxElementSelection highlightEmphasis
19608
98f7cba0ce8c Theming: add support for theming navigation service's styles
Jan Vrany <jan.vrany@labware.com>
parents: 19604
diff changeset
    38
		diffMode synchronizedCodeViews theme'
15130
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    39
	classVariableNames:'TraceSelectors'
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    40
	poolDictionaries:''
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    41
	category:'Interface-CodeView'
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
14986
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
    44
AbstractBackground subclass:#AnnotationShowingScrollerBackground
16890
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
    45
	instanceVariableNames:'annotations breakpoints textView'
15130
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    46
	classVariableNames:''
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    47
	poolDictionaries:''
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    48
	privateIn:CodeView2
14986
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
    49
!
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
    50
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
SimpleView subclass:#GutterView
15130
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    52
	instanceVariableNames:'codeView textView textViewScroller widthAcceptCancel
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    53
		widthAnnotations widthDiffInfo numberOfLines acceptColor
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    54
		cancelColor diffColor menuHolder currentBlockNodeHolder
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    55
		showLineNumbers blockWaitingForPossibleDoubleClick'
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    56
	classVariableNames:''
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    57
	poolDictionaries:''
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    58
	privateIn:CodeView2
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
CodeView subclass:#TextView
15130
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    62
	instanceVariableNames:'listOriginal codeView gutterView diffMode deletedLines
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    63
		insertedLines lastFirstLine changedLines scrollInProgress
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    64
		originDiffText emptyLines changedDiffText suppressNotifications
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    65
		reallyModifiedChannel'
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    66
	classVariableNames:''
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    67
	poolDictionaries:''
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    68
	privateIn:CodeView2
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
!CodeView2 class methodsFor:'documentation'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
copyright
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
"
10072
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    75
 COPYRIGHT (c) 2010 by Jan Vrany, SWING Research Group. CTU in Prague
18226
346376844040 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17998
diff changeset
    76
 COPYRIGHT (c) 2015-2018 Jan Vrany
19633
ee1da7ec153a `CodeView2`: fix "senders" menu
Jan Vrany <jan.vrany@labware.com>
parents: 19614
diff changeset
    77
 COPYRIGHT (c) 2021-2022 LabWare
10072
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    78
              All Rights Reserved
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    79
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    80
Permission is hereby granted, free of charge, to any person
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    81
obtaining a copy of this software and associated documentation
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    82
files (the 'Software'), to deal in the Software without
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    83
restriction, including without limitation the rights to use,
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    84
copy, modify, merge, publish, distribute, sublicense, and/or sell
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    85
copies of the Software, and to permit persons to whom the
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    86
Software is furnished to do so, subject to the following
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    87
conditions:
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    88
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    89
The above copyright notice and this permission notice shall be
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    90
included in all copies or substantial portions of the Software.
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    91
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    92
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    93
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    94
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    95
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    96
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    97
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    98
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    99
OTHER DEALINGS IN THE SOFTWARE.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
!CodeView2 class methodsFor:'initialization'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
initialize
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
    "Invoked at system start or when the class is dynamically loaded."
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
    "/ please change as required (and remove this comment)
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
    TraceSelectors := IdentitySet new.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
    "Modified: / 14-02-2010 / 15:36:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
!CodeView2 class methodsFor:'debugging'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
trace: aSelector
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
    TraceSelectors add: aSelector
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
    "Created: / 14-02-2010 / 09:26:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
untrace: aSelector
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
    TraceSelectors remove: aSelector ifAbsent:[]
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
    "Created: / 14-02-2010 / 09:50:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
untraceAll
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
    TraceSelectors := IdentitySet new
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
    "Created: / 14-02-2010 / 09:53:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
!CodeView2 class methodsFor:'examples'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
example1
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
    | window codeView |
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
    window := StandardSystemView new.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
    window extent: 300 @ 300.              
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
    window label: 'CodeView2 example1'.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
    codeView := Tools::CodeView2 in: window.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
    codeView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
        origin: 0.1 @ 0.1
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
        corner: 0.9 @ 0.9.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
    window open.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
    "Created: / 02-09-2009 / 21:48:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
!CodeView2 class methodsFor:'menu specs'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
10293
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   162
debugMenu
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   163
    "This resource specification was automatically generated
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   164
     by the MenuEditor of ST/X."
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   165
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   166
    "Do not manually edit this!! If it is corrupted,
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   167
     the MenuEditor may not be able to read the specification."
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   168
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   169
    "
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   170
     MenuEditor new openOnClass:Tools::CodeView2 andSelector:#editMenu_stxStyle
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   171
     (Menu new fromLiteralArrayEncoding:(Tools::CodeView2 editMenu_stxStyle)) startUp
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   172
    "
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   173
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   174
    <resource: #menu>
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   175
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   176
    ^ 
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   177
     #(Menu
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   178
              (
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   179
               (MenuItem
16613
4e8ed0268ad4 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16607
diff changeset
   180
                  label: 'Inspect View'
10293
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   181
                  itemValue: inspectView
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   182
                  translateLabel: true
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   183
                )
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   184
               (MenuItem
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   185
                  label: 'Inspect Syntax Elements'
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   186
                  itemValue: inspectSyntaxElements
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   187
                  translateLabel: true
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   188
                )
16613
4e8ed0268ad4 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16607
diff changeset
   189
"/               (MenuItem
4e8ed0268ad4 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16607
diff changeset
   190
"/                  label: 'Inspect Selected Selector'
4e8ed0268ad4 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16607
diff changeset
   191
"/                  itemValue: inspectSelectedSelector
4e8ed0268ad4 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16607
diff changeset
   192
"/                  translateLabel: true
4e8ed0268ad4 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16607
diff changeset
   193
"/                )
10293
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   194
               )
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   195
              nil
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   196
              nil
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   197
            )
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   198
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   199
    "Created: / 08-07-2011 / 13:36:02 / cg"
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   200
!
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   201
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
editMenu
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
    "This resource specification was automatically generated
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
     by the MenuEditor of ST/X."
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
    "Do not manually edit this!! If it is corrupted,
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
     the MenuEditor may not be able to read the specification."
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
    "
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
     MenuEditor new openOnClass:Tools::CodeView2 andSelector:#editMenu
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
     (Menu new fromLiteralArrayEncoding:(Tools::CodeView2 editMenu)) startUp
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   212
    "
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   214
    UserPreferences current eclipseStyleMenus ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   215
        ^ self editMenu_eclipseStyle
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   216
    ].
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   217
    ^ self editMenu_stxStyle
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   218
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   219
    "Modified: / 08-07-2011 / 13:23:35 / cg"
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   220
!
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   221
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   222
editMenu_eclipseStyle
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   223
    "This resource specification was automatically generated
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   224
     by the MenuEditor of ST/X."
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   225
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   226
    "Do not manually edit this!! If it is corrupted,
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   227
     the MenuEditor may not be able to read the specification."
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   228
11311
15a2965ceba2 changed:
Claus Gittinger <cg@exept.de>
parents: 11241
diff changeset
   229
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   230
    "
11311
15a2965ceba2 changed:
Claus Gittinger <cg@exept.de>
parents: 11241
diff changeset
   231
     MenuEditor new openOnClass:Tools::CodeView2 andSelector:#editMenu_eclipseStyle
15a2965ceba2 changed:
Claus Gittinger <cg@exept.de>
parents: 11241
diff changeset
   232
     (Menu new fromLiteralArrayEncoding:(Tools::CodeView2 editMenu_eclipseStyle)) startUp
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   233
    "
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   234
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   235
    <resource: #menu>
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   236
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   237
    ^ 
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
     #(Menu
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   239
        (
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   240
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   241
            label: 'Implementors...'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   242
            itemValue: browseImplementorsOfIt
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   243
            isVisible: hasLanguageToolbox
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   244
            submenuChannel: implementorsMenu
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   245
            shortcutKey: ImplementorsOfIt
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   246
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   247
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   248
            label: 'Senders...'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   249
            itemValue: browseSendersOfIt
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   250
            isVisible: hasLanguageToolbox
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   251
            submenuChannel: sendersMenu
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   252
            shortcutKey: SendersOfIt
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   253
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   254
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   255
            label: 'Refactor'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   256
            nameKey: refactor
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   257
            isVisible: false
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   258
            shortcutKey: Shift
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   259
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   260
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   261
            label: '-'
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   262
            isVisible: hasLanguage
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   263
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   264
         (MenuItem
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   265
            enabled: canAccept
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   266
            label: 'Accept'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   267
            itemValue: accept
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   268
            isVisible: isNotReadOnly
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   269
            shortcutKey: Accept
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   270
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   271
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   272
            label: '-'
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   273
            isVisible: isNotReadOnly
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   274
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   275
         (MenuItem
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   276
            enabled: canCut
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   277
            label: 'Cut'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   278
            itemValue: cut
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   279
            isVisible: isNotReadOnly
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   280
            shortcutKey: Cut
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   281
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   282
         (MenuItem
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   283
            enabled: hasSelectionForCopy
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   284
            label: 'Copy'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   285
            itemValue: copySelection
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   286
            isVisible: true
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   287
            shortcutKey: Copy
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   288
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   289
         (MenuItem
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   290
            enabled: isNotReadOnly
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   291
            label: 'Paste'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   292
            itemValue: pasteOrReplace
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   293
            isVisible: isNotReadOnly
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   294
            shortcutKey: Paste
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   295
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   296
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   297
            label: '-'
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   298
            isVisible: isNotReadOnly
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   299
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   300
         (MenuItem
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   301
            enabled: hasUndoAction
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   302
            label: 'Undo'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   303
            itemValue: undo
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   304
            isVisible: isNotReadOnly
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   305
            shortcutKey: Undo
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   306
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   307
         (MenuItem
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   308
            enabled: hasRedoAction
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   309
            label: 'Redo'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   310
            itemValue: redo
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   311
            isVisible: isNotReadOnly
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   312
            shortcutKey: Redo
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   313
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   314
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   315
            label: '-'
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   316
            isVisible: true
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   317
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   318
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   319
            label: 'Do it'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   320
            itemValue: doIt
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   321
            isVisible: true
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   322
            shortcutKey: DoIt
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   323
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   324
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   325
            label: 'Print it'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   326
            itemValue: printIt
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   327
            isVisible: true
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   328
            shortcutKey: PrintIt
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   329
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   330
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   331
            label: 'Inspect it'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   332
            itemValue: inspectIt
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   333
            isVisible: true
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   334
            shortcutKey: InspectIt
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   335
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   336
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   337
            label: 'Profile it'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   338
            itemValue: profileIt
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   339
            isVisible: true
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   340
            shortcutKey: InspectIt
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   341
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   342
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   343
            label: '-'
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   344
            isVisible: true
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   345
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   346
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   347
            label: 'Show Gutter'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   348
            nameKey: ShowGutter
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   349
            isVisible: true
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   350
            indication: showGutterChannel
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   351
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   352
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   353
            label: 'More'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   354
            nameKey: More
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   355
            isVisible: true
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   356
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   357
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   358
            label: 'Services'
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   359
            isVisible: true
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   360
            submenuChannel: servicesMenu
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   361
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   362
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   363
            label: 'Debug'
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   364
            isVisible: true
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   365
            submenuChannel: debugMenu
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   366
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   367
         )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   368
        nil
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   369
        nil
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   370
      )
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   371
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   372
    "Modified: / 06-02-2018 / 20:09:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   373
!
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   374
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   375
editMenu_stxStyle
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   376
    "This resource specification was automatically generated
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   377
     by the MenuEditor of ST/X."
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   378
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   379
    "Do not manually edit this!! If it is corrupted,
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   380
     the MenuEditor may not be able to read the specification."
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   381
11241
e3d6bdc7a790 changed: #editMenu_stxStyle
Claus Gittinger <cg@exept.de>
parents: 11220
diff changeset
   382
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   383
    "
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   384
     MenuEditor new openOnClass:Tools::CodeView2 andSelector:#editMenu_stxStyle
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   385
     (Menu new fromLiteralArrayEncoding:(Tools::CodeView2 editMenu_stxStyle)) startUp
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   386
    "
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   387
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   388
    <resource: #menu>
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   389
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   390
    ^ 
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   391
     #(Menu
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   392
        (
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   393
         (MenuItem
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   394
            enabled: hasUndoAction
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   395
            label: 'Undo'
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   396
            itemValue: undo
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   397
            isVisible: isNotReadOnly
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   398
            shortcutKey: Undo
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   399
          )
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   400
         (MenuItem
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   401
            enabled: canDoAgain
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   402
            label: 'Again'
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   403
            itemValue: again
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   404
            isVisible: true
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   405
            shortcutKey: Again
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   406
          )
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   407
         (MenuItem
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   408
            label: '-'
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   409
            isVisible: true
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   410
          )
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   411
         (MenuItem
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   412
            enabled: canCut
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   413
            label: 'Cut'
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   414
            itemValue: cut
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   415
            isVisible: isNotReadOnly
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   416
            shortcutKey: Cut
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   417
          )
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   418
         (MenuItem
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   419
            enabled: hasSelectionForCopy
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   420
            label: 'Copy'
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   421
            itemValue: copySelection
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   422
            isVisible: true
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   423
            shortcutKey: Copy
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   424
          )
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   425
         (MenuItem
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   426
            label: 'Paste'
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   427
            itemValue: pasteOrReplace
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   428
            isVisible: isNotReadOnly
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   429
            shortcutKey: Paste
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   430
          )
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   431
         (MenuItem
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   432
            label: '-'
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   433
            isVisible: true
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   434
          )
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   435
         (MenuItem
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   436
            label: 'DoIt'
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   437
            itemValue: doIt
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   438
            isVisible: true
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   439
            shortcutKey: DoIt
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   440
          )
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   441
         (MenuItem
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   442
            label: 'PrintIt'
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   443
            itemValue: printIt
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   444
            isVisible: true
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   445
            shortcutKey: PrintIt
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   446
          )
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   447
         (MenuItem
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   448
            label: 'InspectIt'
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   449
            itemValue: inspectIt
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   450
            isVisible: true
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   451
            shortcutKey: InspectIt
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   452
          )
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   453
         (MenuItem
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   454
            label: '-'
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   455
            isVisible: true
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   456
          )
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   457
         (MenuItem
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   458
            enabled: canAccept
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   459
            label: 'Accept'
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   460
            itemValue: accept
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   461
            isVisible: isNotReadOnly
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   462
            shortcutKey: Accept
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   463
          )
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   464
         (MenuItem
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   465
            label: '-'
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   466
            isVisible: isNotReadOnly
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   467
          )
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   468
         (MenuItem
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   469
            label: 'Refactor'
11311
15a2965ceba2 changed:
Claus Gittinger <cg@exept.de>
parents: 11241
diff changeset
   470
            nameKey: refactor
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   471
            isVisible: false
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   472
            shortcutKey: Shift
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   473
          )
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   474
         (MenuItem
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   475
            label: 'Services'
11241
e3d6bdc7a790 changed: #editMenu_stxStyle
Claus Gittinger <cg@exept.de>
parents: 11220
diff changeset
   476
            isVisible: false
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   477
            submenuChannel: servicesMenu
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   478
          )
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   479
         (MenuItem
11353
5cb468550ad2 changed: #editMenu_stxStyle
Claus Gittinger <cg@exept.de>
parents: 11311
diff changeset
   480
            label: '='
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   481
            isVisible: true
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   482
          )
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   483
         (MenuItem
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   484
            label: 'More'
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   485
            nameKey: More
17998
04e977f44a35 `CodeView2`: do not who menu items related to editing when view is read-only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17763
diff changeset
   486
            isVisible: true
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   487
            shortcutKey: Ctrl
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   488
          )
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   489
         )
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   490
        nil
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   491
        nil
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   492
      )
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   493
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   494
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   495
!CodeView2 methodsFor:'accessing'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   496
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   497
acceptAction:aBlock
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   498
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   499
    textView acceptAction: aBlock
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   500
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   501
    "Modified: / 01-08-2010 / 20:40:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   502
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   503
16968
db7d639de0e8 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 16910
diff changeset
   504
acceptEnabled:aBoolean
db7d639de0e8 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 16910
diff changeset
   505
db7d639de0e8 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 16910
diff changeset
   506
    textView acceptEnabled:aBoolean
db7d639de0e8 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 16910
diff changeset
   507
!
db7d639de0e8 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 16910
diff changeset
   508
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
   509
breakpoints
13097
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
   510
    |s|
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
   511
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
   512
    (s := self breakpointService) notNil ifTrue:[
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
   513
        ^ s breakpoints
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
   514
    ].
10767
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
   515
    ^ nil
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
   516
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
   517
    "Created: / 06-07-2011 / 18:05:35 / jv"
10767
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
   518
    "Modified: / 06-10-2011 / 14:13:53 / cg"
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
   519
!
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
   520
10245
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
   521
browser
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
   522
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
   523
    ^self browserHolder value
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
   524
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
   525
    "Created: / 07-07-2011 / 12:25:59 / Jan Vrany <jan.vrant@fit.cvut,cz>"
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
   526
!
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
   527
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   528
codeAspect
13587
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
   529
    ^ textView codeAspect
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
   530
11706
06ad80a28e48 comment/format in:
Claus Gittinger <cg@exept.de>
parents: 11616
diff changeset
   531
    "Modified: / 27-07-2012 / 22:22:27 / cg"
13587
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
   532
    "Modified: / 27-09-2013 / 10:01:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   533
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   534
13587
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
   535
codeAspect: aSymbol
14638
7c401f3a4d9b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14632
diff changeset
   536
    "tell the textView what is shown, so it can adjust the
7c401f3a4d9b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14632
diff changeset
   537
     syntaxhighlighter.
7c401f3a4d9b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14632
diff changeset
   538
     See SyntaxHighlighter codeAspectXXX for possible aspects."
7c401f3a4d9b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14632
diff changeset
   539
13587
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
   540
    ^ textView codeAspect: aSymbol
11706
06ad80a28e48 comment/format in:
Claus Gittinger <cg@exept.de>
parents: 11616
diff changeset
   541
06ad80a28e48 comment/format in:
Claus Gittinger <cg@exept.de>
parents: 11616
diff changeset
   542
    "Modified: / 27-07-2012 / 22:32:19 / cg"
13587
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
   543
    "Modified: / 27-09-2013 / 10:01:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   544
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   545
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   546
compilerClass
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   547
    ^textView compilerClass
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   548
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   549
    "Created: / 10-05-2012 / 23:47:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   550
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   551
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   552
compilerClass: aClass
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   553
    textView compilerClass: aClass
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   554
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   555
    "Created: / 10-05-2012 / 23:47:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   556
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   557
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   558
contents
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   559
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   560
    ^textView contents
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   561
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   562
    "Created: / 14-02-2010 / 22:13:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   563
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   564
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   565
contents: aStringOrStringCollection
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   566
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   567
    textView contents: aStringOrStringCollection.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   568
    "/self update:#value with: aStringOrStringCollection from: textView model
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   569
10330
212b120c198f Improvements in diffing tools
vrany
parents: 10326
diff changeset
   570
    "Modified: / 19-07-2011 / 13:18:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   571
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   572
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   573
contents: aStringOrStringCollection clear: clearPrevious
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   574
    "Set the contents. If clearPrevous is true, then
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   575
     previous original text is cleared and set to given one.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   576
     (so the text is considered not modified)"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   577
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   578
    textView contents: aStringOrStringCollection clear: clearPrevious
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   579
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   580
    "Modified: / 19-07-2011 / 13:18:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   581
    "Created: / 17-02-2012 / 00:33:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   582
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   583
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   584
currentParseNode
14101
ee267ce43178 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14057
diff changeset
   585
    |sel|
ee267ce43178 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14057
diff changeset
   586
ee267ce43178 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14057
diff changeset
   587
    sel := self syntaxElementSelection.
ee267ce43178 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14057
diff changeset
   588
    sel isNil ifTrue:[^ nil].
ee267ce43178 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14057
diff changeset
   589
    ^ sel node
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   590
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   591
    "Created: / 21-02-2012 / 14:20:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
14057
94bd4556cf5d Fixes in CodeNavigationService - semi-modal navigation should work again.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14050
diff changeset
   592
    "Modified: / 25-02-2014 / 22:06:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   593
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   594
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   595
delegate: anObject
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   596
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   597
    super delegate: anObject.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   598
    self textView delegate: anObject.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   599
    self gutterView delegate: anObject.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   600
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   601
    "Created: / 11-05-2012 / 10:29:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   602
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   603
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   604
diffMode
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   605
    ^ diffMode
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   606
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   607
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   608
diffMode:aBoolean
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   609
    diffMode := aBoolean.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   610
    textView diffMode: aBoolean
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   611
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   612
    "Modified: / 08-04-2011 / 20:50:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   613
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   614
14194
efb533b63fee Tools::CodeView2>>#editedLanguage:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14145
diff changeset
   615
editedLanguage: aProgrammingLanguage
efb533b63fee Tools::CodeView2>>#editedLanguage:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14145
diff changeset
   616
    self languageHolder value: aProgrammingLanguage
efb533b63fee Tools::CodeView2>>#editedLanguage:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14145
diff changeset
   617
efb533b63fee Tools::CodeView2>>#editedLanguage:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14145
diff changeset
   618
    "Created: / 09-04-2014 / 14:49:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
efb533b63fee Tools::CodeView2>>#editedLanguage:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14145
diff changeset
   619
!
efb533b63fee Tools::CodeView2>>#editedLanguage:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14145
diff changeset
   620
12914
fbab25348919 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12905
diff changeset
   621
editedMethodOrClass:aMethodOrClass
12950
990f530e57c5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12914
diff changeset
   622
    textView editedMethodOrClass:aMethodOrClass.
990f530e57c5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12914
diff changeset
   623
    aMethodOrClass isBehavior ifFalse:[
990f530e57c5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12914
diff changeset
   624
        self methodHolder value:aMethodOrClass
990f530e57c5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12914
diff changeset
   625
    ].
12914
fbab25348919 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12905
diff changeset
   626
!
fbab25348919 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12905
diff changeset
   627
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   628
font
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   629
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   630
    ^textView font
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   631
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   632
    "Created: / 16-02-2010 / 10:26:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   633
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   634
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   635
font: aFont
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   636
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   637
    ^textView font: aFont
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   638
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   639
    "Created: / 16-02-2010 / 10:26:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   640
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   641
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   642
mode
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   643
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   644
    ^self modeHolder value
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   645
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   646
    "Created: / 13-06-2011 / 10:49:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   647
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   648
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   649
mode: aSymbol
11706
06ad80a28e48 comment/format in:
Claus Gittinger <cg@exept.de>
parents: 11616
diff changeset
   650
    "is this the same as codeAspect ?"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   651
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   652
    self assert: (#(expression method) includes: aSymbol).    
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   653
    
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   654
    ^self modeHolder value: aSymbol
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   655
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   656
    "Created: / 13-06-2011 / 10:50:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   657
    "Modified: / 15-06-2011 / 16:37:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
11706
06ad80a28e48 comment/format in:
Claus Gittinger <cg@exept.de>
parents: 11616
diff changeset
   658
    "Modified (comment): / 27-07-2012 / 22:19:49 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   659
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   660
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   661
model
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   662
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   663
    ^textView model.
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   664
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   665
    "Created: / 27-07-2011 / 12:47:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   666
!
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   667
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   668
model: aValueModel
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   669
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   670
    |oldValue newValue|
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   671
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   672
    textView model notNil ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   673
        oldValue := textView model value.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   674
        textView model removeDependent:self.
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   675
    ].
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   676
    textView model: aValueModel.
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   677
    textView model notNil ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   678
        textView model addDependent:self.
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   679
    ].
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   680
    newValue := textView model value.
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   681
    oldValue ~~ newValue ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   682
        self update:#value with:newValue from:textView model.
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   683
    ].
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   684
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   685
    "Modified: / 17-03-2012 / 16:11:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   686
!
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   687
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   688
modified
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   689
    "return true if text was modified"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   690
10245
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
   691
    ^ self modifiedChannel value
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
   692
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
   693
    "Modified: / 07-07-2011 / 12:15:43 / Jan Vrany <jan.vrant@fit.cvut,cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   694
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   695
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   696
modified:aBoolean
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   697
    "set/clear the modified flag"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   698
10245
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
   699
    self modifiedChannel value:aBoolean
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
   700
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
   701
    "Modified: / 14-02-1997 / 16:44:05 / cg"
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
   702
    "Modified: / 07-07-2011 / 12:15:39 / Jan Vrany <jan.vrant@fit.cvut,cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   703
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   704
10487
8865d5a3c200 SmallLint UI improvements
vrany
parents: 10465
diff changeset
   705
services
10767
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
   706
    ^ services ? #()
10487
8865d5a3c200 SmallLint UI improvements
vrany
parents: 10465
diff changeset
   707
8865d5a3c200 SmallLint UI improvements
vrany
parents: 10465
diff changeset
   708
    "Created: / 05-08-2011 / 10:14:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10767
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
   709
    "Modified (format): / 06-10-2011 / 14:11:11 / cg"
10487
8865d5a3c200 SmallLint UI improvements
vrany
parents: 10465
diff changeset
   710
!
8865d5a3c200 SmallLint UI improvements
vrany
parents: 10465
diff changeset
   711
10755
3cc7a80e9d58 added: #services:
Claus Gittinger <cg@exept.de>
parents: 10731
diff changeset
   712
services:aCollectionOfServices
3cc7a80e9d58 added: #services:
Claus Gittinger <cg@exept.de>
parents: 10731
diff changeset
   713
    "allow setting of the services (instances);
3cc7a80e9d58 added: #services:
Claus Gittinger <cg@exept.de>
parents: 10731
diff changeset
   714
     this is needed for FileBrowser, to setup a codeView2 without Smalltalk-specific
3cc7a80e9d58 added: #services:
Claus Gittinger <cg@exept.de>
parents: 10731
diff changeset
   715
     services"
3cc7a80e9d58 added: #services:
Claus Gittinger <cg@exept.de>
parents: 10731
diff changeset
   716
14495
2507816f2ee1 Fix in Tools::CodeView2>>#services: - when setting services
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14492
diff changeset
   717
    services notEmptyOrNil ifTrue:[ 
2507816f2ee1 Fix in Tools::CodeView2>>#services: - when setting services
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14492
diff changeset
   718
        services do:[:service | service unregister ].
2507816f2ee1 Fix in Tools::CodeView2>>#services: - when setting services
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14492
diff changeset
   719
        services := #().
2507816f2ee1 Fix in Tools::CodeView2>>#services: - when setting services
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14492
diff changeset
   720
    ].
10767
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
   721
    servicesFromClient := true.
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
   722
    services := aCollectionOfServices.
14495
2507816f2ee1 Fix in Tools::CodeView2>>#services: - when setting services
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14492
diff changeset
   723
    services notEmptyOrNil ifTrue:[ 
2507816f2ee1 Fix in Tools::CodeView2>>#services: - when setting services
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14492
diff changeset
   724
        services do:[:service | service registerIn: self ].
2507816f2ee1 Fix in Tools::CodeView2>>#services: - when setting services
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14492
diff changeset
   725
    ].
10767
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
   726
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
   727
    "Created: / 06-10-2011 / 14:15:36 / cg"
14495
2507816f2ee1 Fix in Tools::CodeView2>>#services: - when setting services
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14492
diff changeset
   728
    "Modified: / 13-06-2014 / 14:12:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10755
3cc7a80e9d58 added: #services:
Claus Gittinger <cg@exept.de>
parents: 10731
diff changeset
   729
!
3cc7a80e9d58 added: #services:
Claus Gittinger <cg@exept.de>
parents: 10731
diff changeset
   730
14519
47d5751883ab Added Tools::CodeView2>>#servicesFromClient
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14511
diff changeset
   731
servicesFromClient
47d5751883ab Added Tools::CodeView2>>#servicesFromClient
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14511
diff changeset
   732
    ^ servicesFromClient ? false
47d5751883ab Added Tools::CodeView2>>#servicesFromClient
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14511
diff changeset
   733
47d5751883ab Added Tools::CodeView2>>#servicesFromClient
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14511
diff changeset
   734
    "Modified: / 17-06-2014 / 10:22:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
47d5751883ab Added Tools::CodeView2>>#servicesFromClient
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14511
diff changeset
   735
!
47d5751883ab Added Tools::CodeView2>>#servicesFromClient
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14511
diff changeset
   736
10793
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
   737
showAcceptCancelBar
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
   738
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
   739
    ^showAcceptCancelBarChannel value
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
   740
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
   741
    "Created: / 10-10-2011 / 16:25:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
   742
!
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
   743
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   744
showGutter
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   745
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   746
    ^showGutterChannel value
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   747
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   748
    "Created: / 23-06-2010 / 19:37:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   749
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   750
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   751
synchronizeWith: aCodeView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   752
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   753
    self assert: aCodeView ~= self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   754
    (synchronizedCodeViews includes: aCodeView) ifTrue:[^self].    
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   755
    synchronizedCodeViews := synchronizedCodeViews copyWith: aCodeView.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   756
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   757
    "Created: / 06-04-2010 / 14:13:14 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   758
    "Modified: / 23-06-2010 / 17:01:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   759
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   760
19608
98f7cba0ce8c Theming: add support for theming navigation service's styles
Jan Vrany <jan.vrany@labware.com>
parents: 19604
diff changeset
   761
theme
98f7cba0ce8c Theming: add support for theming navigation service's styles
Jan Vrany <jan.vrany@labware.com>
parents: 19604
diff changeset
   762
    ^ theme
98f7cba0ce8c Theming: add support for theming navigation service's styles
Jan Vrany <jan.vrany@labware.com>
parents: 19604
diff changeset
   763
98f7cba0ce8c Theming: add support for theming navigation service's styles
Jan Vrany <jan.vrany@labware.com>
parents: 19604
diff changeset
   764
    "Created: / 15-09-2021 / 21:15:01 / Jan Vrany <jan.vrany@labware.com>"
98f7cba0ce8c Theming: add support for theming navigation service's styles
Jan Vrany <jan.vrany@labware.com>
parents: 19604
diff changeset
   765
!
98f7cba0ce8c Theming: add support for theming navigation service's styles
Jan Vrany <jan.vrany@labware.com>
parents: 19604
diff changeset
   766
98f7cba0ce8c Theming: add support for theming navigation service's styles
Jan Vrany <jan.vrany@labware.com>
parents: 19604
diff changeset
   767
theme: aCodeViewTheme
98f7cba0ce8c Theming: add support for theming navigation service's styles
Jan Vrany <jan.vrany@labware.com>
parents: 19604
diff changeset
   768
    theme := aCodeViewTheme
98f7cba0ce8c Theming: add support for theming navigation service's styles
Jan Vrany <jan.vrany@labware.com>
parents: 19604
diff changeset
   769
98f7cba0ce8c Theming: add support for theming navigation service's styles
Jan Vrany <jan.vrany@labware.com>
parents: 19604
diff changeset
   770
    "Created: / 15-09-2021 / 21:15:15 / Jan Vrany <jan.vrany@labware.com>"
98f7cba0ce8c Theming: add support for theming navigation service's styles
Jan Vrany <jan.vrany@labware.com>
parents: 19604
diff changeset
   771
!
98f7cba0ce8c Theming: add support for theming navigation service's styles
Jan Vrany <jan.vrany@labware.com>
parents: 19604
diff changeset
   772
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   773
unsynchronizeWith: aCodeView
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   774
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   775
    self assert: aCodeView ~= self.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   776
    (synchronizedCodeViews includes: aCodeView) ifFalse:[^self].
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   777
    synchronizedCodeViews := synchronizedCodeViews copyWithout: aCodeView.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   778
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   779
    "Created: / 06-04-2010 / 14:13:14 / Jakub <zelenja7@fel.cvut.cz>"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   780
    "Modified: / 23-06-2010 / 17:01:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   781
    "Created: / 19-03-2012 / 14:25:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   782
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   783
14050
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   784
!CodeView2 methodsFor:'accessing-behavior'!
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   785
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   786
readOnly:aBoolean
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   787
    "ignored here; present for compatibility with some textView subclasses,
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   788
     so that UIPainter can handle it in its TextView spec (which contains a
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   789
     readOnly field)"
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   790
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   791
    super readOnly:aBoolean.
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   792
    textView readOnly: aBoolean. 
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   793
    gutterView readOnly: aBoolean.
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   794
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   795
    "Created: / 21-02-2014 / 11:45:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   796
! !
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   797
14005
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
   798
!CodeView2 methodsFor:'accessing-code component'!
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   799
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   800
klass
15377
96011e799f1a class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15361
diff changeset
   801
    "the class or the class of the method being shown."
96011e799f1a class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15361
diff changeset
   802
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   803
    | v |
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   804
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   805
    (v := self classHolder value) notNil ifTrue:[^v].
13199
8ad41afc0022 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13165
diff changeset
   806
    (v := self method) notNil ifTrue:[^v mclass].
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   807
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   808
    ^nil
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   809
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   810
    "Created: / 27-07-2011 / 13:14:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13199
8ad41afc0022 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13165
diff changeset
   811
    "Modified: / 22-07-2013 / 13:34:05 / cg"
14005
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
   812
!
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   813
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   814
klass: aClass
15377
96011e799f1a class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15361
diff changeset
   815
    "the class or the class of the method being shown"
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   816
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   817
    "Created: / 27-07-2011 / 13:13:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   818
!
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   819
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   820
language
15377
96011e799f1a class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15361
diff changeset
   821
    "return the value in 'languageHolder', the programmingLanguage of the class
96011e799f1a class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15361
diff changeset
   822
     or method being shown.
96011e799f1a class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15361
diff changeset
   823
     BAD name: confusion with the national language.
96011e799f1a class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15361
diff changeset
   824
     why not call this 'programmingLanguage' ?"
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   825
15826
faa2d1d06728 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15788
diff changeset
   826
    | v m c |
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   827
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   828
    (v := self languageHolder value) notNil ifTrue:[^v].
15826
faa2d1d06728 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15788
diff changeset
   829
    (m := self method) notNil ifTrue:[^m programmingLanguage].
faa2d1d06728 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15788
diff changeset
   830
    (c := self classHolder value) notNil ifTrue:[^c programmingLanguage].
faa2d1d06728 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15788
diff changeset
   831
faa2d1d06728 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15788
diff changeset
   832
    "/No, no default language, please (for workspaces, etc.).
10967
8c142eff5641 No highlighting by default (either method or language must be set)
vrany
parents: 10877
diff changeset
   833
    "/^SmalltalkLanguage instance
8c142eff5641 No highlighting by default (either method or language must be set)
vrany
parents: 10877
diff changeset
   834
    ^nil
8c142eff5641 No highlighting by default (either method or language must be set)
vrany
parents: 10877
diff changeset
   835
8c142eff5641 No highlighting by default (either method or language must be set)
vrany
parents: 10877
diff changeset
   836
    "Modified: / 07-12-2011 / 16:38:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13199
8ad41afc0022 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13165
diff changeset
   837
    "Modified: / 22-07-2013 / 13:34:17 / cg"
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   838
!
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   839
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   840
language: newValue
15377
96011e799f1a class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15361
diff changeset
   841
    "set the value in 'languageHolder', the programmingLanguage of the class
96011e799f1a class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15361
diff changeset
   842
     or method being shown.
96011e799f1a class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15361
diff changeset
   843
     BAD name: confusion with the national language.
96011e799f1a class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15361
diff changeset
   844
     why not call this 'programmingLanguage' ?"
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   845
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   846
    self languageHolder value: newValue
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   847
!
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   848
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   849
method
15377
96011e799f1a class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15361
diff changeset
   850
    "the method being shown, or nil"
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   851
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   852
    ^self methodHolder value
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   853
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   854
    "Created: / 27-07-2011 / 13:12:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   855
!
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   856
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   857
method: aMethod
15377
96011e799f1a class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15361
diff changeset
   858
    "the method being shown, or nil"
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   859
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   860
    ^self methodHolder value: aMethod
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   861
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   862
    "Created: / 27-07-2011 / 13:12:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   863
! !
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   864
15875
Claus Gittinger <cg@exept.de>
parents: 15826
diff changeset
   865
!CodeView2 methodsFor:'accessing-look'!
Claus Gittinger <cg@exept.de>
parents: 15826
diff changeset
   866
Claus Gittinger <cg@exept.de>
parents: 15826
diff changeset
   867
backgroundColor:aColor
Claus Gittinger <cg@exept.de>
parents: 15826
diff changeset
   868
    textView backgroundColor:aColor
Claus Gittinger <cg@exept.de>
parents: 15826
diff changeset
   869
!
Claus Gittinger <cg@exept.de>
parents: 15826
diff changeset
   870
Claus Gittinger <cg@exept.de>
parents: 15826
diff changeset
   871
viewBackground:newViewBackground
Claus Gittinger <cg@exept.de>
parents: 15826
diff changeset
   872
    textView viewBackground:newViewBackground
Claus Gittinger <cg@exept.de>
parents: 15826
diff changeset
   873
! !
Claus Gittinger <cg@exept.de>
parents: 15826
diff changeset
   874
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   875
!CodeView2 methodsFor:'aspects'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   876
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   877
browserHolder
10877
1ed55c34722d changed:
Claus Gittinger <cg@exept.de>
parents: 10844
diff changeset
   878
    browserHolder isNil ifTrue:[
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   879
        browserHolder := ValueHolder new
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   880
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   881
    ^browserHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   882
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   883
    "Modified: / 14-02-2010 / 19:27:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10877
1ed55c34722d changed:
Claus Gittinger <cg@exept.de>
parents: 10844
diff changeset
   884
    "Modified: / 18-11-2011 / 14:58:15 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   885
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   886
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   887
browserHolder:aValueModel
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   888
    browserHolder := aValueModel.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   889
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   890
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   891
classHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   892
    "return/create the 'classHolder' value holder (automatically generated)"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   893
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   894
    classHolder isNil ifTrue:[
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   895
        classHolder := ValueHolder with: nil.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   896
        classHolder addDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   897
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   898
    ^ classHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   899
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   900
    "Modified: / 27-07-2011 / 13:15:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   901
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   902
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   903
classHolder:aValueModel
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   904
    "set the 'classHolder' value holder (automatically generated)"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   905
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   906
    |old oldValue newValue|
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   907
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   908
    classHolder notNil ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   909
        oldValue := classHolder value.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   910
        classHolder removeDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   911
    ].
14521
6625c6f46bf3 Fixed stupid bug in CodeVIew2>>classHolder: - send correct old classHolder with change.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14520
diff changeset
   912
    old := classHolder.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   913
    classHolder := aValueModel.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   914
    classHolder notNil ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   915
        classHolder addDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   916
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   917
    newValue := classHolder value.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   918
    oldValue ~~ newValue ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   919
        self update:#value with:newValue from:classHolder.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   920
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   921
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   922
    self changed: #classHolder with: old -> classHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   923
14521
6625c6f46bf3 Fixed stupid bug in CodeVIew2>>classHolder: - send correct old classHolder with change.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14520
diff changeset
   924
    "Modified: / 17-06-2014 / 13:10:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   925
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   926
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   927
currentBlockNodeHolder
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   928
    "return/create the 'currentBlockNodeHolder' value holder (automatically generated)"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   929
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   930
    currentBlockNodeHolder isNil ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   931
        currentBlockNodeHolder := ValueHolder new.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   932
    ].
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   933
    ^ currentBlockNodeHolder
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   934
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   935
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   936
currentBlockNodeHolder:something
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   937
    "set the 'currentBlockNodeHolder' value holder (automatically generated)"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   938
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   939
    currentBlockNodeHolder := something.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   940
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   941
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   942
currentParseNodeHolder
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   943
    "return/create the 'currentParseNodeHolder' value holder (automatically generated)"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   944
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   945
    currentParseNodeHolder isNil ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   946
        currentParseNodeHolder := ValueHolder new.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   947
    ].
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   948
    ^ currentParseNodeHolder
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   949
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   950
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   951
currentParseNodeHolder:something
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   952
    "set the 'currentParseNodeHolder' value holder (automatically generated)"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   953
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   954
    currentParseNodeHolder := something.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   955
    gutterView notNil ifTrue:[ gutterView currentBlockNodeHolder: currentBlockNodeHolder ].
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   956
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   957
    "Modified: / 16-02-2012 / 23:11:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   958
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   959
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   960
languageHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   961
    languageHolder isNil ifTrue:[
17039
8ba8072d1b4f #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16968
diff changeset
   962
        "/ cg: I don't like the smalltalk default here, because everyone who is not showing ST-code (expecco, filebrowser etc.)
10723
e9f1e0dad878 changed: #languageHolder
Claus Gittinger <cg@exept.de>
parents: 10722
diff changeset
   963
        "/ has to explicitely clear the valueholder. I guess, it is better for the few
e9f1e0dad878 changed: #languageHolder
Claus Gittinger <cg@exept.de>
parents: 10722
diff changeset
   964
        "/ others to explicitely set it, if they do not provide syntaxHighlighter per method
e9f1e0dad878 changed: #languageHolder
Claus Gittinger <cg@exept.de>
parents: 10722
diff changeset
   965
        "/ or class.
e9f1e0dad878 changed: #languageHolder
Claus Gittinger <cg@exept.de>
parents: 10722
diff changeset
   966
        languageHolder := ValueHolder with: nil "SmalltalkLanguage instance".
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   967
        languageHolder addDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   968
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   969
    ^ languageHolder
10723
e9f1e0dad878 changed: #languageHolder
Claus Gittinger <cg@exept.de>
parents: 10722
diff changeset
   970
11616
c23e4a5d3384 added: #unregisterService:
Claus Gittinger <cg@exept.de>
parents: 11606
diff changeset
   971
    "Modified: / 19-07-2012 / 16:51:04 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   972
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   973
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   974
languageHolder:aValueModel
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   975
    "set the 'languageHolder' value holder (automatically generated)"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   976
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   977
    |old oldValue newValue|
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   978
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   979
    languageHolder notNil ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   980
        oldValue := languageHolder value.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   981
        languageHolder removeDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   982
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   983
    languageHolder := aValueModel.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   984
    languageHolder notNil ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   985
        languageHolder addDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   986
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   987
    old := languageHolder.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   988
    newValue := languageHolder value.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   989
    oldValue ~~ newValue ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   990
        self update:#value with:newValue from:languageHolder.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   991
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   992
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   993
    self changed: #languageHolder with: old -> languageHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   994
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   995
    "Modified: / 17-06-2011 / 12:56:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
11616
c23e4a5d3384 added: #unregisterService:
Claus Gittinger <cg@exept.de>
parents: 11606
diff changeset
   996
    "Modified: / 19-07-2012 / 16:51:08 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   997
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   998
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   999
methodHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1000
    "return/create the 'methodHolder' value holder (automatically generated)"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1001
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1002
    methodHolder isNil ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1003
        methodHolder := ValueHolder new.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1004
        methodHolder addDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1005
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1006
    ^ methodHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1007
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1008
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1009
methodHolder:aValueModel
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1010
    "set the 'methodHolder' value holder (automatically generated)"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1011
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1012
    |old oldValue newValue|
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1013
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1014
    methodHolder notNil ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1015
        oldValue := methodHolder value.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1016
        methodHolder removeDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1017
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1018
    old := methodHolder.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1019
    methodHolder := aValueModel.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1020
    methodHolder notNil ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1021
        methodHolder addDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1022
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1023
    newValue := methodHolder value.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1024
    oldValue ~~ newValue ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1025
        self update:#value with:newValue from:methodHolder.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1026
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1027
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1028
    self changed: #methodHolder with: old -> methodHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1029
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1030
    "Modified: / 17-06-2011 / 12:55:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1031
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1032
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1033
modeHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1034
    "return/create the 'modeHolder' value holder (automatically generated)"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1035
11706
06ad80a28e48 comment/format in:
Claus Gittinger <cg@exept.de>
parents: 11616
diff changeset
  1036
    "is this the codeAspect?"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1037
    modeHolder isNil ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1038
        modeHolder := #expression asValue.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1039
        modeHolder addDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1040
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1041
    ^ modeHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1042
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1043
    "Modified: / 13-06-2011 / 10:52:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
11706
06ad80a28e48 comment/format in:
Claus Gittinger <cg@exept.de>
parents: 11616
diff changeset
  1044
    "Modified (comment): / 27-07-2012 / 22:22:19 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1045
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1046
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1047
modeHolder:something
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1048
    "set the 'modeHolder' value holder (automatically generated)"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1049
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1050
    |oldValue newValue|
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1051
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1052
    modeHolder notNil ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1053
        oldValue := modeHolder value.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1054
        modeHolder removeDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1055
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1056
    modeHolder := something.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1057
    modeHolder notNil ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1058
        modeHolder addDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1059
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1060
    newValue := modeHolder value.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1061
    oldValue ~~ newValue ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1062
        self update:#value with:newValue from:modeHolder.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1063
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1064
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1065
    self changed: #modeHolder with: modeHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1066
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1067
    "Modified: / 17-06-2011 / 12:55:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1068
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1069
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1070
!CodeView2 methodsFor:'change & update'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1071
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1072
update:aspect with:param from:sender
13587
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
  1073
    sender == methodHolder ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1074
        textView editedMethodOrClass: methodHolder value.
13587
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
  1075
    ].
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
  1076
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
  1077
    sender == classHolder ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1078
        methodHolder value isNil ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1079
            textView editedMethodOrClass: classHolder value.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1080
        ].
13587
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
  1081
    ].
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
  1082
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
  1083
    sender == languageHolder ifTrue:[
15826
faa2d1d06728 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15788
diff changeset
  1084
        "/ languageHolder value class == Workflow::ExecutionEditorShellScript::Shell_Language ifTrue:[self halt].
faa2d1d06728 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15788
diff changeset
  1085
        "/ languageHolder value  == Workflow::ExecutionEditorShellScript::Shell_Language ifTrue:[self halt].
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1086
        textView editedLanguage: languageHolder value.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1087
    ].
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1088
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1089
    sender == modeHolder ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1090
        codeAspect := modeHolder value
13587
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
  1091
    ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1092
10245
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1093
    sender == showGutterChannel ifTrue: [
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1094
        self updateGutterVisibility.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1095
        ^self.
10245
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1096
    ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1097
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1098
    services do:[:each |
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1099
        each isEnabled ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1100
            each update:aspect with:param from:sender
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1101
        ]
10662
4d67f850e4f7 comment/format in: #update:with:from:
Claus Gittinger <cg@exept.de>
parents: 10630
diff changeset
  1102
    ].
16607
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  1103
    "/ self updateScrollersViewBackground.
16577
57afbd99e827 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16557
diff changeset
  1104
    
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1105
    super update:aspect with:param from:sender
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1106
10245
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1107
    "Modified: / 07-07-2011 / 12:07:04 / Jan Vrany <jan.vrant@fit.cvut,cz>"
10767
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
  1108
    "Modified: / 06-10-2011 / 14:14:36 / cg"
13587
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
  1109
    "Modified: / 27-09-2013 / 10:16:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1110
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1111
12950
990f530e57c5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12914
diff changeset
  1112
updateGutter
990f530e57c5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12914
diff changeset
  1113
990f530e57c5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12914
diff changeset
  1114
    self showGutterChannel value ifTrue:[        
990f530e57c5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12914
diff changeset
  1115
        gutterView invalidate.
990f530e57c5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12914
diff changeset
  1116
    ]
990f530e57c5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12914
diff changeset
  1117
990f530e57c5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12914
diff changeset
  1118
    "Created: / 23-06-2010 / 19:05:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
990f530e57c5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12914
diff changeset
  1119
!
990f530e57c5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12914
diff changeset
  1120
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1121
updateGutterVisibility
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1122
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1123
    self showGutterChannel value ifTrue:[        
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1124
        textViewScroller origin:(gutterView width @ 0.0) corner:(1.0 @ 1.0).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1125
        gutterView beVisible.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1126
    ] ifFalse:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1127
        textViewScroller origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1128
        gutterView beInvisible.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1129
    ]
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1130
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1131
    "Created: / 23-06-2010 / 19:05:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
14986
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  1132
!
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  1133
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  1134
updateScrollersViewBackground
16577
57afbd99e827 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16557
diff changeset
  1135
    "this changes the scroller's background, to show the positions of
57afbd99e827 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16557
diff changeset
  1136
     warnings, for easy location of interesting spots"
57afbd99e827 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16557
diff changeset
  1137
     
16910
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1138
    |allAnnotations allBreakpoints scroller newBackground verticalScrollBar|
14986
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  1139
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  1140
    allAnnotations := OrderedCollection new.
16890
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  1141
    allBreakpoints := OrderedCollection new.
14986
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  1142
    services do:[:eachService |
16890
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  1143
        allAnnotations addAll:(eachService annotations ? #()).
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  1144
        eachService isBreakpointService ifTrue:[
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  1145
            allBreakpoints addAll:(eachService breakpoints ? #()).
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  1146
        ].    
14986
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  1147
    ].
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  1148
16910
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1149
    verticalScrollBar := textViewScroller verticalScrollBar.
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1150
    verticalScrollBar notNil ifTrue:[
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1151
        scroller := verticalScrollBar thumb.
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1152
    ].
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1153
16890
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  1154
    (allAnnotations isEmpty and:[allBreakpoints isEmpty]) ifTrue:[
16577
57afbd99e827 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16557
diff changeset
  1155
        "/ nothing special to show
16910
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1156
        scroller notNil ifTrue:[
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1157
            scroller viewBackground isColor ifTrue:[^ self].
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1158
            scroller initStyle
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1159
        ].
14986
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  1160
    ] ifFalse:[
16577
57afbd99e827 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16557
diff changeset
  1161
        "/ yep, there are some annotations
16890
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  1162
        newBackground := AnnotationShowingScrollerBackground new.
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  1163
        newBackground textView:textView.
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  1164
        newBackground annotations:allAnnotations; breakpoints:allBreakpoints.
16910
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1165
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1166
        scroller notNil ifTrue:[
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1167
            scroller viewBackground:newBackground.
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1168
        ].
16577
57afbd99e827 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16557
diff changeset
  1169
    ].
16910
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1170
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1171
    scroller notNil ifTrue:[
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1172
        scroller invalidate.
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1173
    ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1174
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1175
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1176
!CodeView2 methodsFor:'channels'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1177
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1178
modifiedChannel
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1179
    "return the valueHolder holding true if text was modified"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1180
10245
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1181
    ^ textView modifiedChannel
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1182
"/    ^ modifiedChannel
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1183
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1184
    "Modified: / 07-07-2011 / 12:07:26 / Jan Vrany <jan.vrant@fit.cvut,cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1185
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1186
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1187
modifiedChannel:aValueHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1188
    "set the valueHolder holding true if text was modified"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1189
10662
4d67f850e4f7 comment/format in: #update:with:from:
Claus Gittinger <cg@exept.de>
parents: 10630
diff changeset
  1190
    textView modifiedChannel removeDependent:self.
4d67f850e4f7 comment/format in: #update:with:from:
Claus Gittinger <cg@exept.de>
parents: 10630
diff changeset
  1191
    textView modifiedChannel:aValueHolder.
4d67f850e4f7 comment/format in: #update:with:from:
Claus Gittinger <cg@exept.de>
parents: 10630
diff changeset
  1192
    textView modifiedChannel addDependent:self.
10245
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1193
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1194
"/    |prev|
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1195
"/
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1196
"/    prev := modifiedChannel.
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1197
"/    modifiedChannel := aValueHolder.
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1198
"/    self setupChannel:aValueHolder for:nil withOld:prev
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1199
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1200
    "Created: / 30-01-1998 / 14:51:32 / cg"
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1201
    "Modified: / 07-07-2011 / 12:07:43 / Jan Vrany <jan.vrant@fit.cvut,cz>"
10662
4d67f850e4f7 comment/format in: #update:with:from:
Claus Gittinger <cg@exept.de>
parents: 10630
diff changeset
  1202
    "Modified: / 05-09-2011 / 05:13:27 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1203
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1204
10785
vrany
parents: 10784
diff changeset
  1205
reallyModifiedChannel
vrany
parents: 10784
diff changeset
  1206
    "return the valueHolder holding true if text was modified"
vrany
parents: 10784
diff changeset
  1207
vrany
parents: 10784
diff changeset
  1208
    ^ textView reallyModifiedChannel
vrany
parents: 10784
diff changeset
  1209
vrany
parents: 10784
diff changeset
  1210
    "Modified: / 07-07-2011 / 12:07:26 / Jan Vrany <jan.vrant@fit.cvut,cz>"
vrany
parents: 10784
diff changeset
  1211
    "Created: / 08-10-2011 / 12:47:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
vrany
parents: 10784
diff changeset
  1212
!
vrany
parents: 10784
diff changeset
  1213
vrany
parents: 10784
diff changeset
  1214
reallyModifiedChannel: aValueModel
vrany
parents: 10784
diff changeset
  1215
vrany
parents: 10784
diff changeset
  1216
    ^ textView reallyModifiedChannel: aValueModel
vrany
parents: 10784
diff changeset
  1217
vrany
parents: 10784
diff changeset
  1218
    "Modified: / 07-07-2011 / 12:07:26 / Jan Vrany <jan.vrant@fit.cvut,cz>"
vrany
parents: 10784
diff changeset
  1219
    "Created: / 08-10-2011 / 12:47:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
vrany
parents: 10784
diff changeset
  1220
!
vrany
parents: 10784
diff changeset
  1221
10793
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1222
showAcceptCancelBarChannel
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1223
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1224
    ^showAcceptCancelBarChannel
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1225
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1226
    "Created: / 10-10-2011 / 16:23:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1227
!
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1228
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1229
showAcceptCancelBarChannel:aValueHolder
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1230
    "set the valueHolder holding true if text was modified"
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1231
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1232
    |prev|
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1233
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1234
    prev := showAcceptCancelBarChannel.
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1235
    showAcceptCancelBarChannel := aValueHolder.
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1236
    self setupChannel:aValueHolder for:nil withOld:prev.
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1237
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1238
    "Created: / 10-10-2011 / 16:24:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1239
!
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1240
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1241
showGutterChannel
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1242
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1243
    ^showGutterChannel
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1244
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1245
    "Created: / 23-06-2010 / 19:02:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1246
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1247
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1248
showGutterChannel:aValueHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1249
    "set the valueHolder holding true if text was modified"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1250
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1251
    |prev|
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1252
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1253
    prev := showGutterChannel.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1254
    showGutterChannel := aValueHolder.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1255
    self setupChannel:aValueHolder for:nil withOld:prev
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1256
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1257
    "Created: / 23-06-2010 / 19:03:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1258
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1259
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1260
!CodeView2 methodsFor:'code services'!
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1261
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1262
browseMethod: method
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1263
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1264
    self browseMethod: method label: nil.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1265
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1266
    "Created: / 14-02-2010 / 19:41:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1267
!
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1268
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1269
browseMethod: method label: label
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1270
10877
1ed55c34722d changed:
Claus Gittinger <cg@exept.de>
parents: 10844
diff changeset
  1271
    self browser isNil ifTrue: [^NewSystemBrowser openInMethod:method].
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1272
    (UserPreferences current alwaysOpenNewTabWhenCtrlClick 
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1273
        or:[self browser navigationState modified])  
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1274
        ifTrue:
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1275
            [self browser 
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1276
                spawnFullBrowserInClass: method mclass 
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1277
                selector:method selector 
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1278
                in:#newBuffer]
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1279
        ifFalse:
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1280
            [self browser 
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1281
                switchToClass: method containingClass 
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1282
                selector: method selector].
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1283
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1284
    "Modified: / 19-02-2008 / 10:15:17 / janfrog"
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1285
    "Created: / 19-10-2008 / 08:16:17 / Jan Vrany <vranyj1@fel.cvut.cz>"
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1286
    "Modified: / 25-07-2010 / 13:34:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10877
1ed55c34722d changed:
Claus Gittinger <cg@exept.de>
parents: 10844
diff changeset
  1287
    "Modified: / 18-11-2011 / 14:58:12 / cg"
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1288
!
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1289
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1290
browseMethods: methods label: label
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1291
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1292
    methods size = 1 ifTrue:
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1293
        [^self browseMethod: methods anyOne label: label].
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1294
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1295
    self browser 
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1296
        ifNil: [NewSystemBrowser browseMethods: methods title: label]
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1297
        ifNotNil:[self browser spawnMethodBrowserFor:methods in:#newBuffer label:label]
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1298
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1299
    "Created: / 26-12-2007 / 11:32:04 / janfrog"
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1300
    "Modified: / 19-10-2008 / 08:17:28 / Jan Vrany <vranyj1@fel.cvut.cz>"
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1301
!
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1302
17763
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1303
extractSelectorAndSelectedText
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1304
    textView hasSelection ifTrue:[ 
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1305
        ^ self extractSelectorAndSelectedTextFrom:  textView selectionAsString
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1306
    ]. 
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1307
    syntaxElementSelection notNil ifTrue:[ 
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1308
        | node |
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1309
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1310
        node := syntaxElementSelection node.
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1311
        node isSelector ifTrue:[ 
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1312
            ^ Array with: node value with: node value
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1313
        ].
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1314
    ].
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1315
    ^ nil
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1316
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1317
    "Created: / 13-11-2017 / 21:53:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1318
!
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1319
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1320
extractSelectorAndSelectedTextFrom: givenSelectedText
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1321
    | selector selectedText compilerClass na |
11359
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1322
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1323
    selectedText := givenSelectedText.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1324
    compilerClass := self language compilerClass.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1325
    selectedText size > 0 ifTrue:[
11359
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1326
        "/ self windowGroup withWaitCursorDo:[
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1327
            "/ hack, for now and expecco; must ask the Parser eventually...
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1328
            (compilerClass notNil and:[compilerClass includesBehavior:JavaScriptParser]) ifTrue:[
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1329
                "/ selector is in one piece anyway
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1330
                (selectedText includes:$_) ifFalse:[
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1331
                    "/ zero or one args - sigh (need to parse more to figure this out)
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1332
                    selector := JavaScriptParser basicNew translatedSmalltalkSelectorFor:selectedText numArgs:1.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1333
                    selectedText := JavaScriptParser basicNew translatedSmalltalkSelectorFor:selectedText numArgs:0.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1334
                ] ifTrue:[
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1335
                    "/ count _#s plus one arg - sigh
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1336
                    na := (selectedText occurrencesOf:$_) + 1. 
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1337
                    selector := JavaScriptParser basicNew translatedSmalltalkSelectorFor:selectedText numArgs:na
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1338
                ].
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1339
            ] ifFalse:[
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1340
                selector := SystemBrowser extractSelectorFrom:selectedText.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1341
            ].
11359
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1342
        "/ ]
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1343
    ].
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1344
    ^Array with: selector with: selectedText
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1345
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1346
    "Created: / 30-06-2011 / 19:49:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
11359
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1347
    "Modified: / 05-03-2012 / 09:04:12 / cg"
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1348
!
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1349
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1350
implementorsOf: selector
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1351
10877
1ed55c34722d changed:
Claus Gittinger <cg@exept.de>
parents: 10844
diff changeset
  1352
    selector isNil ifTrue:[^#()].
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1353
    ^SystemBrowser
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1354
        findImplementorsOf: selector
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1355
        in: Smalltalk allClasses
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1356
        ignoreCase: false
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1357
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1358
    "Created: / 26-12-2007 / 11:37:11 / janfrog"
10877
1ed55c34722d changed:
Claus Gittinger <cg@exept.de>
parents: 10844
diff changeset
  1359
    "Modified: / 18-11-2011 / 14:58:17 / cg"
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1360
!
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1361
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1362
sendersOf: selector
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1363
    |senderBlock|
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1364
10877
1ed55c34722d changed:
Claus Gittinger <cg@exept.de>
parents: 10844
diff changeset
  1365
    selector isNil ifTrue:[^#()].
14447
10f98c40548b fixed ALT-right click (senders of selector under cursor)
az
parents: 14439
diff changeset
  1366
    selector knownAsSymbol ifFalse:[^#()].
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1367
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1368
    "/ not exact, but much faster (looks for symbol only, does not parse code for real send)
14447
10f98c40548b fixed ALT-right click (senders of selector under cursor)
az
parents: 14439
diff changeset
  1369
    senderBlock := SystemBrowser searchBlockForSymbol:selector asSymbol.
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1370
    senderBlock == false ifTrue:[ ^ #() ].
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1371
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1372
    ^ SystemBrowser
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1373
        allMethodsIn:Smalltalk allClasses
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1374
        where:senderBlock.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1375
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1376
    "/ exact, but much slower
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1377
"/    ^SystemBrowser
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1378
"/        findSendersOf: selector
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1379
"/        in: Smalltalk allClasses
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1380
"/        ignoreCase: false
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1381
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1382
    "Created: / 26-12-2007 / 11:37:22 / janfrog"
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1383
    "Modified: / 30-06-2011 / 19:32:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10877
1ed55c34722d changed:
Claus Gittinger <cg@exept.de>
parents: 10844
diff changeset
  1384
    "Modified: / 18-11-2011 / 14:58:19 / cg"
14447
10f98c40548b fixed ALT-right click (senders of selector under cursor)
az
parents: 14439
diff changeset
  1385
    "Modified: / 04-06-2014 / 11:10:47 / az"
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1386
! !
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1387
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1388
!CodeView2 methodsFor:'delegation'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1389
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1390
doesNotUnderstand: aMessage
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1391
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1392
    ((textView respondsTo: aMessage selector) 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1393
    and:[(TraceSelectors includes:aMessage selector) not])
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1394
        ifTrue:[^aMessage sendTo: textView].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1395
    ^super doesNotUnderstand: aMessage
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1396
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1397
    "Created: / 13-02-2010 / 23:27:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1398
    "Modified: / 14-02-2010 / 09:53:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1399
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1400
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1401
hasSelection
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1402
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1403
    ^textView hasSelection
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1404
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1405
    "Created: / 14-02-2010 / 09:53:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1406
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1407
11393
fb1c9eb2aab7 category of:20 methods
Claus Gittinger <cg@exept.de>
parents: 11377
diff changeset
  1408
!CodeView2 methodsFor:'delegation-drawing'!
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1409
16607
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  1410
drawLine:lineNo in: view atX:x y:yBaseline width: w height:hFont ascent:aFont
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  1411
    from:startCol to:endColOrNil with:fg and:bg
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1412
    "See the comment in
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1413
     CodeViewService>>drawLine:in:atX..."
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1414
14927
b109a354435c Fixes for enabling / disabling individual CodeView2 services.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14915
diff changeset
  1415
    self servicesDo:[:each|
16607
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  1416
        each drawLine:lineNo in:view atX:x y:yBaseline width:w height:hFont ascent:aFont
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  1417
             from:startCol to:endColOrNil with:fg and:bg
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1418
    ]
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1419
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1420
    "Created: / 17-06-2011 / 13:50:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10767
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
  1421
    "Modified: / 06-10-2011 / 14:14:04 / cg"
14927
b109a354435c Fixes for enabling / disabling individual CodeView2 services.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14915
diff changeset
  1422
    "Modified: / 27-11-2014 / 15:37:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1423
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1424
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1425
redrawVisibleLine: visLineNr
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1426
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1427
    "Created: / 07-03-2010 / 14:44:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1428
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1429
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1430
redrawVisibleLine:visLine col:colNr
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1431
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1432
    "Modified: / 05-11-2007 / 17:35:53 / cg"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1433
    "Modified: / 07-03-2010 / 14:45:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1434
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1435
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1436
redrawVisibleLine:visLine from:startCol
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1437
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1438
    "Modified: / 07-03-2010 / 14:46:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1439
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1440
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1441
redrawVisibleLine:visLine from:startCol to:endCol
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1442
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1443
    "Modified: / 07-03-2010 / 14:46:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1444
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1445
11393
fb1c9eb2aab7 category of:20 methods
Claus Gittinger <cg@exept.de>
parents: 11377
diff changeset
  1446
!CodeView2 methodsFor:'delegation-events'!
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1447
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1448
buttonMotion: button x:x y:y in: view
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1449
    "Delegates events to services. Answers true iff at least
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1450
     one service handler method returns true. In that case,
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1451
     the event is is NOT processes by the view."
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1452
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1453
    ^ services 
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1454
        contains:[:service |
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1455
            service isEnabled and:[ ((service buttonMotion: button x:x y:y in: view) == true) ]
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1456
        ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1457
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1458
    "Modified: / 07-03-2010 / 13:53:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10767
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
  1459
    "Modified: / 06-10-2011 / 14:13:57 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1460
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1461
14843
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1462
buttonMultiPress: button x:x y:y in: view
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1463
    "Delegates events to services. Answers true iff at least
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1464
     one service handler method returns true. In that case,
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1465
     the event is is NOT processes by the view."
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1466
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1467
    ^ services
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1468
        contains:[:service |
16578
5158bde22d4c #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16577
diff changeset
  1469
            service isEnabled 
5158bde22d4c #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16577
diff changeset
  1470
            and:[ ((service buttonMultiPress: button x:x y:y in: view) == true) ]
14843
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1471
        ].
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1472
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1473
    "Modified: / 07-03-2010 / 13:53:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1474
    "Modified: / 06-10-2011 / 14:14:00 / cg"
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1475
    "Modified (format): / 05-03-2012 / 08:56:02 / cg"
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1476
!
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1477
14005
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1478
buttonPress: button x:x y:y in: view
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1479
    "Delegates events to services. Answers true iff at least
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1480
     one service handler method returns true. In that case,
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1481
     the event is is NOT processes by the view."
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1482
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1483
    ^ services
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1484
        contains:[:service |
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1485
            service isEnabled and:[ ((service buttonPress: button x:x y:y in: view) == true) ]
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1486
        ].
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1487
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1488
    "Modified: / 07-03-2010 / 13:53:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1489
    "Modified: / 06-10-2011 / 14:14:00 / cg"
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1490
    "Modified (format): / 05-03-2012 / 08:56:02 / cg"
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1491
!
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1492
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1493
buttonRelease: button x:x y:y in: view
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1494
    "Delegates events to services. Answers true iff at least
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1495
     one service handler method returns true. In that case,
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1496
     the event is is NOT processes by the view."
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1497
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1498
    ^ services 
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1499
        contains:[:service |
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1500
            service isEnabled and:[ ((service buttonRelease: button x:x y:y in: view) == true) ]
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1501
        ].
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1502
!
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1503
15170
a4ce93833783 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15130
diff changeset
  1504
highlightClassVariable:name
a4ce93833783 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15130
diff changeset
  1505
    "interface from browser (when a class var is selected)"
a4ce93833783 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15130
diff changeset
  1506
a4ce93833783 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15130
diff changeset
  1507
    services do:[:each|
a4ce93833783 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15130
diff changeset
  1508
        each highlightClassVariable:name
a4ce93833783 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15130
diff changeset
  1509
    ].
a4ce93833783 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15130
diff changeset
  1510
!
a4ce93833783 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15130
diff changeset
  1511
12992
d01df8476209 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12980
diff changeset
  1512
highlightInstanceVariable:name
15170
a4ce93833783 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15130
diff changeset
  1513
    "interface from browser (when an inst var is selected)"
a4ce93833783 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15130
diff changeset
  1514
12992
d01df8476209 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12980
diff changeset
  1515
    services do:[:each|
d01df8476209 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12980
diff changeset
  1516
        each highlightInstanceVariable:name
d01df8476209 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12980
diff changeset
  1517
    ].
d01df8476209 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12980
diff changeset
  1518
!
d01df8476209 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12980
diff changeset
  1519
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1520
keyPress: key x:x y:y in: view
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1521
    "Delegates events to services. Answers true iff at least
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1522
     one service handler method returns true. In that case,
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1523
     the event is is NOT processes by the view."
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1524
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1525
    ^ services 
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1526
        contains:[:service |
13582
666891267a54 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13575
diff changeset
  1527
            |handledByService|
666891267a54 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13575
diff changeset
  1528
666891267a54 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13575
diff changeset
  1529
            handledByService := service isEnabled 
666891267a54 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13575
diff changeset
  1530
                                and:[ ((service keyPress: key x:x y:y in: view) == true)].
666891267a54 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13575
diff changeset
  1531
            "/ handledByService ifTrue:[ Transcript showCR:'handled by ',service printString ].
666891267a54 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13575
diff changeset
  1532
            handledByService
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1533
        ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1534
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1535
    "Modified: / 07-03-2010 / 13:54:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10767
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
  1536
    "Modified: / 06-10-2011 / 14:14:11 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1537
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1538
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1539
keyRelease: key x:x y:y in: view
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1540
    "Delegates events to services. Answers true iff at least
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1541
     one service handler method returns true. In that case,
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1542
     the event is is NOT processes by the view."
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1543
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1544
    ^ services 
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1545
        contains:[:service |
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1546
            service isEnabled and:[ ((service keyRelease: key x:x y:y in: view) == true) ]
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1547
        ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1548
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1549
    "Modified: / 07-03-2010 / 13:54:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10767
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
  1550
    "Modified: / 06-10-2011 / 14:14:13 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1551
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1552
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1553
linesDeletedFrom: start to: end
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1554
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1555
    services do: [:each |
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1556
        each isEnabled ifTrue: [
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1557
            each linesDeletedFrom: start to: end
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1558
        ]
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1559
    ].
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1560
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1561
    "Created: / 06-07-2011 / 17:12:54 / jv"
10767
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
  1562
    "Modified: / 06-10-2011 / 14:14:16 / cg"
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  1563
    "Modified: / 07-10-2011 / 19:14:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1564
!
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1565
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1566
linesInsertedFrom: start to: end
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1567
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1568
    services do: [:each |
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1569
        each isEnabled ifTrue: [
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1570
            each linesInsertedFrom: start to: end
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1571
        ]
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1572
    ].
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1573
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1574
    "Created: / 06-07-2011 / 17:12:48 / jv"
10767
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
  1575
    "Modified: / 06-10-2011 / 14:14:20 / cg"
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1576
!
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1577
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1578
linesModifiedFrom: start to: end
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1579
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1580
    services do: [:each |
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1581
        each isEnabled ifTrue: [
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1582
            each linesModifiedFrom: start to: end
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1583
        ]
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1584
    ].
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1585
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1586
    "Created: / 06-07-2011 / 17:12:58 / jv"
10767
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
  1587
    "Modified: / 06-10-2011 / 14:13:44 / cg"
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1588
!
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1589
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1590
scrollDown: nLines in: view
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1591
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1592
    view == textView 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1593
        ifTrue:
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1594
            ["/my text view scrolled...
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1595
            synchronizedCodeViews do:[:codeView|codeView scrollDown: nLines in: view]]
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1596
        ifFalse:
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1597
            ["/other code view scrolls and I'm notified about that
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1598
            textView basicScrollDown: nLines]
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1599
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1600
    "Created: / 06-04-2010 / 14:02:39 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1601
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1602
14005
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1603
scrollTo:origin redraw:doRedraw in: view
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1604
    view == textView ifTrue: [
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1605
        "/my text view scrolled...
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1606
        synchronizedCodeViews do:[:codeView|
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1607
            codeView scrollTo:origin redraw:doRedraw in: view.
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1608
        ]
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1609
    ] ifFalse: [
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1610
        "/other code view scrolls and I'm notified about that
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1611
        textView basicScrollTo:origin redraw:doRedraw.
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1612
    ]
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1613
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1614
    "Created: / 06-04-2010 / 14:02:39 / Jakub <zelenja7@fel.cvut.cz>"
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1615
    "Created: / 19-03-2012 / 17:05:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1616
!
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1617
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1618
scrollUp: nLines in: view
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1619
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1620
    view == textView 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1621
        ifTrue:
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1622
            ["/my text view scrolled...
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1623
            synchronizedCodeViews do:[:codeView|codeView scrollUp: nLines in: view]]
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1624
        ifFalse:
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1625
            ["/other code view scrolls and I'm notified about that
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1626
            textView basicScrollUp: nLines]
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1627
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1628
    "Created: / 06-04-2010 / 14:02:39 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1629
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1630
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1631
!CodeView2 methodsFor:'diff mode'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1632
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1633
recomputeDiff:view 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1634
    |t1 t2 pom diffHelper view2|
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1635
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1636
    t1 := view getNewOriginText.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1637
    synchronizedCodeViews do:[:codeView | 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1638
        view2 := codeView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1639
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1640
    view changedDiffText:false.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1641
    view2 changedDiffText:false.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1642
    t2 := view2 getNewOriginText.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1643
    pom := DiffCodeView2 new.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1644
    (view == textView) ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1645
        diffHelper := pom computeDiffDataForText1:t1 text2:t2.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1646
        (view) contents:(diffHelper text1).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1647
        (view) deletedLines:(diffHelper deleted).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1648
        (view) changedLines:(diffHelper changed).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1649
        (view) originDiffText:t1.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1650
        (view) emptyLines:(diffHelper inserted).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1651
        (view) changedLines:(diffHelper changed).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1652
        (view2) contents:(diffHelper text2).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1653
        (view2) insertedLines:(diffHelper inserted).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1654
        (view2) changedLines:(diffHelper changed).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1655
        (view2) originDiffText:t2.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1656
        (view2) emptyLines:(diffHelper deleted).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1657
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1658
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1659
    "Modified: / 22-06-2010 / 23:35:41 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1660
    "Modified: / 23-06-2010 / 17:25:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1661
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1662
14545
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1663
!CodeView2 methodsFor:'initialize & release'!
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1664
13208
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1665
defaultServices
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1666
    "/ used to call "CodeViewService availableServices",
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1667
    "/ which enumerated all subclasses.
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1668
    "/ this is BAD BAD BAD, because it does not allow for additional service
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1669
    "/ subclasses to be built for special applications. For example,
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1670
    "/ a debugging breakpoint service for a GDB application, a breakpoint service for
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1671
    "/ expecco's codeview.
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1672
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1673
    "/ therefore, the list of services to use in codeView2 is now filtered
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1674
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1675
    ^ CodeViewService availableServices
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1676
        select:[:service | service isUsefulFor:self]
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1677
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1678
    "Created: / 22-07-2013 / 13:57:40 / cg"
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1679
!
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1680
19601
e9573cd4c02a `CodeView2`: respect text view's border styles
Jan Vrany <jan.vrany@labware.com>
parents: 18226
diff changeset
  1681
initStyle
19614
0d756d4c5298 Themes: use stylesheet to define colors for accept-cancel bars
Jan Vrany <jan.vrany@labware.com>
parents: 19608
diff changeset
  1682
    <resource: #style (#'text.borderWidth'
0d756d4c5298 Themes: use stylesheet to define colors for accept-cancel bars
Jan Vrany <jan.vrany@labware.com>
parents: 19608
diff changeset
  1683
                       #'text.borderColor')>    
0d756d4c5298 Themes: use stylesheet to define colors for accept-cancel bars
Jan Vrany <jan.vrany@labware.com>
parents: 19608
diff changeset
  1684
19601
e9573cd4c02a `CodeView2`: respect text view's border styles
Jan Vrany <jan.vrany@labware.com>
parents: 18226
diff changeset
  1685
    | borderWidth borderColor |
e9573cd4c02a `CodeView2`: respect text view's border styles
Jan Vrany <jan.vrany@labware.com>
parents: 18226
diff changeset
  1686
    super initStyle.
e9573cd4c02a `CodeView2`: respect text view's border styles
Jan Vrany <jan.vrany@labware.com>
parents: 18226
diff changeset
  1687
e9573cd4c02a `CodeView2`: respect text view's border styles
Jan Vrany <jan.vrany@labware.com>
parents: 18226
diff changeset
  1688
    borderWidth := styleSheet at:'text.borderWidth' default: 0.
e9573cd4c02a `CodeView2`: respect text view's border styles
Jan Vrany <jan.vrany@labware.com>
parents: 18226
diff changeset
  1689
    borderWidth ~~ 0 ifTrue: [
e9573cd4c02a `CodeView2`: respect text view's border styles
Jan Vrany <jan.vrany@labware.com>
parents: 18226
diff changeset
  1690
        borderColor := styleSheet colorAt:'text.borderColor' default: nil.
e9573cd4c02a `CodeView2`: respect text view's border styles
Jan Vrany <jan.vrany@labware.com>
parents: 18226
diff changeset
  1691
        borderColor notNil ifTrue: [ 
e9573cd4c02a `CodeView2`: respect text view's border styles
Jan Vrany <jan.vrany@labware.com>
parents: 18226
diff changeset
  1692
            self border:(SimpleBorder width:borderWidth color:borderColor)
e9573cd4c02a `CodeView2`: respect text view's border styles
Jan Vrany <jan.vrany@labware.com>
parents: 18226
diff changeset
  1693
        ].
e9573cd4c02a `CodeView2`: respect text view's border styles
Jan Vrany <jan.vrany@labware.com>
parents: 18226
diff changeset
  1694
    ].
e9573cd4c02a `CodeView2`: respect text view's border styles
Jan Vrany <jan.vrany@labware.com>
parents: 18226
diff changeset
  1695
e9573cd4c02a `CodeView2`: respect text view's border styles
Jan Vrany <jan.vrany@labware.com>
parents: 18226
diff changeset
  1696
    "Created: / 01-07-2021 / 21:49:05 / Jan Vrany <jan.vrany@labware.com>"
19614
0d756d4c5298 Themes: use stylesheet to define colors for accept-cancel bars
Jan Vrany <jan.vrany@labware.com>
parents: 19608
diff changeset
  1697
    "Modified (format): / 14-10-2021 / 09:20:11 / Jan Vrany <jan.vrany@labware.com>"
19601
e9573cd4c02a `CodeView2`: respect text view's border styles
Jan Vrany <jan.vrany@labware.com>
parents: 18226
diff changeset
  1698
!
e9573cd4c02a `CodeView2`: respect text view's border styles
Jan Vrany <jan.vrany@labware.com>
parents: 18226
diff changeset
  1699
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1700
initialize
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1701
    "Invoked when a new instance is created."
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1702
    "Call super initialize"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1703
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1704
    super initialize.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1705
     "Now set up some visual properties"
15893
8faba2344b0f #BUGFIX
Claus Gittinger <cg@exept.de>
parents: 15875
diff changeset
  1706
    self level:(styleSheet at:#'codeView2.level' default:-1).
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1707
     "Now initialize sub-views"
11988
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  1708
    showGutterChannel := ValueHolder with: true.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1709
    showGutterChannel addDependent: self.
11988
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  1710
    "/ toDo: I don't like two options in the settings;
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  1711
    "/ showAcceptCancelBarChannel := (ValueHolder with: (UserPreferences current showAcceptCancelBarInBrowser)).
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  1712
    showAcceptCancelBarChannel := ValueHolder with: (UserPreferences current codeView2ShowAcceptCancel).
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  1713
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  1714
    "/ these views must be created first, as they refer to each other's channels in their
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  1715
    "/ initialize methods
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  1716
    gutterView := CodeView2::GutterView new.
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  1717
    textViewScroller := HVScrollableView for: CodeView2::TextView in: self.
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  1718
    textView := textViewScroller scrolledView.
10793
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1719
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1720
    self initializeGutterView.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1721
    self initializeTextView.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1722
    textView setCodeView:self.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1723
    modifiedChannel := ValueHolder with:false.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1724
    diffMode := false.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1725
    synchronizedCodeViews := #().
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1726
    currentParseNodeHolder := ValueHolder new.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1727
    currentBlockNodeHolder := ValueHolder new.
10767
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
  1728
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
  1729
    servicesFromClient := false.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1730
    services := OrderedCollection new.
19608
98f7cba0ce8c Theming: add support for theming navigation service's styles
Jan Vrany <jan.vrany@labware.com>
parents: 19604
diff changeset
  1731
    theme := UserPreferences current codeViewTheme.
10834
b25dd8ee319b changed: #initialize
vrany
parents: 10793
diff changeset
  1732
    self initializeServices.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1733
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1734
    "Modified: / 14-12-2009 / 13:59:53 / Jindra <a>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1735
    "Modified: / 06-04-2010 / 13:56:35 / Jakub <zelenja7@fel.cvut.cz>"
10767
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
  1736
    "Modified: / 06-10-2011 / 14:15:48 / cg"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1737
    "Modified: / 16-02-2012 / 23:05:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
19608
98f7cba0ce8c Theming: add support for theming navigation service's styles
Jan Vrany <jan.vrany@labware.com>
parents: 19604
diff changeset
  1738
    "Modified: / 15-09-2021 / 21:15:57 / Jan Vrany <jan.vrany@labware.com>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1739
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1740
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1741
initializeGutterView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1742
11988
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  1743
    gutterView setCodeView:self.
13993
ec74fc4b84e5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13978
diff changeset
  1744
    gutterView currentBlockNodeHolder: self currentBlockNodeHolder.
13316
1f476bdeb46c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13213
diff changeset
  1745
    gutterView origin:(0.0 @ 0.0) corner:(gutterView preferredWidth+1 @ 1.0).
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1746
    showGutterChannel value ifTrue:[self addSubView: gutterView].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1747
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1748
    "Created: / 02-09-2009 / 21:35:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1749
    "Modified: / 23-06-2010 / 19:14:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1750
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1751
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1752
initializeServices
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1753
    | serviceClasses |
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
  1754
10755
3cc7a80e9d58 added: #services:
Claus Gittinger <cg@exept.de>
parents: 10731
diff changeset
  1755
    "/ only do it, if the services have not yet been defined by the user of this view
3cc7a80e9d58 added: #services:
Claus Gittinger <cg@exept.de>
parents: 10731
diff changeset
  1756
    "/ (FileBrowser does not want Smalltalk-specific services)
10767
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
  1757
    servicesFromClient ifFalse:[
16587
bd22b8fd7edb #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16578
diff changeset
  1758
        serviceClasses := self defaultServices 
bd22b8fd7edb #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16578
diff changeset
  1759
                            sort:[:a :b|
bd22b8fd7edb #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16578
diff changeset
  1760
                                a priority = b priority 
bd22b8fd7edb #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16578
diff changeset
  1761
                                    ifTrue:[a name < b name] 
bd22b8fd7edb #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16578
diff changeset
  1762
                                    ifFalse:[a priority > b priority]
bd22b8fd7edb #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16578
diff changeset
  1763
                            ].
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1764
        serviceClasses do:[:cls|
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1765
            self registerService: cls new
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1766
        ].
10755
3cc7a80e9d58 added: #services:
Claus Gittinger <cg@exept.de>
parents: 10731
diff changeset
  1767
    ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1768
13208
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1769
    "Modified: / 22-07-2013 / 14:02:59 / cg"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1770
    "Modified: / 24-07-2013 / 11:56:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1771
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1772
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1773
initializeTextView
11988
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  1774
    "Initialize textView. gutterView has to be already initialized!!"
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  1775
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1776
    textViewScroller
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1777
        origin: ((self showGutter ifTrue:[gutterView width] ifFalse:[0.0]) @ 0.0)
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1778
        corner: 1.0@1.0;
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1779
        level: 0.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1780
    textView level: 0.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1781
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1782
    textView modifiedChannel addDependent: self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1783
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1784
    "Created: / 02-09-2009 / 21:36:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1785
    "Modified: / 23-06-2010 / 19:38:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
14545
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1786
!
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1787
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1788
release
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1789
    services do:[:service | service unregister ].
14549
077001d56ef7 Oops, fix in Tools::CodeView2>>release - release could be (and sometimes is) called twice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14545
diff changeset
  1790
    services := #().
14545
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1791
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1792
    textView model notNil ifTrue:[ 
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1793
        textView model removeDependent: self.
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1794
    ].
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1795
    textView modifiedChannel notNil ifTrue:[ 
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1796
        textView modifiedChannel removeDependent: self.
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1797
    ].
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1798
    showGutterChannel removeDependent: self.
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1799
    languageHolder notNil ifTrue:[ 
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1800
        languageHolder removeDependent: self.
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1801
    ].
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1802
    classHolder notNil ifTrue:[ 
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1803
        classHolder removeDependent: self.
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1804
    ].
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1805
    methodHolder notNil ifTrue:[ 
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1806
        methodHolder removeDependent: self.
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1807
    ].
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1808
    super release.
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1809
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1810
    "Created: / 23-06-2014 / 20:16:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
14549
077001d56ef7 Oops, fix in Tools::CodeView2>>release - release could be (and sometimes is) called twice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14545
diff changeset
  1811
    "Modified: / 23-06-2014 / 22:18:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1812
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1813
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1814
!CodeView2 methodsFor:'menu actions'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1815
10689
825d52f63cf7 added: #accept
Claus Gittinger <cg@exept.de>
parents: 10662
diff changeset
  1816
accept
825d52f63cf7 added: #accept
Claus Gittinger <cg@exept.de>
parents: 10662
diff changeset
  1817
    textView accept
825d52f63cf7 added: #accept
Claus Gittinger <cg@exept.de>
parents: 10662
diff changeset
  1818
825d52f63cf7 added: #accept
Claus Gittinger <cg@exept.de>
parents: 10662
diff changeset
  1819
    "Created: / 07-09-2011 / 21:29:07 / cg"
825d52f63cf7 added: #accept
Claus Gittinger <cg@exept.de>
parents: 10662
diff changeset
  1820
!
825d52f63cf7 added: #accept
Claus Gittinger <cg@exept.de>
parents: 10662
diff changeset
  1821
10375
9b5d4c887f5e added: #again
Claus Gittinger <cg@exept.de>
parents: 10330
diff changeset
  1822
again
9b5d4c887f5e added: #again
Claus Gittinger <cg@exept.de>
parents: 10330
diff changeset
  1823
    textView again
9b5d4c887f5e added: #again
Claus Gittinger <cg@exept.de>
parents: 10330
diff changeset
  1824
9b5d4c887f5e added: #again
Claus Gittinger <cg@exept.de>
parents: 10330
diff changeset
  1825
    "Created: / 16-02-2010 / 19:36:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9b5d4c887f5e added: #again
Claus Gittinger <cg@exept.de>
parents: 10330
diff changeset
  1826
    "Created: / 22-07-2011 / 17:44:31 / cg"
9b5d4c887f5e added: #again
Claus Gittinger <cg@exept.de>
parents: 10330
diff changeset
  1827
!
9b5d4c887f5e added: #again
Claus Gittinger <cg@exept.de>
parents: 10330
diff changeset
  1828
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1829
browseImplementorsOfIt
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1830
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1831
    textView browseImplementorsOfIt
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1832
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1833
    "Modified: / 30-06-2011 / 19:22:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1834
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1835
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1836
browseSendersOfIt
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1837
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1838
    textView browseSendersOfIt
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1839
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1840
    "Modified: / 30-06-2011 / 19:22:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1841
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1842
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1843
copySelection
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1844
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1845
    textView copySelection
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1846
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1847
    "Created: / 16-02-2010 / 19:36:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1848
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1849
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1850
cut
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1851
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1852
    textView cut
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1853
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1854
    "Created: / 16-02-2010 / 19:36:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1855
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1856
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1857
doIt
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1858
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1859
    textView doIt
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1860
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1861
    "Modified: / 16-02-2010 / 19:38:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1862
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1863
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1864
inspectIt
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1865
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1866
    textView inspectIt
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1867
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1868
    "Modified: / 16-02-2010 / 19:38:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1869
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1870
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1871
inspectSelectedSelector
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1872
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1873
    self error: 'Not yet implemented'
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1874
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1875
    "Modified: / 14-02-2010 / 15:58:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1876
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1877
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1878
inspectSyntaxElements
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1879
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1880
    syntaxElements inspect
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1881
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1882
    "Modified: / 14-02-2010 / 15:57:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1883
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1884
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1885
inspectView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1886
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1887
    self inspect
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1888
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1889
    "Modified: / 25-03-2010 / 17:58:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1890
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1891
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1892
pasteOrReplace
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1893
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1894
    textView pasteOrReplace
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1895
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1896
    "Created: / 16-02-2010 / 19:37:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1897
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1898
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1899
printIt
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1900
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1901
    textView printIt
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1902
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1903
    "Modified: / 16-02-2010 / 19:38:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1904
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1905
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1906
profileIt
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1907
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1908
    textView profileIt
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1909
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1910
    "Created: / 27-08-2010 / 22:12:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1911
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1912
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1913
undo
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1914
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1915
    textView undo
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1916
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1917
    "Created: / 16-02-2010 / 19:35:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1918
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1919
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1920
!CodeView2 methodsFor:'menus-dynamic'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1921
13108
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  1922
debugMenu
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  1923
    ^ self class debugMenu decodeAsLiteralArray
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  1924
        receiver:self.
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  1925
!
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  1926
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1927
editMenu
10780
1093fdd69f27 Fix for edit menu issue ( #D1863483 )
vrany
parents: 10767
diff changeset
  1928
    | editMenu superEditMenu moreMenu moreMenuItem |
1093fdd69f27 Fix for edit menu issue ( #D1863483 )
vrany
parents: 10767
diff changeset
  1929
1093fdd69f27 Fix for edit menu issue ( #D1863483 )
vrany
parents: 10767
diff changeset
  1930
    superEditMenu := textView superEditMenu.
1093fdd69f27 Fix for edit menu issue ( #D1863483 )
vrany
parents: 10767
diff changeset
  1931
1093fdd69f27 Fix for edit menu issue ( #D1863483 )
vrany
parents: 10767
diff changeset
  1932
    textView sensor ctrlDown ifTrue:[
1093fdd69f27 Fix for edit menu issue ( #D1863483 )
vrany
parents: 10767
diff changeset
  1933
        ^superEditMenu
1093fdd69f27 Fix for edit menu issue ( #D1863483 )
vrany
parents: 10767
diff changeset
  1934
    ].
10293
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  1935
13072
390ebcd412f8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13062
diff changeset
  1936
    "/ install the standard 'more' menu into my own menu
390ebcd412f8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13062
diff changeset
  1937
    moreMenu := superEditMenu subMenuAt: superEditMenu numberOfItems.
390ebcd412f8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13062
diff changeset
  1938
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1939
    editMenu := self class editMenu decodeAsLiteralArray.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1940
    moreMenuItem := editMenu menuItemLabeled: 'More'.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1941
    moreMenuItem submenu: moreMenu asMenu.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1942
    editMenu findGuiResourcesIn: self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1943
    ^editMenu
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1944
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1945
    "Created: / 25-12-2007 / 10:10:01 / janfrog"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1946
    "Modified: / 25-12-2007 / 19:50:53 / janfrog"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1947
    "Modified: / 18-10-2008 / 20:31:16 / Jan Vrany <vranyj1@fel.cvut.cz>"
10293
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  1948
    "Modified: / 08-07-2011 / 13:35:31 / cg"
10780
1093fdd69f27 Fix for edit menu issue ( #D1863483 )
vrany
parents: 10767
diff changeset
  1949
    "Modified: / 07-10-2011 / 17:58:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1950
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1951
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1952
implementorsMenu
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1953
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1954
    | selectorAndSelectedText selector selectedText  implementors |
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1955
17763
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1956
    selectorAndSelectedText := self extractSelectorAndSelectedText.
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1957
    selectorAndSelectedText notNil ifTrue:[
11359
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1958
        "/ self windowGroup withWaitCursorDo:[
17763
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1959
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1960
            selector := selectorAndSelectedText first.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1961
            selectedText := selectorAndSelectedText second.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1962
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1963
            (selector notNil and:[selector = selectedText]) ifTrue:[
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1964
                implementors := (SystemBrowser 
11359
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1965
                                    findImplementorsOf:selectedText "Any: (Array with:selectedText)" 
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1966
                                    in:(Smalltalk allClasses) 
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1967
                                    ignoreCase:false)
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1968
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1969
            ] ifFalse:[
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1970
                implementors := (SystemBrowser 
11359
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1971
                                    findImplementorsOfAny:(Array with:selectedText with: selector) 
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1972
                                    in:(Smalltalk allClasses) 
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1973
                                    ignoreCase:false)
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1974
            ].
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1975
        "/ ] 
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1976
    ] ifFalse:[
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1977
        implementors := #().
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1978
    ].
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1979
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1980
    ^self implementorsMenu: implementors selector: (selector ? selectedText)
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1981
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1982
    "Modified: / 19-10-2008 / 08:16:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1983
    "Created: / 30-06-2011 / 19:28:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
11359
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1984
    "Modified: / 05-03-2012 / 09:02:43 / cg"
17763
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1985
    "Modified: / 13-11-2017 / 21:54:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1986
!
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1987
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1988
implementorsMenu: implementors selector: selector
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1989
    | menu|
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1990
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1991
    menu := Menu new.
10465
7bb5a6157330 changed:
Claus Gittinger <cg@exept.de>
parents: 10409
diff changeset
  1992
    implementors isEmptyOrNil ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1993
        menu addItem:(MenuItem label:'No implementors found') disable
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1994
    ] ifFalse:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1995
        menu addItem:(MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1996
                    label:(selector storeString , (' (all implementors) ') asText allItalic)
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1997
                    itemValue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1998
                        self browseMethods:implementors
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1999
                            label:'Implementors of ' , selector storeString
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2000
                    ]).
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2001
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2002
        menu addSeparator.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2003
        (implementors asOrderedCollection sort:[:a :b | a mclass name < b mclass name])
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2004
        "implementors" do:[:mth |
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2005
            menu
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2006
                addItem:(MenuItem label:(selector storeString
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2007
                                , (' in ' , mth containingClass nameInBrowser asText allBold))
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2008
                        itemValue:[ self browseMethod:mth label: 'Implementor of ' , selector storeString  ])
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2009
        ]
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2010
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2011
    ^ menu
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2012
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2013
    "Modified: / 19-10-2008 / 08:16:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2014
    "Created: / 14-02-2010 / 19:39:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2015
    "Modified: / 07-03-2012 / 12:56:56 / cg"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2016
    "Modified: / 14-10-2013 / 10:47:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2017
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2018
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2019
sendersMenu
19633
ee1da7ec153a `CodeView2`: fix "senders" menu
Jan Vrany <jan.vrany@labware.com>
parents: 19614
diff changeset
  2020
    | selectorAndSelectedText selector selectedText senders |
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2021
17763
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  2022
    selectorAndSelectedText := self extractSelectorAndSelectedText.
19633
ee1da7ec153a `CodeView2`: fix "senders" menu
Jan Vrany <jan.vrany@labware.com>
parents: 19614
diff changeset
  2023
    selectorAndSelectedText notNil ifTrue:[
11359
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  2024
        "/ self windowGroup withWaitCursorDo:[
19633
ee1da7ec153a `CodeView2`: fix "senders" menu
Jan Vrany <jan.vrany@labware.com>
parents: 19614
diff changeset
  2025
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2026
            selector := selectorAndSelectedText first.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2027
            selectedText := selectorAndSelectedText second.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2028
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2029
            (selector notNil and:[selector = selectedText]) ifTrue:[
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2030
                senders := (SystemBrowser 
19633
ee1da7ec153a `CodeView2`: fix "senders" menu
Jan Vrany <jan.vrany@labware.com>
parents: 19614
diff changeset
  2031
                                    findSendersOf:selectedText "Any: (Array with:selectedText)" 
ee1da7ec153a `CodeView2`: fix "senders" menu
Jan Vrany <jan.vrany@labware.com>
parents: 19614
diff changeset
  2032
                                    in:(Smalltalk allClasses) 
ee1da7ec153a `CodeView2`: fix "senders" menu
Jan Vrany <jan.vrany@labware.com>
parents: 19614
diff changeset
  2033
                                    ignoreCase:false)
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2034
11359
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  2035
            ] ifFalse:[
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2036
                senders := (SystemBrowser 
19633
ee1da7ec153a `CodeView2`: fix "senders" menu
Jan Vrany <jan.vrany@labware.com>
parents: 19614
diff changeset
  2037
                                    findSendersOfAny:(Array with:selectedText with: selector) 
ee1da7ec153a `CodeView2`: fix "senders" menu
Jan Vrany <jan.vrany@labware.com>
parents: 19614
diff changeset
  2038
                                    in:(Smalltalk allClasses) 
ee1da7ec153a `CodeView2`: fix "senders" menu
Jan Vrany <jan.vrany@labware.com>
parents: 19614
diff changeset
  2039
                                    ignoreCase:false)
11359
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  2040
            ].
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  2041
        "/ ] 
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2042
    ] ifFalse:[
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2043
        senders := #().
19633
ee1da7ec153a `CodeView2`: fix "senders" menu
Jan Vrany <jan.vrany@labware.com>
parents: 19614
diff changeset
  2044
    ].                     
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2045
    ^self sendersMenu: senders selector: (selector ? selectedText)
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2046
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2047
    "Modified: / 19-10-2008 / 08:16:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2048
    "Created: / 30-06-2011 / 19:28:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
11359
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  2049
    "Modified: / 05-03-2012 / 09:02:56 / cg"
17763
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  2050
    "Modified: / 13-11-2017 / 21:54:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
19633
ee1da7ec153a `CodeView2`: fix "senders" menu
Jan Vrany <jan.vrany@labware.com>
parents: 19614
diff changeset
  2051
    "Modified: / 23-08-2022 / 05:15:34 / Jan Vrany <jan.vrany@labware.com>"
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2052
!
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2053
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2054
sendersMenu: senders  selector: selector
11377
e995583db311 changed:
Claus Gittinger <cg@exept.de>
parents: 11359
diff changeset
  2055
    | menu shownSenderItems numCut sendersSorted|
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2056
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2057
    menu := Menu new.
10465
7bb5a6157330 changed:
Claus Gittinger <cg@exept.de>
parents: 10409
diff changeset
  2058
    senders isEmptyOrNil ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2059
        menu addItem:(MenuItem label:'No senders found') disable
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2060
    ] ifFalse:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2061
        menu addItem:(MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2062
                    label:(selector storeString , (' (all senders)') asText allItalic)
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2063
                    itemValue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2064
                        self browseMethods:senders
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2065
                            label:'Senders of ' , selector storeString
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2066
                    ]).
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2067
        menu addSeparator.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2068
        sendersSorted := senders asOrderedCollection
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2069
                            sort:[:a :b | a whoString < b whoString].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2070
        shownSenderItems := (senders size > 20) ifTrue:[sendersSorted copyTo:20] ifFalse:[sendersSorted].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2071
        numCut := senders size - 20.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2072
        shownSenderItems do:[:mth |
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2073
            menu
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2074
                addItem:(MenuItem label:(mth selector storeString
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2075
                                , (' in ' , mth containingClass nameInBrowser asText allBold))
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2076
                        itemValue:[ self browseMethod:mth label: 'Sender of ' , selector storeString ])
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2077
        ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2078
        numCut > 0 ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2079
            menu addSeparator.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2080
            menu addItem:(MenuItem label:('... %1 more senders not shown here' bindWith:numCut)) disable
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2081
        ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2082
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2083
    ^ menu
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2084
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2085
    "Modified: / 19-10-2008 / 08:17:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2086
    "Created: / 14-02-2010 / 19:40:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2087
    "Modified: / 07-07-2011 / 14:51:54 / jv"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2088
    "Modified: / 07-03-2012 / 12:58:31 / cg"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2089
    "Modified: / 14-10-2013 / 10:47:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2090
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2091
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2092
servicesMenu
10293
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2093
    |menu item anyService|
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2094
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2095
    menu := Menu new.
13110
2ca621dee00c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13108
diff changeset
  2096
    item := (MenuItem label:(resources string:'Services (experimental)')) enabled:false.
2ca621dee00c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13108
diff changeset
  2097
    menu addItem:item.
2ca621dee00c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13108
diff changeset
  2098
    menu addSeparator.
10293
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2099
13097
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  2100
    "/ disabled, because this menu is now on the gutter,
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  2101
    "/ and it makes it hard to show it again, once hidden
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  2102
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  2103
"/    item := MenuItem label:(resources string:'Show Gutter').
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  2104
"/    item indication:(self showGutterChannel).
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  2105
"/    menu addItem:item.
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  2106
"/    menu addSeparator.
10293
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2107
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2108
    anyService := false.
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2109
    services do:[:service | 
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2110
        |item|
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2111
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2112
        item := MenuItem label:(resources string:service label).
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2113
        item indication:((AspectAdaptor forAspect:#enabled) subject:service).
13108
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2114
        item hideMenuOnActivated:false.
10293
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2115
        menu addItem:item.
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2116
        anyService := true.
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2117
    ].
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2118
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2119
    anyService ifTrue:[
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2120
        menu addSeparator.
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2121
    ].
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2122
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2123
    item := MenuItem label:(resources string:'Debug').
13108
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2124
    item submenuChannel:[ self debugMenu ].
10293
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2125
    menu addItem:item.
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2126
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2127
    ^ menu
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2128
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2129
    "Created: / 07-03-2010 / 14:03:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10767
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
  2130
    "Modified: / 06-10-2011 / 14:14:30 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2131
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2132
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2133
!CodeView2 methodsFor:'private'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2134
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2135
codeCompletion
14110
c671dfc959ef class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14101
diff changeset
  2136
    "/ I found this code 3 times (CodeView2, NewSystemBrowser and DebugView) - smell? 
c671dfc959ef class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14101
diff changeset
  2137
    "/ (can we move that to a utility - probably DoWhatIMeanSupport)
c671dfc959ef class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14101
diff changeset
  2138
c671dfc959ef class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14101
diff changeset
  2139
    |cls language|
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2140
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2141
    cls := self classHolder value.
14110
c671dfc959ef class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14101
diff changeset
  2142
    cls notNil ifTrue:[
c671dfc959ef class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14101
diff changeset
  2143
        language := cls programmingLanguage
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2144
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2145
    UserInformation handle:[:ex |
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2146
        self showInfo:(ex messageText).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2147
        ex proceed.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2148
    ] do:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2149
        self withWaitCursorDo:[
14110
c671dfc959ef class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14101
diff changeset
  2150
            DoWhatIMeanSupport codeCompletionForLanguage:language class:cls context:nil codeView:self.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2151
        ]
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2152
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2153
    ^ self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2154
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2155
    "Modified: / 04-07-2006 / 18:48:26 / fm"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2156
    "Modified: / 20-11-2006 / 12:30:59 / cg"
13559
5215c061491c Pass programming language when asking DWIM to complete code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13517
diff changeset
  2157
    "Modified: / 18-09-2013 / 14:18:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2158
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2159
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2160
reallyModified
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2161
    "check for modified code by comparing the source against
14439
6d02fc4b8ca0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14369
diff changeset
  2162
     the codeView's contents.
14503
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2163
     That's the true modified value 
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2164
     (in case user undid his changes, and the displayed text is actually original)"
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2165
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2166
    |modified|
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2167
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2168
    "/ cg: why this? It does not make sense to me.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2169
    "/ either we can depend on what the textView tells me here
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2170
    "/ in which case we don't need the code below,
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2171
    "/ or we cannot, in which the textView modified query should be removed.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2172
    "/ from tracing, it looks as if the textView modified query is correct all the time.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2173
    "/ Can someone validate/verify this, please?
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2174
    textView modified ifTrue:[^true].   
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2175
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2176
     "/ higher prio to prevent it from being changed while we convert it (by editing)
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2177
    Processor activeProcess
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2178
        withHigherPriorityDo:[
14503
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2179
            modified := textView isTextDifferentFromOriginalSource.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2180
        ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2181
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2182
    ^ modified
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2183
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2184
    "Created: / 06-02-2010 / 19:59:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
11559
e7e09a21e8f9 changed: #reallyModified
Claus Gittinger <cg@exept.de>
parents: 11520
diff changeset
  2185
    "Modified (format): / 05-06-2012 / 23:55:02 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2186
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2187
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2188
showInfo: message
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2189
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2190
    | app |
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2191
    (app := self topView application) ifNotNil:
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2192
        [(app respondsTo: #showInfo:) ifTrue:
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2193
            [app showInfo: message]].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2194
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2195
    "Modified: / 13-02-2010 / 23:25:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2196
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2197
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2198
!CodeView2 methodsFor:'private-accessing'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2199
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2200
gutterView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2201
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2202
    ^gutterView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2203
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2204
    "Created: / 14-02-2010 / 15:21:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2205
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2206
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2207
syntaxElementSelection
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2208
    ^ syntaxElementSelection
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2209
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2210
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2211
syntaxElementSelection:anElement
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2212
    syntaxElementSelection := anElement.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2213
"/    anElement isNil ifTrue:[
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2214
"/        currentParseNodeHolder value: nil.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2215
"/"/        currentBlockNodeHolder value: nil.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2216
"/    ] ifFalse:[
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2217
"/        currentParseNodeHolder value: anElement node.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2218
"/"/        currentBlockNodeHolder value: anElement node enclosingBlock.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2219
"/    ]
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2220
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2221
    "Modified: / 24-09-2013 / 00:14:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2222
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2223
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2224
syntaxElements
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2225
    ^ syntaxElements
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2226
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2227
14705
4750b6f40d9a Temporary hack - sort syntaxElements if not already/
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14674
diff changeset
  2228
syntaxElements:aCollection
4750b6f40d9a Temporary hack - sort syntaxElements if not already/
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14674
diff changeset
  2229
    aCollection notNil ifTrue:[
4750b6f40d9a Temporary hack - sort syntaxElements if not already/
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14674
diff changeset
  2230
        aCollection isSortedCollection ifFalse:[ 
4750b6f40d9a Temporary hack - sort syntaxElements if not already/
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14674
diff changeset
  2231
            aCollection sort.
4750b6f40d9a Temporary hack - sort syntaxElements if not already/
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14674
diff changeset
  2232
        ].
4750b6f40d9a Temporary hack - sort syntaxElements if not already/
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14674
diff changeset
  2233
    ].
4750b6f40d9a Temporary hack - sort syntaxElements if not already/
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14674
diff changeset
  2234
    syntaxElements := aCollection.
4750b6f40d9a Temporary hack - sort syntaxElements if not already/
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14674
diff changeset
  2235
4750b6f40d9a Temporary hack - sort syntaxElements if not already/
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14674
diff changeset
  2236
    "Modified: / 08-08-2014 / 13:18:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2237
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2238
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2239
textView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2240
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2241
    ^textView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2242
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2243
    "Created: / 14-02-2010 / 15:21:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2244
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2245
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2246
textViewScroller
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2247
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2248
    ^textViewScroller
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2249
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2250
    "Created: / 14-02-2010 / 15:21:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2251
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2252
11179
dc0c7401bce0 added: #postRealize
vrany
parents: 11054
diff changeset
  2253
!CodeView2 methodsFor:'realization'!
dc0c7401bce0 added: #postRealize
vrany
parents: 11054
diff changeset
  2254
13062
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2255
disableAllServices
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2256
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2257
    services do:[:service|
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2258
        service enabled:false.
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2259
    ]
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2260
!
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2261
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2262
enableAllServices
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2263
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2264
    services do:[:service|
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2265
        service enabled:true.
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2266
    ]
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2267
!
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2268
11179
dc0c7401bce0 added: #postRealize
vrany
parents: 11054
diff changeset
  2269
postRealize
dc0c7401bce0 added: #postRealize
vrany
parents: 11054
diff changeset
  2270
dc0c7401bce0 added: #postRealize
vrany
parents: 11054
diff changeset
  2271
    services do:[:service|
dc0c7401bce0 added: #postRealize
vrany
parents: 11054
diff changeset
  2272
        service viewRealized.
dc0c7401bce0 added: #postRealize
vrany
parents: 11054
diff changeset
  2273
    ]
dc0c7401bce0 added: #postRealize
vrany
parents: 11054
diff changeset
  2274
dc0c7401bce0 added: #postRealize
vrany
parents: 11054
diff changeset
  2275
    "Created: / 23-01-2012 / 10:35:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
dc0c7401bce0 added: #postRealize
vrany
parents: 11054
diff changeset
  2276
! !
dc0c7401bce0 added: #postRealize
vrany
parents: 11054
diff changeset
  2277
13975
21b5fc56a638 Added Tools::CodeView2>>#flash
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13962
diff changeset
  2278
!CodeView2 methodsFor:'redrawing'!
21b5fc56a638 Added Tools::CodeView2>>#flash
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13962
diff changeset
  2279
21b5fc56a638 Added Tools::CodeView2>>#flash
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13962
diff changeset
  2280
flash
21b5fc56a638 Added Tools::CodeView2>>#flash
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13962
diff changeset
  2281
    textView flash.
21b5fc56a638 Added Tools::CodeView2>>#flash
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13962
diff changeset
  2282
21b5fc56a638 Added Tools::CodeView2>>#flash
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13962
diff changeset
  2283
    "Created: / 21-02-2014 / 16:57:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
14988
a0bec91d2399 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 14986
diff changeset
  2284
!
a0bec91d2399 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 14986
diff changeset
  2285
a0bec91d2399 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 14986
diff changeset
  2286
flash: aString
15826
faa2d1d06728 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15788
diff changeset
  2287
    "delegated to my textview"
faa2d1d06728 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15788
diff changeset
  2288
faa2d1d06728 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15788
diff changeset
  2289
    textView flash:aString.
faa2d1d06728 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15788
diff changeset
  2290
!
faa2d1d06728 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15788
diff changeset
  2291
faa2d1d06728 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15788
diff changeset
  2292
flash: aString withColor:flashColor
faa2d1d06728 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15788
diff changeset
  2293
    "delegated to my textview"
faa2d1d06728 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15788
diff changeset
  2294
14988
a0bec91d2399 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 14986
diff changeset
  2295
    textView flash:aString.
13975
21b5fc56a638 Added Tools::CodeView2>>#flash
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13962
diff changeset
  2296
! !
21b5fc56a638 Added Tools::CodeView2>>#flash
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13962
diff changeset
  2297
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2298
!CodeView2 methodsFor:'services'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2299
13108
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2300
breakpointService
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2301
    "that one or nil"
14844
7a0e0c3a430e class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14843
diff changeset
  2302
13108
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2303
    ^ services detect:[:any| (any isKindOf: BreakpointService)] ifNone:nil
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2304
!
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2305
16607
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  2306
lintService
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  2307
    "prefers the smallsense-lint service over others"
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  2308
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  2309
    ^ services 
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  2310
        detect:[:any| (any isKindOf:SmallSense::SmalltalkLintService)] 
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  2311
        ifNone:[
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  2312
            services 
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  2313
                detect:[:any| (any isLintService)] 
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  2314
                ifNone:nil
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  2315
        ]
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  2316
!
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  2317
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2318
registerService: aCodeViewService
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2319
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2320
    services add: aCodeViewService.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2321
    aCodeViewService registerIn: self
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2322
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2323
    "Created: / 06-03-2010 / 19:19:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2324
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2325
14843
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2326
servicesDo:aBlock
14927
b109a354435c Fixes for enabling / disabling individual CodeView2 services.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14915
diff changeset
  2327
    services notNil ifTrue:[ 
b109a354435c Fixes for enabling / disabling individual CodeView2 services.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14915
diff changeset
  2328
        services do:[ :service | service isEnabled ifTrue:[ aBlock value: service ] ] 
b109a354435c Fixes for enabling / disabling individual CodeView2 services.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14915
diff changeset
  2329
    ]
b109a354435c Fixes for enabling / disabling individual CodeView2 services.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14915
diff changeset
  2330
b109a354435c Fixes for enabling / disabling individual CodeView2 services.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14915
diff changeset
  2331
    "Modified: / 27-11-2014 / 15:38:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
14843
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2332
!
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2333
13108
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2334
syntaxHighlightingService
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2335
    "that one or nil"
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2336
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2337
    ^ services detect:[:any| (any isKindOf: CodeHighlightingService)] ifNone:nil
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2338
!
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2339
13125
71954878986b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13110
diff changeset
  2340
unregisterAllServices
71954878986b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13110
diff changeset
  2341
71954878986b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13110
diff changeset
  2342
    services copy do:[:eachService | self unregisterService:eachService ].
71954878986b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13110
diff changeset
  2343
!
71954878986b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13110
diff changeset
  2344
11616
c23e4a5d3384 added: #unregisterService:
Claus Gittinger <cg@exept.de>
parents: 11606
diff changeset
  2345
unregisterService: aCodeViewService
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2346
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2347
    services remove: aCodeViewService ifAbsent:[^self].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2348
    aCodeViewService unregister.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2349
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2350
    "Created: / 06-03-2010 / 19:21:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
11616
c23e4a5d3384 added: #unregisterService:
Claus Gittinger <cg@exept.de>
parents: 11606
diff changeset
  2351
    "Created: / 19-07-2012 / 16:34:18 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2352
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2353
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2354
!CodeView2 methodsFor:'testing'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2355
14915
f7a2835e0040 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14851
diff changeset
  2356
hasOwnScrollbars
f7a2835e0040 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14851
diff changeset
  2357
    "a hack for codeView2, which behaves like a TextView, but has its own
f7a2835e0040 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14851
diff changeset
  2358
     scrollbars embedded - sigh (an extra load one).
f7a2835e0040 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14851
diff changeset
  2359
     This allows for the UIBuilder to avoid creating an extra set around such
f7a2835e0040 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14851
diff changeset
  2360
     a view (as is the case with TextSpec with scrollbars when using CodeView2)"
f7a2835e0040 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14851
diff changeset
  2361
f7a2835e0040 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14851
diff changeset
  2362
    ^ true
f7a2835e0040 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14851
diff changeset
  2363
!
f7a2835e0040 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14851
diff changeset
  2364
10722
b5c270e3971c category of: #isCodeView2
Claus Gittinger <cg@exept.de>
parents: 10708
diff changeset
  2365
isCodeView2
b5c270e3971c category of: #isCodeView2
Claus Gittinger <cg@exept.de>
parents: 10708
diff changeset
  2366
b5c270e3971c category of: #isCodeView2
Claus Gittinger <cg@exept.de>
parents: 10708
diff changeset
  2367
    ^true
b5c270e3971c category of: #isCodeView2
Claus Gittinger <cg@exept.de>
parents: 10708
diff changeset
  2368
b5c270e3971c category of: #isCodeView2
Claus Gittinger <cg@exept.de>
parents: 10708
diff changeset
  2369
    "Created: / 20-07-2010 / 15:43:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b5c270e3971c category of: #isCodeView2
Claus Gittinger <cg@exept.de>
parents: 10708
diff changeset
  2370
!
b5c270e3971c category of: #isCodeView2
Claus Gittinger <cg@exept.de>
parents: 10708
diff changeset
  2371
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2372
isTextView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2373
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2374
    ^true
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2375
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2376
    "Created: / 14-02-2010 / 22:13:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2377
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2378
14986
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2379
!CodeView2::AnnotationShowingScrollerBackground class methodsFor:'documentation'!
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2380
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2381
documentation
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2382
"
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2383
    I am a scroller background used to show annotation positions
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2384
    (very similar to the DiffTextScrollerBackground).
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2385
    I draw little markers at positions where annotations are.
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2386
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2387
    I need a reference to the textView and the list of annotations.
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2388
"
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2389
! !
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2390
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2391
!CodeView2::AnnotationShowingScrollerBackground methodsFor:'accessing'!
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2392
16890
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2393
annotations:aCollectionOfAnnotations
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2394
    annotations := aCollectionOfAnnotations.
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2395
!
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2396
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2397
breakpoints:aCollectionOfBreakpoints
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2398
    breakpoints := aCollectionOfBreakpoints.
14986
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2399
!
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2400
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2401
textView:something
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2402
    textView := something.
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2403
! !
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2404
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2405
!CodeView2::AnnotationShowingScrollerBackground methodsFor:'drawing'!
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2406
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2407
fillRectangleX:x y:y width:w height:h in:aScroller
16620
5fbb028b00dd #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16613
diff changeset
  2408
    "I am asked to draw the background of aScroller.
5fbb028b00dd #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16613
diff changeset
  2409
     If any annotation is in that range, draw it"
5fbb028b00dd #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16613
diff changeset
  2410
    
16890
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2411
    |overAllHeight drawRect scrollerHeight|
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2412
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2413
    annotations isEmptyOrNil ifTrue:[
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2414
        breakpoints isEmptyOrNil ifTrue:[
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2415
            ^ self 
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2416
        ].
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2417
    ].
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2418
    
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2419
    scrollerHeight := aScroller height.
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2420
    drawRect :=
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2421
        [:lineNr :clrInside |
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2422
            |clrBorder yThumb|
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2423
            
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2424
            yThumb := (scrollerHeight * (lineNr / overAllHeight)) rounded.
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2425
            (yThumb between:y-5 and:(y + h + 5)) ifTrue:[
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2426
                clrBorder := clrInside darkened.
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2427
                aScroller paint:clrInside.
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2428
                aScroller fillRectangleX:3 y:(yThumb-5 max:0) width:aScroller width-5 height:8.
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2429
                aScroller paint:clrBorder.
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2430
                aScroller displayRectangleX:3 y:(yThumb-5 max:0) width:aScroller width-5 height:9.
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2431
            ].    
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2432
        ].
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2433
        
14986
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2434
    overAllHeight := textView numberOfLines.
14992
d8e909bf2407 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14988
diff changeset
  2435
    overAllHeight = 0 ifTrue:[ ^ self ].
d8e909bf2407 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14988
diff changeset
  2436
16890
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2437
    annotations notEmptyOrNil ifTrue:[
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2438
        annotations do:[:eachAnnotation |
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2439
            |lineNr severityColor severity|
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2440
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2441
            (lineNr := eachAnnotation line) notNil ifTrue:[ 
16607
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  2442
                severity := eachAnnotation rule severity.
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  2443
                severity == #error ifTrue:[
16890
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2444
                    severityColor := Color red.
16578
5158bde22d4c #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16577
diff changeset
  2445
                ] ifFalse:[
16607
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  2446
                    severity == #warning ifTrue:[
16890
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2447
                        severityColor := Color yellow.
16578
5158bde22d4c #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16577
diff changeset
  2448
                    ] ifFalse:[
16890
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2449
                        severityColor := Color blue.
16578
5158bde22d4c #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16577
diff changeset
  2450
                    ].    
5158bde22d4c #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16577
diff changeset
  2451
                ].    
16890
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2452
                drawRect value:lineNr value:severityColor lightened.
14986
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2453
            ].
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2454
        ].
16890
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2455
    ].
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2456
    breakpoints notEmptyOrNil ifTrue:[
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2457
        breakpoints do:[:eachBreakpoint |
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2458
            (eachBreakpoint isVisible and:[eachBreakpoint isEnabled]) ifTrue:[ 
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2459
                |lineNr bpntColor|
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2460
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2461
                (lineNr := eachBreakpoint line) notNil ifTrue:[    
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2462
                    bpntColor := eachBreakpoint isTracepoint
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2463
                                    ifTrue:[ Color blue lightened]
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2464
                                    ifFalse:[ Color red ].
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2465
                    drawRect value:lineNr value:bpntColor.
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2466
                ].
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2467
            ].
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2468
        ].
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2469
    ].
14986
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2470
! !
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2471
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2472
!CodeView2::AnnotationShowingScrollerBackground methodsFor:'ignored conversion'!
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2473
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2474
asFormOn:aDevice
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2475
    "superclass AbstractBackground says that I am responsible to implement this method"
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2476
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2477
    ^ self 
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2478
!
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2479
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2480
onDevice:aDevice
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2481
    "superclass AbstractBackground says that I am responsible to implement this method"
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2482
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2483
    ^ self 
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2484
! !
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2485
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2486
!CodeView2::GutterView methodsFor:'accessing'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2487
13098
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2488
menuHolder:aValueThing
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2489
    menuHolder := aValueThing
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2490
!
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2491
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2492
setTextView: aTextView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2493
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2494
    self assert: textView isNil message:'Attempting to set textView twice'.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2495
    textView := aTextView.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2496
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2497
    textView addDependent:self.
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2498
10577
ae449524a0b4 redrawing grey
Claus Gittinger <cg@exept.de>
parents: 10523
diff changeset
  2499
    "/ self backgroundPaint: textView backgroundPaint darkened lighter.
ae449524a0b4 redrawing grey
Claus Gittinger <cg@exept.de>
parents: 10523
diff changeset
  2500
    self viewBackground: (View defaultBackgroundColor). "/ textView backgroundPaint darkened lighter.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2501
    self paint: textView paint.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2502
    self font: textView font.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2503
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2504
    "Created: / 02-09-2009 / 21:55:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2505
    "Modified: / 14-12-2009 / 15:09:29 / Jindra <a>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2506
    "Modified: / 09-02-2010 / 20:03:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10577
ae449524a0b4 redrawing grey
Claus Gittinger <cg@exept.de>
parents: 10523
diff changeset
  2507
    "Modified: / 17-08-2011 / 15:15:09 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2508
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2509
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2510
setTextViewScroller:aScr
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2511
    textViewScroller := aScr.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2512
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2513
    "Created: / 07-12-2009 / 22:36:31 / Jindra <a>"
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2514
!
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2515
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2516
showLineNumbers:aBoolean
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2517
    "can be used to turn off linenumber drawing, 
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2518
     in case the gutter is used with another view anf only the other features (breakpoints) are needed"
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2519
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2520
    showLineNumbers := aBoolean.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2521
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2522
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2523
!CodeView2::GutterView methodsFor:'accessing-dimensions'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2524
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2525
acceptButtonBottom
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2526
10791
a12cd2d06fe3 Bug fix in accept/cancel bar redraw
vrany
parents: 10788
diff changeset
  2527
    ^(self height * 0.6) ceiling.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2528
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2529
    "Created: / 07-10-2011 / 19:53:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2530
!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2531
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2532
acceptCancelRight
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2533
    ^((self paddingLeft) + self usedWidthForAcceptCancel)
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2534
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2535
    "Created: / 10-09-2013 / 03:00:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2536
    "Modified: / 14-02-2014 / 12:06:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2537
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2538
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2539
cancelButtonBottom  
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2540
10791
a12cd2d06fe3 Bug fix in accept/cancel bar redraw
vrany
parents: 10788
diff changeset
  2541
    ^(self height * 0.8) ceiling.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2542
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2543
    "Created: / 07-10-2011 / 19:54:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2544
!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2545
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2546
padding
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2547
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2548
    ^self paddingLeft + self paddingRight 
11988
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  2549
        + self usedWidthForAcceptCancel    
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2550
        + (widthAnnotations ? 0) 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2551
        + (widthDiffInfo ? 0)
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2552
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2553
    "Created: / 14-02-2010 / 22:28:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2554
    "Modified: / 07-10-2011 / 19:01:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2555
    "Modified (format): / 07-10-2011 / 20:45:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2556
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2557
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2558
paddingLeft
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2559
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2560
    ^0"px"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2561
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2562
    "Created: / 14-02-2010 / 22:27:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2563
    "Modified: / 16-06-2011 / 13:47:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2564
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2565
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2566
paddingRight
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2567
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2568
    ^3"px"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2569
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2570
    "Created: / 14-02-2010 / 22:27:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2571
    "Modified: / 16-02-2012 / 22:40:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2572
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2573
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2574
preferredExtent
11467
9465ed2c4e74 comment
Claus Gittinger <cg@exept.de>
parents: 11429
diff changeset
  2575
    | font w h |
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2576
14986
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2577
    explicitExtent notNil ifTrue:[ ^ explicitExtent ].
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2578
    preferredExtent notNil ifTrue:[ ^ preferredExtent ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2579
11467
9465ed2c4e74 comment
Claus Gittinger <cg@exept.de>
parents: 11429
diff changeset
  2580
    font := self font.
9465ed2c4e74 comment
Claus Gittinger <cg@exept.de>
parents: 11429
diff changeset
  2581
    w := (font widthOf:'00') + self padding.
9465ed2c4e74 comment
Claus Gittinger <cg@exept.de>
parents: 11429
diff changeset
  2582
    h := textView notNil 
9465ed2c4e74 comment
Claus Gittinger <cg@exept.de>
parents: 11429
diff changeset
  2583
            ifTrue:[textView height] 
9465ed2c4e74 comment
Claus Gittinger <cg@exept.de>
parents: 11429
diff changeset
  2584
            ifFalse:[font height * 12].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2585
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2586
    ^preferredExtent := w @ h
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2587
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2588
    "Modified: / 16-06-2011 / 14:03:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
11467
9465ed2c4e74 comment
Claus Gittinger <cg@exept.de>
parents: 11429
diff changeset
  2589
    "Modified (format): / 26-03-2012 / 11:19:54 / cg"
11988
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  2590
!
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  2591
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  2592
usedWidthForAcceptCancel
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2593
    ^ (codeView notNil and:[codeView showAcceptCancelBar]) ifTrue:[widthAcceptCancel ? 0] ifFalse:[0]
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2594
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2595
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2596
!CodeView2::GutterView methodsFor:'actions'!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2597
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2598
accept
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2599
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2600
    textView accept
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2601
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2602
    "Created: / 07-10-2011 / 20:23:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2603
!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2604
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2605
cancel
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2606
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2607
    textView cancel
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2608
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2609
    "Created: / 07-10-2011 / 20:23:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2610
!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2611
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2612
diff
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2613
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2614
    "Created: / 07-10-2011 / 20:23:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13097
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  2615
!
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  2616
13108
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2617
inspectView
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2618
    self halt.
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2619
!
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2620
13098
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2621
middleButtonMenu    
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2622
    menuHolder notNil ifTrue:[^ menuHolder value].
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2623
    codeView isNil ifTrue:[^ nil].
13097
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  2624
    ^ codeView servicesMenu
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2625
! !
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2626
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2627
!CodeView2::GutterView methodsFor:'aspects'!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2628
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2629
currentBlockNodeHolder
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2630
    "return/create the 'currentBlockNodeHolder' value holder (automatically generated)"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2631
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2632
    currentBlockNodeHolder isNil ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2633
        currentBlockNodeHolder := ValueHolder new.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2634
        currentBlockNodeHolder addDependent:self.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2635
    ].
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2636
    ^ currentBlockNodeHolder
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2637
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2638
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2639
currentBlockNodeHolder:something
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2640
    "set the 'currentBlockNodeHolder' value holder (automatically generated)"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2641
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2642
    |oldValue newValue|
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2643
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2644
    currentBlockNodeHolder notNil ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2645
        oldValue := currentBlockNodeHolder value.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2646
        currentBlockNodeHolder removeDependent:self.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2647
    ].
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2648
    currentBlockNodeHolder := something.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2649
    currentBlockNodeHolder notNil ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2650
        currentBlockNodeHolder addDependent:self.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2651
    ].
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2652
    newValue := currentBlockNodeHolder value.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2653
    oldValue ~~ newValue ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2654
        self update:#value with:newValue from:currentBlockNodeHolder.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2655
    ].
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2656
! !
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2657
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2658
!CodeView2::GutterView methodsFor:'change & update'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2659
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2660
adjustSizeForLongestLine
13098
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2661
    "recompute the required width (longest linenumber present, not shown)"
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2662
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2663
    |newNumberOfLines longestLineString textW requiredW newWidth|
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2664
13568
c251f9a016d9 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13567
diff changeset
  2665
    showLineNumbers ifFalse:[^ self].
c251f9a016d9 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13567
diff changeset
  2666
13105
4e02e8dc7d4b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13098
diff changeset
  2667
    newNumberOfLines := (textView list size max:textView cursorLine).
13098
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2668
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2669
    longestLineString := self displayedString:(newNumberOfLines max:99).
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2670
    textW := (longestLineString widthOn:self).
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2671
    requiredW := textW + self padding.
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2672
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2673
    ((requiredW > width) or:[requiredW < (width * 3 // 4)]) ifTrue:[
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2674
        "/ some hysteresis to avoid quick readjust again
13316
1f476bdeb46c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13213
diff changeset
  2675
        newWidth := (requiredW "* 1.1") rounded.
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2676
        self corner:(newWidth+1 @ 1.0).
13316
1f476bdeb46c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13213
diff changeset
  2677
13085
42d374ca3b6e class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13072
diff changeset
  2678
        [
42d374ca3b6e class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13072
diff changeset
  2679
            textView removeDependent:self.
13568
c251f9a016d9 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13567
diff changeset
  2680
            textViewScroller notNil ifTrue:[ textViewScroller origin:(newWidth+1 @ 0.0) corner:(1.0 @ 1.0) ].
13085
42d374ca3b6e class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13072
diff changeset
  2681
        ] ensure:[
42d374ca3b6e class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13072
diff changeset
  2682
            textView addDependent:self.
42d374ca3b6e class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13072
diff changeset
  2683
        ].
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2684
        self invalidate.
13098
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2685
    ] ifFalse:[
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2686
        numberOfLines ~= newNumberOfLines ifTrue:[
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2687
            self invalidate
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2688
        ]
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2689
    ].
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2690
!
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2691
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2692
update:something with:aParameter from:changedObject
14127
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2693
    |deltaY numPixels hScrollerHeight|
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2694
10326
Claus Gittinger <cg@exept.de>
parents: 10312
diff changeset
  2695
    (changedObject == textView) ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2696
        ((something == #sizeOfContents)
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2697
        or:[ "false "(something == #visibility)"" ]) ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2698
            self adjustSizeForLongestLine.
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2699
14127
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2700
            "/ (numberOfLines ~= (textView list size max:textView cursorLine)) ifTrue:[
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2701
            "/     self invalidate.
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2702
            "/ ].
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2703
            ^ self.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2704
        ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2705
        something == #originOfContents ifTrue:[
14127
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2706
            aParameter notNil ifTrue:[
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2707
                deltaY := aParameter y.
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2708
                deltaY = 0 ifTrue:[^ self].
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2709
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2710
                numPixels := deltaY abs.
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2711
                numPixels < (height // 5) ifTrue:[
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2712
                    deltaY < 0 ifTrue:[
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2713
                        self invalidateX:0 y:0 width:width height:numPixels.
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2714
                    ] ifFalse:[
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2715
                        hScrollerHeight := 0.
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2716
                        (textViewScroller notNil
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2717
                        and:[textViewScroller horizontalScrollBar notNil]) ifTrue:[
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2718
                            hScrollerHeight := textViewScroller horizontalScrollBar height.
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2719
                        ].
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2720
                        numPixels := numPixels + 4.
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2721
                        self invalidateX:0 y:height-numPixels-hScrollerHeight width:width height:numPixels+hScrollerHeight.
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2722
                    ].
15520
ee71c6d3d759 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15475
diff changeset
  2723
                    "/ self repairDamage.
14127
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2724
                    ^ self.
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2725
                ].
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2726
            ].
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2727
            self invalidateLines.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2728
            ^ self.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2729
        ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2730
        "/ something printCR.
10312
5b281e46f943 Fixes to avoid unncessary redraws of GutterView
vrany
parents: 10293
diff changeset
  2731
    ].
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2732
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2733
    (changedObject == textView reallyModifiedChannel) ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2734
        self invalidateAcceptCancelBar.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2735
        ^self.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2736
    ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2737
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2738
    super update:something with:aParameter from:changedObject
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2739
10326
Claus Gittinger <cg@exept.de>
parents: 10312
diff changeset
  2740
    "Modified (format): / 15-07-2011 / 20:14:04 / cg"
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2741
    "Modified: / 14-02-2014 / 12:08:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2742
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2743
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2744
!CodeView2::GutterView methodsFor:'event handling'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2745
14843
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2746
buttonMultiPress: btn x: x y: y
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2747
    |extraSafeArea|
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2748
14963
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2749
    Processor removeTimedBlock:blockWaitingForPossibleDoubleClick.
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2750
    blockWaitingForPossibleDoubleClick := nil.
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2751
14851
eeee217e8bee class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14850
diff changeset
  2752
    "/ for the embedded accept-cancel bar, if enabled
14843
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2753
    (x <= (self paddingLeft + self usedWidthForAcceptCancel)) ifTrue:[
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2754
        textView reallyModified ifTrue:[
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2755
            (y < self acceptButtonBottom) ifTrue:[
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2756
                ^self.
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2757
            ].
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2758
            (y < self cancelButtonBottom) ifTrue:[
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2759
                ^self.            
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2760
            ].
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2761
        ].
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2762
        ^self.
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2763
    ].
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2764
14851
eeee217e8bee class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14850
diff changeset
  2765
    false ifTrue:[
eeee217e8bee class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14850
diff changeset
  2766
        "Do not allow clicking on line numbers..."
eeee217e8bee class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14850
diff changeset
  2767
        extraSafeArea := "('999' widthOn:self)" 5.
eeee217e8bee class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14850
diff changeset
  2768
        x < (self width - self paddingRight - widthDiffInfo - extraSafeArea) ifFalse:[^ self].
eeee217e8bee class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14850
diff changeset
  2769
    ].
eeee217e8bee class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14850
diff changeset
  2770
14843
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2771
    codeView notNil ifTrue:[
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2772
        ((x > (self paddingLeft + self usedWidthForAcceptCancel)) or:
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2773
            [x < (self width - self paddingRight - widthDiffInfo)]
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2774
        ) ifTrue:[
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2775
            (codeView buttonMultiPress: btn x:x y:y in: self) ifTrue:[^ self].   "/ event eaten
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2776
        ].
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2777
    ].
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2778
    super buttonMultiPress: btn x: x y: y
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2779
!
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2780
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2781
buttonPress: btn x: x y: y
14963
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2782
    blockWaitingForPossibleDoubleClick :=
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2783
        [
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2784
            self nonMultiButtonPress: btn x: x y: y
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2785
        ].
15625
2f6a53bee89f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15521
diff changeset
  2786
    Processor 
2f6a53bee89f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15521
diff changeset
  2787
        addTimedBlock:blockWaitingForPossibleDoubleClick 
2f6a53bee89f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15521
diff changeset
  2788
        for:Processor activeProcess 
2f6a53bee89f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15521
diff changeset
  2789
        afterMilliseconds:200.
14963
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2790
!
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2791
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2792
nonMultiButtonPress: btn x: x y: y
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2793
    "this is now called delayed for a single button press
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2794
     (i.e. if there is not other click within some time)"
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2795
11520
091c7e0e435a added a save-area (line-number) into which a click does not toggle
Claus Gittinger <cg@exept.de>
parents: 11467
diff changeset
  2796
    |extraSafeArea|
091c7e0e435a added a save-area (line-number) into which a click does not toggle
Claus Gittinger <cg@exept.de>
parents: 11467
diff changeset
  2797
14851
eeee217e8bee class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14850
diff changeset
  2798
    "/ for the embedded accept-cancel bar, if enabled
11988
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  2799
    (x <= (self paddingLeft + self usedWidthForAcceptCancel)) ifTrue:[
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  2800
        textView reallyModified ifTrue:[
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  2801
            (y < self acceptButtonBottom) ifTrue:[
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  2802
                self accept.
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  2803
                ^self.
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  2804
            ].
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  2805
            (y < self cancelButtonBottom) ifTrue:[
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  2806
                self cancel.
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  2807
                ^self.            
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  2808
            ].
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  2809
            self diff.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2810
        ].
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2811
        ^self.
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2812
    ].
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2813
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2814
    false ifTrue:[
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2815
        "Do not allow clicking on line numbers..."
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2816
        extraSafeArea := "('999' widthOn:self)" 5.
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2817
        x < (self width - self paddingRight - widthDiffInfo - extraSafeArea) ifFalse:[^ self].
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2818
    ].
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2819
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2820
    codeView notNil ifTrue:[
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2821
        ((x > (self paddingLeft + self usedWidthForAcceptCancel)) or:
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2822
            [x < (self width - self paddingRight - widthDiffInfo)]
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2823
        ) ifTrue:[
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2824
            (codeView buttonPress: btn x:x y:y in: self) ifTrue:[^ self].   "/ event eaten
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2825
        ].
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2826
    ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2827
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2828
    "Created: / 17-06-2011 / 13:02:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
11520
091c7e0e435a added a save-area (line-number) into which a click does not toggle
Claus Gittinger <cg@exept.de>
parents: 11467
diff changeset
  2829
    "Modified (comment): / 18-05-2012 / 10:56:54 / cg"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2830
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2831
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2832
sizeChanged:how
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2833
    super sizeChanged:how.
15520
ee71c6d3d759 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15475
diff changeset
  2834
    "/ self invalidateAcceptCancelBar.
ee71c6d3d759 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15475
diff changeset
  2835
    self invalidate.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2836
    "Created: / 10-09-2013 / 03:19:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2837
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2838
11220
82c46989af92 flybyhelp in gutter
Claus Gittinger <cg@exept.de>
parents: 11179
diff changeset
  2839
!CodeView2::GutterView methodsFor:'help'!
82c46989af92 flybyhelp in gutter
Claus Gittinger <cg@exept.de>
parents: 11179
diff changeset
  2840
14843
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2841
flyByHelpTextAt:aPointOrNil
16557
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2842
    |lineNr textCollector services|
14843
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2843
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2844
    codeView isNil ifTrue:[^ nil].
16557
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2845
    aPointOrNil isNil ifTrue:[^ nil].
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2846
    
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2847
    lineNr := codeView lineAtY:aPointOrNil y.
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2848
    lineNr isNil ifTrue:[^ nil].
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2849
    
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2850
    textCollector := TextStream new.
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2851
    
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2852
    "/ which service has an annotation for that line
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2853
    services := codeView services.
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2854
    "/ show lintservice-help first
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2855
    services := (services select:[:s | s isLintService])
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2856
                ,(services reject:[:s | s isLintService]).
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2857
                
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2858
    services do:[:eachService |
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2859
        |tooltip|
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2860
        
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2861
        tooltip := eachService flyByHelpTextAtLine:lineNr.
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2862
        tooltip notEmptyOrNil ifTrue:[
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2863
            textCollector notEmpty ifTrue:[ textCollector cr].
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2864
            textCollector nextPutAllText:tooltip.
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2865
            tooltip last == Character cr ifFalse:[textCollector cr].
14843
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2866
        ].
12903
22da380892a5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12870
diff changeset
  2867
    ].
16557
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2868
    textCollector isEmpty ifTrue:[ ^ nil ].
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2869
    ^ textCollector contents.    
11220
82c46989af92 flybyhelp in gutter
Claus Gittinger <cg@exept.de>
parents: 11179
diff changeset
  2870
! !
82c46989af92 flybyhelp in gutter
Claus Gittinger <cg@exept.de>
parents: 11179
diff changeset
  2871
14545
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  2872
!CodeView2::GutterView methodsFor:'initialize & release'!
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2873
19614
0d756d4c5298 Themes: use stylesheet to define colors for accept-cancel bars
Jan Vrany <jan.vrany@labware.com>
parents: 19608
diff changeset
  2874
initStyle
0d756d4c5298 Themes: use stylesheet to define colors for accept-cancel bars
Jan Vrany <jan.vrany@labware.com>
parents: 19608
diff changeset
  2875
    "this method sets up all style dependent things"
0d756d4c5298 Themes: use stylesheet to define colors for accept-cancel bars
Jan Vrany <jan.vrany@labware.com>
parents: 19608
diff changeset
  2876
0d756d4c5298 Themes: use stylesheet to define colors for accept-cancel bars
Jan Vrany <jan.vrany@labware.com>
parents: 19608
diff changeset
  2877
    <resource: #style (#'acceptAndCancelBar.acceptBackgroundColor'
0d756d4c5298 Themes: use stylesheet to define colors for accept-cancel bars
Jan Vrany <jan.vrany@labware.com>
parents: 19608
diff changeset
  2878
                       #'acceptAndCancelBar.cancelBackgroundColor'
0d756d4c5298 Themes: use stylesheet to define colors for accept-cancel bars
Jan Vrany <jan.vrany@labware.com>
parents: 19608
diff changeset
  2879
                       #'acceptAndCancelBar.compareBackgroundColor')>
0d756d4c5298 Themes: use stylesheet to define colors for accept-cancel bars
Jan Vrany <jan.vrany@labware.com>
parents: 19608
diff changeset
  2880
0d756d4c5298 Themes: use stylesheet to define colors for accept-cancel bars
Jan Vrany <jan.vrany@labware.com>
parents: 19608
diff changeset
  2881
    super initStyle.
0d756d4c5298 Themes: use stylesheet to define colors for accept-cancel bars
Jan Vrany <jan.vrany@labware.com>
parents: 19608
diff changeset
  2882
0d756d4c5298 Themes: use stylesheet to define colors for accept-cancel bars
Jan Vrany <jan.vrany@labware.com>
parents: 19608
diff changeset
  2883
    acceptColor := styleSheet colorAt: 'acceptAndCancelBar.acceptBackgroundColor' 
0d756d4c5298 Themes: use stylesheet to define colors for accept-cancel bars
Jan Vrany <jan.vrany@labware.com>
parents: 19608
diff changeset
  2884
                              default: [ UserPreferences current useColorsForColorBlindness 
0d756d4c5298 Themes: use stylesheet to define colors for accept-cancel bars
Jan Vrany <jan.vrany@labware.com>
parents: 19608
diff changeset
  2885
                                            ifTrue:[ Color blue lighter onDevice:device ]
0d756d4c5298 Themes: use stylesheet to define colors for accept-cancel bars
Jan Vrany <jan.vrany@labware.com>
parents: 19608
diff changeset
  2886
                                            ifFalse:[ Color green lighter onDevice:device ] ].
0d756d4c5298 Themes: use stylesheet to define colors for accept-cancel bars
Jan Vrany <jan.vrany@labware.com>
parents: 19608
diff changeset
  2887
0d756d4c5298 Themes: use stylesheet to define colors for accept-cancel bars
Jan Vrany <jan.vrany@labware.com>
parents: 19608
diff changeset
  2888
    cancelColor := styleSheet colorAt: 'acceptAndCancelBar.cancelBackgroundColor' 
0d756d4c5298 Themes: use stylesheet to define colors for accept-cancel bars
Jan Vrany <jan.vrany@labware.com>
parents: 19608
diff changeset
  2889
                              default: [ Color red lighter onDevice:device ].
0d756d4c5298 Themes: use stylesheet to define colors for accept-cancel bars
Jan Vrany <jan.vrany@labware.com>
parents: 19608
diff changeset
  2890
0d756d4c5298 Themes: use stylesheet to define colors for accept-cancel bars
Jan Vrany <jan.vrany@labware.com>
parents: 19608
diff changeset
  2891
    diffColor := styleSheet colorAt: 'acceptAndCancelBar.compareBackgroundColor' 
0d756d4c5298 Themes: use stylesheet to define colors for accept-cancel bars
Jan Vrany <jan.vrany@labware.com>
parents: 19608
diff changeset
  2892
                              default: [ Color yellow lighter onDevice:device ].
0d756d4c5298 Themes: use stylesheet to define colors for accept-cancel bars
Jan Vrany <jan.vrany@labware.com>
parents: 19608
diff changeset
  2893
0d756d4c5298 Themes: use stylesheet to define colors for accept-cancel bars
Jan Vrany <jan.vrany@labware.com>
parents: 19608
diff changeset
  2894
    "Created: / 14-10-2021 / 09:19:13 / Jan Vrany <jan.vrany@labware.com>"
0d756d4c5298 Themes: use stylesheet to define colors for accept-cancel bars
Jan Vrany <jan.vrany@labware.com>
parents: 19608
diff changeset
  2895
!
0d756d4c5298 Themes: use stylesheet to define colors for accept-cancel bars
Jan Vrany <jan.vrany@labware.com>
parents: 19608
diff changeset
  2896
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2897
initialize
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2898
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2899
    super initialize.
11988
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  2900
14963
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2901
    blockWaitingForPossibleDoubleClick := nil.
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2902
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2903
    showLineNumbers := true.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2904
    widthAcceptCancel := 16.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2905
    widthAnnotations := "16"8.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2906
    widthDiffInfo := 5.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2907
14983
4e23aedeee9a class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14963
diff changeset
  2908
    self enableMotionEvents.   "/ for per-line tooltips
4e23aedeee9a class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14963
diff changeset
  2909
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2910
    "Created: / 16-06-2011 / 13:47:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
19614
0d756d4c5298 Themes: use stylesheet to define colors for accept-cancel bars
Jan Vrany <jan.vrany@labware.com>
parents: 19608
diff changeset
  2911
    "Modified: / 14-10-2021 / 09:21:59 / Jan Vrany <jan.vrany@labware.com>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2912
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2913
14545
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  2914
release
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  2915
    codeView removeDependent: self.  
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  2916
    textView removeDependent: self.
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  2917
    currentBlockNodeHolder notNil ifTrue:[
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  2918
        currentBlockNodeHolder removeDependent: self
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  2919
    ].
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  2920
    super release.
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  2921
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  2922
    "Created: / 23-06-2014 / 20:47:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  2923
!
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  2924
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2925
setCodeView: aCodeView2
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2926
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2927
    codeView := aCodeView2.
11988
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  2928
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2929
    codeView addDependent: self.
10784
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  2930
    codeView reallyModifiedChannel addDependent: self.
13993
ec74fc4b84e5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13978
diff changeset
  2931
    "/ codeView currentBlockNodeHolder addDependent: self. - not needed; currentBlockNodeHolder: does it
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2932
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2933
    textView := aCodeView2 textView.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2934
    textView addDependent: self.
13993
ec74fc4b84e5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13978
diff changeset
  2935
    "/ do not fetch stuff from others - let others give me things (caller change to send currentBlockNodeHolder: explicitly)
ec74fc4b84e5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13978
diff changeset
  2936
    "/ self currentBlockNodeHolder: codeView currentBlockNodeHolder.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2937
    textViewScroller := aCodeView2 textViewScroller.
10577
ae449524a0b4 redrawing grey
Claus Gittinger <cg@exept.de>
parents: 10523
diff changeset
  2938
    "/ self backgroundPaint: (textView viewBackground "backgroundPaint" blendWith: (Color gray:80)).
ae449524a0b4 redrawing grey
Claus Gittinger <cg@exept.de>
parents: 10523
diff changeset
  2939
    self viewBackground: (View defaultBackgroundColor).
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2940
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2941
    "Created: / 14-02-2010 / 15:19:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10577
ae449524a0b4 redrawing grey
Claus Gittinger <cg@exept.de>
parents: 10523
diff changeset
  2942
    "Modified: / 17-08-2011 / 15:15:55 / cg"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2943
    "Modified: / 05-04-2012 / 17:46:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2944
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2945
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2946
!CodeView2::GutterView methodsFor:'queries'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2947
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2948
displayedString: line
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2949
    "get text to display in gutter for specified list line number"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2950
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2951
    ^(line asString).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2952
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2953
    "Created: / 14-12-2009 / 13:37:47 / Jindra <a>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2954
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2955
13105
4e02e8dc7d4b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13098
diff changeset
  2956
lineColorForLine:line
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2957
    "return special color for given line if required, nil otherwise"
13105
4e02e8dc7d4b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13098
diff changeset
  2958
    "used only if lineFont returns nil"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2959
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2960
    ^nil
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2961
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2962
    "Created: / 14-12-2009 / 15:01:31 / Jindra <a>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2963
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2964
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2965
lineDisplayable:line
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2966
    "true if this list line can be displayed"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2967
    ^(textView listLineIsVisible:line)
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2968
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2969
    "Created: / 14-12-2009 / 13:38:23 / Jindra <a>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2970
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2971
13105
4e02e8dc7d4b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13098
diff changeset
  2972
lineFontForLine:line
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2973
    "return special font for given line if required, nil otherwise"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2974
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2975
    ^nil
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2976
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2977
    "Created: / 14-12-2009 / 14:40:17 / Jindra <a>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2978
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2979
13566
e238ad7e24fc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13565
diff changeset
  2980
wantsFocusWithButtonPress
e238ad7e24fc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13565
diff changeset
  2981
    ^ false.
e238ad7e24fc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13565
diff changeset
  2982
!
e238ad7e24fc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13565
diff changeset
  2983
13213
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  2984
yOfTextViewLine:lineNr
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  2985
    "defined to allow computation of a line below what is visible in
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  2986
     the textView (because gutter may become higher than textView, iff
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  2987
     the textView has a horizontal scrollbar"
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  2988
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  2989
    |visibleLineNr "{ Class: SmallInteger }"|
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  2990
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2991
    "/JV: BAD, BAD BAD - check senders, they are not prepared
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2992
    "/    to get nil!!
13213
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  2993
    shown ifFalse:[^ nil].
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  2994
    lineNr isNil ifTrue:[^ nil].
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  2995
    visibleLineNr := lineNr - textView firstLineShown + 1.
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  2996
    ^ textView yOfVisibleLine:visibleLineNr
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2997
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2998
    "Modified (format): / 28-08-2013 / 12:49:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2999
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3000
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3001
!CodeView2::GutterView methodsFor:'redrawing'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3002
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3003
invalidateAcceptCancelBar
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3004
    | w |
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3005
15520
ee71c6d3d759 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15475
diff changeset
  3006
    self usedWidthForAcceptCancel == 0 ifTrue:[^ self].
13978
f4adc42d7354 Fixed some redraw problems when internal accept-cancel is disabled.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13975
diff changeset
  3007
    w := self acceptCancelRight.
f4adc42d7354 Fixed some redraw problems when internal accept-cancel is disabled.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13975
diff changeset
  3008
    w == 0 ifTrue:[ ^ self ].
15520
ee71c6d3d759 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15475
diff changeset
  3009
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3010
    self
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3011
        invalidateX: 0
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3012
                  y: 0
16127
4ae6c7d4444b CodeVIew2: Again, another attempt to fix redraw bug in accept/cancel bar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15894
diff changeset
  3013
              width: w
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3014
             height: self height.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3015
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3016
    "Created: / 10-09-2013 / 03:07:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
16127
4ae6c7d4444b CodeVIew2: Again, another attempt to fix redraw bug in accept/cancel bar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15894
diff changeset
  3017
    "Modified: / 22-02-2016 / 20:05:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3018
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3019
13097
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  3020
invalidateDeviceRectangle:aRectangle repairNow:doRepairNow
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  3021
    ^ super invalidateDeviceRectangle:aRectangle repairNow:doRepairNow
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  3022
!
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  3023
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3024
invalidateLines
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3025
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3026
    | x0 |
15520
ee71c6d3d759 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15475
diff changeset
  3027
    x0 := self acceptCancelRight "+ 1".
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3028
    self
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3029
        invalidateX: x0
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3030
                  y: 0
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3031
              width: self width - x0
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3032
             height: self height.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3033
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3034
    "Created: / 10-09-2013 / 03:08:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3035
    "Modified: / 14-02-2014 / 12:19:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3036
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3037
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3038
redrawAcceptCancelBarX: x y: y width:w height:h
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3039
13978
f4adc42d7354 Fixed some redraw problems when internal accept-cancel is disabled.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13975
diff changeset
  3040
    | rw acceptRight acceptBottom cancelBottom |
f4adc42d7354 Fixed some redraw problems when internal accept-cancel is disabled.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13975
diff changeset
  3041
f4adc42d7354 Fixed some redraw problems when internal accept-cancel is disabled.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13975
diff changeset
  3042
    acceptRight := self acceptCancelRight.
f4adc42d7354 Fixed some redraw problems when internal accept-cancel is disabled.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13975
diff changeset
  3043
    x >= acceptRight ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3044
        ^self.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3045
    ].
13978
f4adc42d7354 Fixed some redraw problems when internal accept-cancel is disabled.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13975
diff changeset
  3046
    rw := ((x + w) min: acceptRight) - x.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3047
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3048
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3049
    textView reallyModified ifFalse:[
17254
e3d0bbb6b28f #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 17242
diff changeset
  3050
        gc fillRectangleX:x y:y width:rw height:h color: self viewBackground
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3051
    ] ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3052
        acceptBottom := self acceptButtonBottom.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3053
        cancelBottom := self cancelButtonBottom.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3054
        y < acceptBottom ifTrue:[
17254
e3d0bbb6b28f #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 17242
diff changeset
  3055
            gc fillRectangleX:x y:y width:rw height: ((y + h) min: acceptBottom) color: acceptColor.
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3056
        ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3057
        (y < cancelBottom) ifTrue:[
17254
e3d0bbb6b28f #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 17242
diff changeset
  3058
            gc fillRectangleX:x y: acceptBottom + 1width:rw height: ((y + h) min: cancelBottom) - acceptBottom - 1color: cancelColor.
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3059
        ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3060
        (y + h >= cancelBottom) ifTrue:[
17254
e3d0bbb6b28f #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 17242
diff changeset
  3061
            gc fillRectangleX:x y: cancelBottom + 1 width:rw height: (y + h) - cancelBottom - 1 color: diffColor.
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3062
        ]
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3063
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3064
    ]
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3065
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3066
    "Created: / 07-10-2011 / 19:44:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
16127
4ae6c7d4444b CodeVIew2: Again, another attempt to fix redraw bug in accept/cancel bar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15894
diff changeset
  3067
    "Modified: / 22-02-2016 / 20:09:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3068
!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3069
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3070
redrawBackgroundX:x y:y width:w height:h
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3071
    "redraws gutter background"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3072
13091
076f0ec1e120 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13085
diff changeset
  3073
    |savPaint|
076f0ec1e120 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13085
diff changeset
  3074
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3075
    "background is filled with background color"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3076
    self 
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3077
        clearRectangleX:x
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3078
        y:y
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3079
        width:w
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3080
        height:h. 
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3081
13091
076f0ec1e120 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13085
diff changeset
  3082
    "separator line is drawn in grey"
076f0ec1e120 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13085
diff changeset
  3083
    savPaint := self paint.
15521
fb618bbd9037 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15520
diff changeset
  3084
    self paint:Color grey.
13091
076f0ec1e120 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13085
diff changeset
  3085
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3086
    self 
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3087
        displayLineFromX:(width - 1)
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3088
        y:y
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3089
        toX:(width - 1)
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3090
        y:(y+h).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3091
13091
076f0ec1e120 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13085
diff changeset
  3092
    self paint:savPaint.
15521
fb618bbd9037 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15520
diff changeset
  3093
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3094
    "Created: / 14-12-2009 / 13:15:53 / Jindra <a>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3095
    "Modified: / 14-12-2009 / 15:09:54 / Jindra <a>"
10577
ae449524a0b4 redrawing grey
Claus Gittinger <cg@exept.de>
parents: 10523
diff changeset
  3096
    "Modified: / 17-08-2011 / 15:12:47 / cg"
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3097
    "Modified (comment): / 07-10-2011 / 19:37:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3098
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3099
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3100
redrawLine:line 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3101
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3102
    ^self redrawLine:line cleared: false.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3103
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3104
    "Modified: / 17-06-2011 / 14:12:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3105
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3106
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3107
redrawLine:line cleared: cleared
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3108
    "redraws specified line. Returns width of drawn object. Color of drawn objects should be taken from lineFont, lineColor"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3109
    
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3110
    ^ self redrawLine:line cleared:cleared drawServices:true
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3111
!
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3112
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3113
redrawLine:line cleared:cleared drawServices:drawServices
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3114
    "redraws specified line. Returns width of drawn object.
13213
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  3115
     Color of drawn objects should be taken from lineFont, lineColor"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3116
16607
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  3117
    |lineString yTop yBaseline textViewFont fontAscent fontDescent
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  3118
     textW requiredW oldFont newFont oldColor newColor 
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  3119
     myFont myFontAscent myFontDescent|
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3120
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3121
    shown ifFalse:[ ^ self ]. "/ Do not bother if the view is not shown.
13574
95c71c5bc71c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13569
diff changeset
  3122
    textView isNil ifTrue:[^ self].     "/ happens when shown in UIPainter
16243
d10057b93404 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 16148
diff changeset
  3123
        
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  3124
    requiredW := self width.
14520
777b5112f927 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14519
diff changeset
  3125
    myFont := gc font.
16243
d10057b93404 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 16148
diff changeset
  3126
    textViewFont := textView font.
d10057b93404 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 16148
diff changeset
  3127
    
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  3128
    showLineNumbers ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3129
        lineString := self displayedString:line.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3130
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3131
        textW := (lineString widthOn:self).
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3132
        requiredW := textW + self padding.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3133
14520
777b5112f927 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14519
diff changeset
  3134
        oldFont := myFont.
17254
e3d0bbb6b28f #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 17242
diff changeset
  3135
        oldColor := gc paint.
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3136
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3137
        newFont := self lineFontForLine:line.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3138
        newFont isNil ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3139
            newFont := oldFont.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3140
        ].
19602
ab99cb004e8a `CodeView2`: take line number color from stylesheet
Jan Vrany <jan.vrany@labware.com>
parents: 19601
diff changeset
  3141
        newColor := self lineColorForLine:line.
ab99cb004e8a `CodeView2`: take line number color from stylesheet
Jan Vrany <jan.vrany@labware.com>
parents: 19601
diff changeset
  3142
        newColor isNil ifTrue: [
ab99cb004e8a `CodeView2`: take line number color from stylesheet
Jan Vrany <jan.vrany@labware.com>
parents: 19601
diff changeset
  3143
            newColor := styleSheet colorAt: 'foregroundColor' default: nil
ab99cb004e8a `CodeView2`: take line number color from stylesheet
Jan Vrany <jan.vrany@labware.com>
parents: 19601
diff changeset
  3144
        ].
ab99cb004e8a `CodeView2`: take line number color from stylesheet
Jan Vrany <jan.vrany@labware.com>
parents: 19601
diff changeset
  3145
        newColor notNil ifTrue:[ gc paint:newColor ].
ab99cb004e8a `CodeView2`: take line number color from stylesheet
Jan Vrany <jan.vrany@labware.com>
parents: 19601
diff changeset
  3146
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3147
        newFont ~~ oldFont ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3148
            "/ ensure that the line number lines are not higher than the text lines
16243
d10057b93404 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 16148
diff changeset
  3149
            (newFont heightOn:device) > (textViewFont heightOn:device) ifTrue:[
d10057b93404 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 16148
diff changeset
  3150
                newFont := textViewFont.
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3151
            ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3152
            newFont ~~ oldFont ifTrue:[
14520
777b5112f927 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14519
diff changeset
  3153
                self font:newFont.
777b5112f927 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14519
diff changeset
  3154
                myFont := gc font.
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3155
            ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3156
        ].
11424
69b3960c7757 care for small text-font in gutterview
Claus Gittinger <cg@exept.de>
parents: 11398
diff changeset
  3157
    ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3158
16243
d10057b93404 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 16148
diff changeset
  3159
    fontAscent := textViewFont ascentOn:device.
d10057b93404 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 16148
diff changeset
  3160
    fontDescent := textViewFont descentOn:device.
16607
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  3161
    myFontAscent := myFont ascent.
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  3162
    myFontDescent := myFont descent.
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  3163
    
13584
ca0a679b490d class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13582
diff changeset
  3164
    yTop := (self yOfTextViewLine:line) ? 0.
13574
95c71c5bc71c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13569
diff changeset
  3165
    yBaseline := yTop + fontAscent.
95c71c5bc71c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13569
diff changeset
  3166
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3167
    cleared ifFalse:[
17254
e3d0bbb6b28f #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 17242
diff changeset
  3168
        gc 
e3d0bbb6b28f #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 17242
diff changeset
  3169
            clearRectangleX:0 y:(yBaseline - myFontAscent) 
e3d0bbb6b28f #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 17242
diff changeset
  3170
            width:(width - 2) height:(myFontAscent + myFontDescent).
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3171
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3172
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3173
    "/ cg: this should be done differently: services know about the
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3174
    "/ gutter, so they should respond to a special drawGutter message.
13105
4e02e8dc7d4b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13098
diff changeset
  3175
    "/ otherwise, some redraws become unusably slow (especially
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3176
    "/ with multiple fonts/colors/emphases)...
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3177
    drawServices ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3178
        "Let services draw annotations and other stuff"
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3179
        codeView notNil ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3180
            codeView
16607
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  3181
                drawLine:line in:self
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  3182
                atX:(self acceptCancelRight + 1) y:yBaseline 
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  3183
                width:widthAnnotations height:(myFont height) ascent:myFontAscent
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  3184
                from:nil to:nil with:(self paint) and:(self backgroundColor).
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3185
        ]
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3186
    ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3187
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  3188
    showLineNumbers ifTrue:[
17254
e3d0bbb6b28f #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 17242
diff changeset
  3189
        gc displayString:lineString x:(width - widthDiffInfo - textW) y:yBaseline.
13943
510f0343785e Fixes off-by-one error when drawing annotations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13942
diff changeset
  3190
        newFont notNil ifTrue:[
17254
e3d0bbb6b28f #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 17242
diff changeset
  3191
            gc font:oldFont.
e3d0bbb6b28f #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 17242
diff changeset
  3192
            gc paint:oldColor
13943
510f0343785e Fixes off-by-one error when drawing annotations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13942
diff changeset
  3193
        ] ifFalse:[
17254
e3d0bbb6b28f #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 17242
diff changeset
  3194
            newColor notNil ifTrue:[ gc paint:oldColor ].
13943
510f0343785e Fixes off-by-one error when drawing annotations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13942
diff changeset
  3195
        ].
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  3196
    ].
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  3197
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3198
    "/ If the view has been cleared here, we have also to redraw corresponding portion
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3199
    "/ of accept/cancel bar !!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3200
    cleared ifFalse:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3201
        "/ In that case it was cleared above.
16607
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  3202
        self redrawAcceptCancelBarX:0 y:(yBaseline - myFontAscent)
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  3203
             width:width - 2
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  3204
             height:(myFontAscent + myFontDescent).
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3205
    ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3206
    ^ requiredW.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3207
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3208
    "Modified: / 14-12-2009 / 15:30:44 / Jindra <a>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3209
    "Created: / 17-06-2011 / 14:11:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
11606
b5ff5131266b line number redrawing
Claus Gittinger <cg@exept.de>
parents: 11597
diff changeset
  3210
    "Modified: / 18-07-2012 / 19:05:24 / cg"
13943
510f0343785e Fixes off-by-one error when drawing annotations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13942
diff changeset
  3211
    "Modified: / 14-02-2014 / 17:58:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
19602
ab99cb004e8a `CodeView2`: take line number color from stylesheet
Jan Vrany <jan.vrany@labware.com>
parents: 19601
diff changeset
  3212
    "Modified: / 29-06-2021 / 22:30:28 / Jan Vrany <jan.vrany@labware.com>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3213
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3214
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3215
redrawLinesFrom:start
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3216
    "/ cg: obsolete?
10312
5b281e46f943 Fixes to avoid unncessary redraws of GutterView
vrany
parents: 10293
diff changeset
  3217
    start to: (textView lastLineShown - 1 min: textView list size) do:[:line|
14520
777b5112f927 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14519
diff changeset
  3218
        self redrawLine:line cleared:false drawServices:true.
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3219
    ]
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3220
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3221
    "Created: / 06-07-2011 / 17:25:36 / jv"
10312
5b281e46f943 Fixes to avoid unncessary redraws of GutterView
vrany
parents: 10293
diff changeset
  3222
    "Modified: / 12-07-2011 / 17:14:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3223
!
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3224
13374
4185e24179b7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13316
diff changeset
  3225
redrawVisibleLine:line 
4185e24179b7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13316
diff changeset
  3226
    |absLine|
4185e24179b7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13316
diff changeset
  3227
4185e24179b7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13316
diff changeset
  3228
    (absLine := textView visibleLineToListLine:line) notNil ifTrue:[
4185e24179b7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13316
diff changeset
  3229
        self redrawLine:absLine cleared: false.
4185e24179b7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13316
diff changeset
  3230
    ].
4185e24179b7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13316
diff changeset
  3231
4185e24179b7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13316
diff changeset
  3232
    "Modified: / 17-06-2011 / 14:12:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
4185e24179b7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13316
diff changeset
  3233
!
4185e24179b7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13316
diff changeset
  3234
13105
4e02e8dc7d4b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13098
diff changeset
  3235
redrawX:x y:y width:w height:h
13213
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  3236
    |firstLine lastLine yBot|
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  3237
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3238
    self redrawBackgroundX:x y:y width:w height:h.
10793
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  3239
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  3240
    (codeView notNil and:[codeView showAcceptCancelBar]) ifTrue:[    
10793
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  3241
        self redrawAcceptCancelBarX:x y:y width:w height:h.
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  3242
    ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3243
13575
a3a8f530bf16 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13574
diff changeset
  3244
    "/ textview may be nil, if Gutter is shown in the UIPainter!!
a3a8f530bf16 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13574
diff changeset
  3245
    textView notNil ifTrue:[
a3a8f530bf16 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13574
diff changeset
  3246
        numberOfLines := (textView list size max:textView cursorLine).
a3a8f530bf16 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13574
diff changeset
  3247
        yBot := y + h.
a3a8f530bf16 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13574
diff changeset
  3248
        firstLine := textView visibleLineToAbsoluteLine:(textView visibleLineOfY:y).
a3a8f530bf16 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13574
diff changeset
  3249
        lastLine := textView visibleLineToAbsoluteLine:(textView visibleLineOfY:yBot-1).
a3a8f530bf16 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13574
diff changeset
  3250
        lastLine := lastLine min:numberOfLines.
a3a8f530bf16 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13574
diff changeset
  3251
a3a8f530bf16 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13574
diff changeset
  3252
        firstLine to:lastLine do: [:line | 
a3a8f530bf16 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13574
diff changeset
  3253
            self redrawLine:line cleared:true drawServices:true.
a3a8f530bf16 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13574
diff changeset
  3254
        ].
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  3255
    ]
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3256
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3257
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3258
!CodeView2::TextView methodsFor:'accessing'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3259
19603
e1fd0c06dfa6 `CodeView2`: ignore any `#border:` setting in `CodeView2::TextView`
Jan Vrany <jan.vrany@labware.com>
parents: 19602
diff changeset
  3260
border: aBorder
e1fd0c06dfa6 `CodeView2`: ignore any `#border:` setting in `CodeView2::TextView`
Jan Vrany <jan.vrany@labware.com>
parents: 19602
diff changeset
  3261
    "/ Nothing to do - the border should be set in Tools::CodeView2.
e1fd0c06dfa6 `CodeView2`: ignore any `#border:` setting in `CodeView2::TextView`
Jan Vrany <jan.vrany@labware.com>
parents: 19602
diff changeset
  3262
    "/ This is here since inherited initStyle still checks for text.borderWidth and
e1fd0c06dfa6 `CodeView2`: ignore any `#border:` setting in `CodeView2::TextView`
Jan Vrany <jan.vrany@labware.com>
parents: 19602
diff changeset
  3263
    "/ text.borderColor styles and create border if needed.
e1fd0c06dfa6 `CodeView2`: ignore any `#border:` setting in `CodeView2::TextView`
Jan Vrany <jan.vrany@labware.com>
parents: 19602
diff changeset
  3264
e1fd0c06dfa6 `CodeView2`: ignore any `#border:` setting in `CodeView2::TextView`
Jan Vrany <jan.vrany@labware.com>
parents: 19602
diff changeset
  3265
    "Created: / 30-06-2021 / 20:26:46 / Jan Vrany <jan.vrany@labware.com>"
e1fd0c06dfa6 `CodeView2`: ignore any `#border:` setting in `CodeView2::TextView`
Jan Vrany <jan.vrany@labware.com>
parents: 19602
diff changeset
  3266
!
e1fd0c06dfa6 `CodeView2`: ignore any `#border:` setting in `CodeView2::TextView`
Jan Vrany <jan.vrany@labware.com>
parents: 19602
diff changeset
  3267
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3268
changedDiffText
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3269
    ^ changedDiffText
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3270
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3271
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3272
changedDiffText:something
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3273
    changedDiffText := something.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3274
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3275
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3276
changedLines
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3277
    ^ changedLines
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3278
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3279
    "Created: / 26-04-2010 / 20:30:32 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3280
    "Modified: / 26-04-2010 / 21:48:13 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3281
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3282
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3283
changedLines:something 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3284
    changedLines := something.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3285
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3286
    "Created: / 26-04-2010 / 20:30:19 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3287
    "Modified: / 02-05-2010 / 19:13:32 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3288
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3289
15130
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
  3290
codeView
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
  3291
    ^ codeView
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
  3292
!
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
  3293
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3294
contents: text
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3295
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3296
    super contents: text.
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3297
    reallyModifiedChannel value: false.
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3298
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3299
    "Created: / 07-10-2011 / 20:32:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3300
!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3301
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3302
contents: text clear: clearPrevious
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3303
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3304
    | savedListOriginal |
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3305
    savedListOriginal := listOriginal.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3306
    super contents: text.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3307
    listOriginal := savedListOriginal.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3308
    self updateReallyModified.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3309
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3310
    "Created: / 17-02-2012 / 00:35:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3311
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3312
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3313
deletedLines
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3314
    ^  deletedLines
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3315
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3316
    "Modified: / 26-04-2010 / 21:48:23 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3317
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3318
11597
Claus Gittinger <cg@exept.de>
parents: 11559
diff changeset
  3319
deletedLines:something 
Claus Gittinger <cg@exept.de>
parents: 11559
diff changeset
  3320
    deletedLines := something.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3321
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3322
    "Modified: / 26-04-2010 / 21:48:54 / Jakub <zelenja7@fel.cvut.cz>"
11597
Claus Gittinger <cg@exept.de>
parents: 11559
diff changeset
  3323
    "Modified (format): / 17-07-2012 / 18:56:44 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3324
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3325
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3326
diffMode
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3327
    ^ diffMode
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3328
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3329
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3330
diffMode:something
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3331
    diffMode := something.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3332
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3333
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3334
emptyLines
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3335
    ^ emptyLines
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3336
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3337
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3338
emptyLines:something
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3339
    emptyLines := something.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3340
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3341
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3342
fontAscent
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3343
    ^fontAscent notNil ifTrue:[fontAscent] ifFalse:[super fontAscent]
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3344
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3345
    "Created: / 19-05-2012 / 14:13:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3346
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3347
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3348
insertedLines
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3349
    ^  insertedLines
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3350
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3351
    "Modified: / 26-04-2010 / 21:48:27 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3352
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3353
11597
Claus Gittinger <cg@exept.de>
parents: 11559
diff changeset
  3354
insertedLines:something 
Claus Gittinger <cg@exept.de>
parents: 11559
diff changeset
  3355
    insertedLines := something.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3356
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3357
    "Modified: / 26-04-2010 / 21:48:59 / Jakub <zelenja7@fel.cvut.cz>"
11597
Claus Gittinger <cg@exept.de>
parents: 11559
diff changeset
  3358
    "Modified (format): / 17-07-2012 / 18:56:50 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3359
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3360
10245
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  3361
modifiedChannel: aValueHolder
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  3362
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  3363
    super modifiedChannel: aValueHolder
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  3364
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  3365
    "Created: / 07-07-2011 / 12:27:11 / Jan Vrany <jan.vrant@fit.cvut,cz>"
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  3366
!
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  3367
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3368
originDiffText
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3369
    ^ originDiffText
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3370
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3371
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3372
originDiffText:something
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3373
    originDiffText := something.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3374
!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3375
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3376
reallyModified
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3377
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3378
    ^self reallyModifiedChannel value
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3379
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3380
    "Created: / 07-10-2011 / 19:28:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3381
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3382
11393
fb1c9eb2aab7 category of:20 methods
Claus Gittinger <cg@exept.de>
parents: 11377
diff changeset
  3383
!CodeView2::TextView methodsFor:'accessing-colors'!
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3384
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3385
colorChanged
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3386
    ^ Color redByte:240 greenByte: 192 blueByte: 192
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3387
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3388
    "Modified: / 24-06-2010 / 14:05:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3389
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3390
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3391
colorDeleted
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3392
    ^ self colorInserted.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3393
    "/^ Color pink
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3394
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3395
    "Modified: / 24-06-2010 / 14:16:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3396
    "Modified (format): / 07-10-2011 / 20:26:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
11597
Claus Gittinger <cg@exept.de>
parents: 11559
diff changeset
  3397
    "Modified (format): / 17-07-2012 / 18:57:14 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3398
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3399
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3400
colorInserted
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3401
    ^ Color redByte: 239 greenByte: 225 blueByte: 152
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3402
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3403
    "Modified: / 24-06-2010 / 14:13:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3404
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3405
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3406
!CodeView2::TextView methodsFor:'accessing-contents'!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3407
10784
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3408
list:aCollection expandTabs:expand scanForNonStrings:scan includesNonStrings:nonStrings
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3409
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3410
    super list:aCollection expandTabs:expand scanForNonStrings:scan includesNonStrings:nonStrings.
13517
7cf990f83349 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13456
diff changeset
  3411
10784
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3412
    listOriginal := aCollection copy.
10834
b25dd8ee319b changed: #initialize
vrany
parents: 10793
diff changeset
  3413
    reallyModifiedChannel value: false.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3414
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3415
    "/JV: used to be notifyLines... but that method
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3416
    "/    leaves suppressNotifications to true, which is not what
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3417
    "/    we want!!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3418
    self updateReallyModified.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3419
    codeView linesModifiedFrom: 1 to: list size.
10784
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3420
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3421
    "Created: / 08-10-2011 / 12:23:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3422
    "Modified (comment): / 03-08-2013 / 13:35:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10784
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3423
!
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3424
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3425
setList:aCollection expandTabs:expandTabs redraw:doRedraw
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3426
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3427
    super setList:aCollection expandTabs:expandTabs redraw:doRedraw.
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3428
    listOriginal := aCollection copy.
10834
b25dd8ee319b changed: #initialize
vrany
parents: 10793
diff changeset
  3429
    reallyModifiedChannel value: false.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3430
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3431
    "/JV: used to be notifyLines... but that method
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3432
    "/    leaves suppressNotifications to true, which is not what
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3433
    "/    we want!!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3434
    self updateReallyModified.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3435
    codeView linesModifiedFrom: 1 to: list size.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3436
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3437
    "Created: / 07-10-2011 / 18:42:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3438
    "Modified (comment): / 03-08-2013 / 13:35:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3439
! !
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3440
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3441
!CodeView2::TextView methodsFor:'accessing-look'!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3442
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3443
lineSpacing
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3444
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3445
    ^lineSpacing
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3446
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3447
    "Modified: / 22-05-1996 / 12:22:29 / cg"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3448
    "Created: / 19-03-2012 / 13:22:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3449
! !
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3450
10785
vrany
parents: 10784
diff changeset
  3451
!CodeView2::TextView methodsFor:'accessing-state'!
vrany
parents: 10784
diff changeset
  3452
vrany
parents: 10784
diff changeset
  3453
beUnmodified
vrany
parents: 10784
diff changeset
  3454
vrany
parents: 10784
diff changeset
  3455
    self modifiedChannel value: false.
vrany
parents: 10784
diff changeset
  3456
    reallyModifiedChannel value: false.
vrany
parents: 10784
diff changeset
  3457
    listOriginal := list copy.
vrany
parents: 10784
diff changeset
  3458
vrany
parents: 10784
diff changeset
  3459
    "Created: / 08-10-2011 / 12:51:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
vrany
parents: 10784
diff changeset
  3460
!
vrany
parents: 10784
diff changeset
  3461
vrany
parents: 10784
diff changeset
  3462
isModified
vrany
parents: 10784
diff changeset
  3463
vrany
parents: 10784
diff changeset
  3464
    ^self modified
vrany
parents: 10784
diff changeset
  3465
vrany
parents: 10784
diff changeset
  3466
    "Created: / 08-10-2011 / 12:52:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
vrany
parents: 10784
diff changeset
  3467
!
vrany
parents: 10784
diff changeset
  3468
vrany
parents: 10784
diff changeset
  3469
isReallyModified
vrany
parents: 10784
diff changeset
  3470
vrany
parents: 10784
diff changeset
  3471
    ^self reallyModified
vrany
parents: 10784
diff changeset
  3472
vrany
parents: 10784
diff changeset
  3473
    "Created: / 08-10-2011 / 12:52:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
vrany
parents: 10784
diff changeset
  3474
! !
vrany
parents: 10784
diff changeset
  3475
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3476
!CodeView2::TextView methodsFor:'bit blitting'!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3477
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3478
copyFrom:aDrawable x:srcX y:srcY toX:dstX y:dstY width:w height:h async:async
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3479
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3480
    "/ If doing a vertical scroll, optimized Gutter redraw by
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3481
    "/ copying gutter's image...
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3482
    (scrollInProgress and:[aDrawable == self]) ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3483
        "/ Vertical scroll?
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3484
        ((srcY ~= dstY) and:[srcX = dstX]) ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3485
            "/ Do copy in gutter, but not accept-cancel bar!!
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3486
            | x0 |
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3487
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3488
            x0 := gutterView acceptCancelRight.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3489
            gutterView
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3490
                copyFrom:gutterView
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3491
                       x:x0
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3492
                       y:srcY
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3493
                     toX:x0
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3494
                       y:dstY
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3495
                   width:(gutterView width - x0)
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3496
                  height:h
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3497
                   async:false
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3498
        ]
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3499
    ].
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3500
    ^ super
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3501
        copyFrom:aDrawable x:srcX y:srcY toX:dstX y:dstY width:w height:h async:async
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3502
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3503
    "Modified: / 14-02-2014 / 10:15:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3504
! !
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3505
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3506
!CodeView2::TextView methodsFor:'channels'!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3507
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3508
reallyModifiedChannel
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  3509
    "return the valueHolder holding true if text was really modified.
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  3510
     This is different from #modified, as the inherited modified flag is cleared
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  3511
     to trigger another change notification with every keystroke (for the syntaxHighighter).
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  3512
     This may be (now) considered a very bad hack"
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3513
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3514
    ^ reallyModifiedChannel
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3515
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3516
    "Created: / 07-10-2011 / 18:50:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3517
!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3518
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3519
reallyModifiedChannel: aValueModel
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3520
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3521
    |prev|
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3522
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3523
    prev := reallyModifiedChannel.
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3524
    prev notNil ifTrue:[
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3525
        gutterView notNil ifTrue:[
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3526
            reallyModifiedChannel removeDependent: gutterView.
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3527
        ]
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3528
    ].
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3529
    reallyModifiedChannel := aValueModel.
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3530
    self setupChannel:aValueModel for:nil withOld:prev.
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3531
    gutterView notNil ifTrue:[
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3532
        reallyModifiedChannel addDependent: gutterView.
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3533
    ]
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3534
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3535
    "Created: / 07-10-2011 / 18:50:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3536
! !
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3537
12354
8aac48d63ded changed default for Jan's quick menus to use the ALT button isntead
Claus Gittinger <cg@exept.de>
parents: 12347
diff changeset
  3538
!CodeView2::TextView methodsFor:'delegation-events'!
8aac48d63ded changed default for Jan's quick menus to use the ALT button isntead
Claus Gittinger <cg@exept.de>
parents: 12347
diff changeset
  3539
8aac48d63ded changed default for Jan's quick menus to use the ALT button isntead
Claus Gittinger <cg@exept.de>
parents: 12347
diff changeset
  3540
isQuickMenuModifierPressed
8aac48d63ded changed default for Jan's quick menus to use the ALT button isntead
Claus Gittinger <cg@exept.de>
parents: 12347
diff changeset
  3541
    UserPreferences current codeView2QuickSendersAndImplementorsOnControl ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3542
        ^ self sensor ctrlDown
12354
8aac48d63ded changed default for Jan's quick menus to use the ALT button isntead
Claus Gittinger <cg@exept.de>
parents: 12347
diff changeset
  3543
    ].
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3544
    ^ self sensor metaDown
12354
8aac48d63ded changed default for Jan's quick menus to use the ALT button isntead
Claus Gittinger <cg@exept.de>
parents: 12347
diff changeset
  3545
!
8aac48d63ded changed default for Jan's quick menus to use the ALT button isntead
Claus Gittinger <cg@exept.de>
parents: 12347
diff changeset
  3546
8aac48d63ded changed default for Jan's quick menus to use the ALT button isntead
Claus Gittinger <cg@exept.de>
parents: 12347
diff changeset
  3547
isQuickMenuModifierReleased
8aac48d63ded changed default for Jan's quick menus to use the ALT button isntead
Claus Gittinger <cg@exept.de>
parents: 12347
diff changeset
  3548
    UserPreferences current codeView2QuickSendersAndImplementorsOnControl ifTrue:[
8aac48d63ded changed default for Jan's quick menus to use the ALT button isntead
Claus Gittinger <cg@exept.de>
parents: 12347
diff changeset
  3549
        ^ self sensor ctrlDown not
8aac48d63ded changed default for Jan's quick menus to use the ALT button isntead
Claus Gittinger <cg@exept.de>
parents: 12347
diff changeset
  3550
    ].
8aac48d63ded changed default for Jan's quick menus to use the ALT button isntead
Claus Gittinger <cg@exept.de>
parents: 12347
diff changeset
  3551
    ^ self sensor metaDown not
8aac48d63ded changed default for Jan's quick menus to use the ALT button isntead
Claus Gittinger <cg@exept.de>
parents: 12347
diff changeset
  3552
! !
8aac48d63ded changed default for Jan's quick menus to use the ALT button isntead
Claus Gittinger <cg@exept.de>
parents: 12347
diff changeset
  3553
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3554
!CodeView2::TextView methodsFor:'drawing'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3555
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3556
backgroundForVisibleLine:visLineNr default:bg
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3557
    | lineNr |
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3558
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3559
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3560
    diffMode ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3561
        lineNr := self visibleLineToListLine:visLineNr.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3562
        (insertedLines notEmptyOrNil and:[insertedLines includes:lineNr]) ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3563
            ^self colorInserted
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3564
        ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3565
        (changedLines notEmptyOrNil and:[changedLines includes:lineNr]) ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3566
            ^self colorChanged
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3567
        ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3568
        (deletedLines notEmptyOrNil and:[deletedLines includes:lineNr]) ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3569
            ^self colorDeleted
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3570
        ].
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3571
    ].
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3572
    ^ bg
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3573
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3574
    "Modified: / 17-03-2012 / 12:22:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3575
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3576
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3577
drawFromVisibleLine:startVisLineNr to:endVisLineNr with:fg and:bg
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3578
    "draw a visible line range in fg/bg"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3579
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3580
    diffMode ifFalse:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3581
        super drawFromVisibleLine:startVisLineNr to:endVisLineNr with:fg and:bg.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3582
        ^self.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3583
    ].
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3584
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3585
    startVisLineNr to: endVisLineNr do:[:visLineNr|
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3586
        self drawVisibleLine: visLineNr with:fg and:bg
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3587
    ]
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3588
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3589
    "Modified: / 15-12-1999 / 23:19:39 / cg"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3590
    "Created: / 17-03-2012 / 09:44:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3591
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3592
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3593
drawLine:line fromX:x inVisible:visLineNr with:fg and:bg
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3594
    super
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3595
        drawLine:line
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3596
        fromX:x
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3597
        inVisible:visLineNr
19604
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3598
        with:(self foregroundForVisibleLine:visLineNr default:fg)
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3599
        and:(self backgroundForVisibleLine:visLineNr default:bg).
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3600
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3601
    "Created: / 05-04-2010 / 12:07:07 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3602
    "Modified: / 02-05-2010 / 18:46:00 / Jakub <zelenja7@fel.cvut.cz>"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3603
    "Modified: / 17-03-2012 / 10:05:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
19604
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3604
    "Modified: / 03-09-2021 / 22:13:32 / Jan Vrany <jan.vrany@labware.com>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3605
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3606
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3607
drawLine:lineStringArg inVisible:visLineNr col:col with:fg and:bg
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3608
    super
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3609
        drawLine:lineStringArg
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3610
        inVisible:visLineNr
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3611
        col:col
19604
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3612
        with:(self foregroundForVisibleLine:visLineNr default:fg)
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3613
        and:(self backgroundForVisibleLine:visLineNr default:bg).
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3614
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3615
    "Created: / 05-04-2010 / 11:49:42 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3616
    "Modified: / 02-05-2010 / 18:45:56 / Jakub <zelenja7@fel.cvut.cz>"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3617
    "Modified: / 17-03-2012 / 10:04:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
19604
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3618
    "Modified: / 03-09-2021 / 22:13:28 / Jan Vrany <jan.vrany@labware.com>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3619
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3620
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3621
drawLine:lineStringArg inVisible:visLineNr from:startCol to:endColOrNil with:fg and:bg
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3622
    super
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3623
        drawLine:lineStringArg
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3624
        inVisible:visLineNr
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3625
        from:startCol
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3626
        to:endColOrNil
19604
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3627
        with:(self foregroundForVisibleLine:visLineNr default:fg)
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3628
        and:(self backgroundForVisibleLine:visLineNr default:bg).
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3629
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3630
    "Created: / 05-04-2010 / 11:54:54 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3631
    "Modified: / 02-05-2010 / 18:45:52 / Jakub <zelenja7@fel.cvut.cz>"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3632
    "Modified: / 17-03-2012 / 10:04:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
19604
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3633
    "Modified: / 03-09-2021 / 22:13:25 / Jan Vrany <jan.vrany@labware.com>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3634
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3635
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3636
drawLine:lineString inVisible:visLineNr from:startCol with:fg and:bg
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3637
    super
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3638
        drawLine:lineString
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3639
        inVisible:visLineNr
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3640
        from:startCol
19604
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3641
        with:(self foregroundForVisibleLine:visLineNr default:fg)
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3642
        and:(self backgroundForVisibleLine:visLineNr default:bg).
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3643
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3644
    "Created: / 05-04-2010 / 11:54:26 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3645
    "Modified: / 02-05-2010 / 18:45:48 / Jakub <zelenja7@fel.cvut.cz>"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3646
    "Modified: / 17-03-2012 / 10:04:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
19604
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3647
    "Modified: / 03-09-2021 / 22:13:21 / Jan Vrany <jan.vrany@labware.com>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3648
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3649
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3650
drawVisibleLine:visLineNr with:fg and:bg
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3651
    super
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3652
        drawVisibleLine:visLineNr
19604
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3653
        with:(self foregroundForVisibleLine:visLineNr default:fg)
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3654
        and:(self backgroundForVisibleLine:visLineNr default:bg).
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3655
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3656
    "Created: / 05-04-2010 / 11:49:42 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3657
    "Modified: / 02-05-2010 / 18:45:44 / Jakub <zelenja7@fel.cvut.cz>"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3658
    "Modified: / 17-03-2012 / 10:04:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
19604
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3659
    "Modified: / 03-09-2021 / 22:13:13 / Jan Vrany <jan.vrany@labware.com>"
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3660
!
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3661
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3662
foregroundForVisibleLine:visLineNr default:fg
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3663
    | lineNr |
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3664
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3665
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3666
    diffMode ifTrue:[
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3667
        lineNr := self visibleLineToListLine:visLineNr.
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3668
        (insertedLines notEmptyOrNil and:[insertedLines includes:lineNr]) ifTrue:[
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3669
            ^self colorInserted contrastingBlackOrWhite
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3670
        ].
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3671
        (changedLines notEmptyOrNil and:[changedLines includes:lineNr]) ifTrue:[
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3672
            ^self colorChanged contrastingBlackOrWhite
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3673
        ].
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3674
        (deletedLines notEmptyOrNil and:[deletedLines includes:lineNr]) ifTrue:[
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3675
            ^self colorDeleted contrastingBlackOrWhite
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3676
        ].
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3677
    ].
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3678
    ^ fg
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3679
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3680
    "Created: / 03-09-2021 / 22:12:43 / Jan Vrany <jan.vrany@labware.com>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3681
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3682
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3683
!CodeView2::TextView methodsFor:'editing'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3684
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3685
contentsChanged
13051
0fcebb7687b4 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13039
diff changeset
  3686
    "this one is sent, whenever contents changes its size"
0fcebb7687b4 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13039
diff changeset
  3687
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3688
    super contentsChanged.
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3689
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3690
"/    codeView diffMode ifTrue:[
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3691
"/        changedDiffText ifTrue:[
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3692
"/            codeView recomputeDiff:self.
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3693
"/        ] ifFalse:[
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3694
"/            changedDiffText := true.
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3695
"/        ].  
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3696
"/    ]
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3697
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3698
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3699
    "Created: / 22-06-2010 / 23:13:24 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3700
    "Modified: / 01-08-2010 / 20:33:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3701
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3702
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3703
getNewOriginText
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3704
    |i size pole pom text helperText|
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3705
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3706
    i := 1.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3707
    pole := list.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3708
    size := list size.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3709
    text:=''.
10877
1ed55c34722d changed:
Claus Gittinger <cg@exept.de>
parents: 10844
diff changeset
  3710
    emptyLines isNil ifTrue:[emptyLines := #()].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3711
    [ i <= size ] whileTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3712
        pom := emptyLines indexOf:i.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3713
        (pom = 0) ifFalse:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3714
            helperText := pole at:i.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3715
            (helperText = '') ifFalse:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3716
                (helperText isNil)ifTrue:[helperText:=''].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3717
                helperText:=helperText,Character cr.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3718
                text := text asString , helperText asString.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3719
            ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3720
        ] ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3721
            helperText := pole at:i.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3722
            (helperText isNil)ifTrue:[helperText:=''].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3723
            helperText:=helperText,Character cr.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3724
            text := text asString , helperText asString.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3725
        ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3726
    i:=i+1.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3727
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3728
^text
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3729
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3730
    "Created: / 22-06-2010 / 22:33:27 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3731
    "Modified: / 24-06-2010 / 14:27:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10877
1ed55c34722d changed:
Claus Gittinger <cg@exept.de>
parents: 10844
diff changeset
  3732
    "Modified: / 18-11-2011 / 14:58:22 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3733
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3734
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3735
!CodeView2::TextView methodsFor:'editing-basic'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3736
10708
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3737
basicDeleteCharsAtLine:lineNr fromCol:startCol toCol:endCol
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3738
    "delete characters from startCol to endCol in line lineNr"
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3739
10731
5904065850c6 Fixed notification in #basicDeleteChars...
vrany
parents: 10728
diff changeset
  3740
    super basicDeleteCharsAtLine:lineNr fromCol:startCol toCol:endCol.
10708
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3741
    self notifyLinesModifiedFrom: lineNr to: lineNr.
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3742
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3743
    "Created: / 16-09-2011 / 15:13:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3744
!
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3745
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3746
basicDeleteFromLine:startLineNr toLine:endLineNr 
10728
463a51112b1d Possibly redraw-bug fix
vrany
parents: 10723
diff changeset
  3747
463a51112b1d Possibly redraw-bug fix
vrany
parents: 10723
diff changeset
  3748
    super basicDeleteFromLine:startLineNr toLine:endLineNr.
10708
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3749
    self notifyLinesDeletedFrom:startLineNr to:endLineNr.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3750
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3751
    "Created: / 28-06-2011 / 09:09:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3752
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3753
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3754
basicDeleteLineWithoutRedraw:lineNr
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3755
10728
463a51112b1d Possibly redraw-bug fix
vrany
parents: 10723
diff changeset
  3756
    super basicDeleteLineWithoutRedraw:lineNr.
463a51112b1d Possibly redraw-bug fix
vrany
parents: 10723
diff changeset
  3757
    self notifyLinesDeletedFrom: lineNr to: lineNr.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3758
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3759
    "Created: / 28-06-2011 / 09:10:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3760
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3761
10708
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3762
basicInsert:aCharacter atLine:lineNr col:colNr
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3763
    "insert a single character at lineNr/colNr;
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3764
     set emphasis to character at current position"
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3765
10728
463a51112b1d Possibly redraw-bug fix
vrany
parents: 10723
diff changeset
  3766
    super basicInsert:aCharacter atLine:lineNr col:colNr.
10708
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3767
    self notifyLinesModifiedFrom: lineNr to: lineNr.
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3768
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3769
    "Created: / 16-09-2011 / 15:14:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3770
!
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3771
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3772
basicMergeLine:lineNr removeBlanks:removeBlanks
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3773
10728
463a51112b1d Possibly redraw-bug fix
vrany
parents: 10723
diff changeset
  3774
    super basicMergeLine:lineNr removeBlanks:removeBlanks.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3775
    self notifyLinesDeletedFrom: lineNr + 1 to: lineNr + 1.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3776
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3777
    "Created: / 28-06-2011 / 09:13:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3778
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3779
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3780
basicSplitLine:lineNr before:colNr
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3781
10728
463a51112b1d Possibly redraw-bug fix
vrany
parents: 10723
diff changeset
  3782
    super basicSplitLine:lineNr before:colNr.
463a51112b1d Possibly redraw-bug fix
vrany
parents: 10723
diff changeset
  3783
    self notifyLinesInsertedFrom: lineNr +1 to: lineNr + 1.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3784
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3785
    "Created: / 28-06-2011 / 09:14:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10977
a484c4cad7e0 fix in paste in autoIndent mode
vrany
parents: 10973
diff changeset
  3786
!
a484c4cad7e0 fix in paste in autoIndent mode
vrany
parents: 10973
diff changeset
  3787
14439
6d02fc4b8ca0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14369
diff changeset
  3788
basicWithoutRedrawInsertLines:lines from:start to:end before:lineNr
6d02fc4b8ca0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14369
diff changeset
  3789
    super basicWithoutRedrawInsertLines:lines from:start to:end before:lineNr.
6d02fc4b8ca0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14369
diff changeset
  3790
    self updateReallyModified.
6d02fc4b8ca0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14369
diff changeset
  3791
!
6d02fc4b8ca0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14369
diff changeset
  3792
6d02fc4b8ca0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14369
diff changeset
  3793
basicWithoutRedrawInsertStringWithoutCRs:aString atLine:lineNr col:colNr
6d02fc4b8ca0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14369
diff changeset
  3794
    super basicWithoutRedrawInsertStringWithoutCRs:aString atLine:lineNr col:colNr.
6d02fc4b8ca0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14369
diff changeset
  3795
    self updateReallyModified.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3796
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3797
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3798
!CodeView2::TextView methodsFor:'event handling'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3799
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3800
buttonMotion:button x:x y:y
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3801
17242
d5090925b22c #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17039
diff changeset
  3802
    (codeView buttonMotion:button x:x y:y in: self) ifFalse:[
d5090925b22c #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17039
diff changeset
  3803
        super buttonMotion:button x:x y:y
d5090925b22c #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17039
diff changeset
  3804
    ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3805
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3806
    "Created: / 14-02-2010 / 16:23:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3807
    "Modified: / 06-03-2010 / 20:10:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3808
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3809
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3810
buttonPress: button x: x y: y
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3811
    | ctrlDown  |
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3812
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3813
    (codeView buttonPress:button x:x y:y in: self)
12870
798d611cfd62 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12869
diff changeset
  3814
        ifFalse:[super buttonPress:button x:x y:y].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3815
    "
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3816
    ((ctrlDown := self sensor ctrlDown) and: [ codeView syntaxElementSelection notNil]) 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3817
        ifTrue: [codeView buttonPressInTextView: button x:x y:y ctrlDown: ctrlDown].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3818
    super 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3819
        buttonPress: button
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3820
        x: x
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3821
        y: y
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3822
    "
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3823
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3824
    "Created: / 14-02-2010 / 18:12:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3825
    "Modified: / 06-03-2010 / 20:37:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3826
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3827
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  3828
buttonRelease: button x: x y: y
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  3829
    (codeView buttonRelease:button x:x y:y in: self)
12870
798d611cfd62 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12869
diff changeset
  3830
        ifFalse:[super buttonRelease:button x:x y:y].
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  3831
!
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  3832
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3833
keyPress:key x:x y:y
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3834
    (codeView keyPress:key x:x y:y in: self)
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3835
        ifFalse:[super keyPress:key x:x y:y].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3836
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3837
    "Modified: / 06-03-2010 / 20:34:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3838
    "Modified: / 05-04-2010 / 09:55:52 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3839
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3840
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3841
keyRelease: key x: x y: y
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3842
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3843
    (codeView keyRelease:key x:x y:y in: self)
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3844
        ifFalse:[super keyRelease:key x:x y:y].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3845
    "
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3846
    (key = #Control_L) ifTrue:
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3847
        [ codeView highlightClear. self redraw ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3848
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3849
    ^ super 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3850
        keyRelease: key
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3851
        x: x
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3852
        y: y
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3853
    "
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3854
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3855
    "Created: / 14-02-2010 / 16:38:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3856
    "Modified: / 06-03-2010 / 21:04:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3857
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3858
10970
dc9da0fc38ef Small improvement for auto-indent (when enabled, not by default)
vrany
parents: 10967
diff changeset
  3859
!CodeView2::TextView methodsFor:'formatting'!
dc9da0fc38ef Small improvement for auto-indent (when enabled, not by default)
vrany
parents: 10967
diff changeset
  3860
dc9da0fc38ef Small improvement for auto-indent (when enabled, not by default)
vrany
parents: 10967
diff changeset
  3861
leftIndentForLine:lineNr
dc9da0fc38ef Small improvement for auto-indent (when enabled, not by default)
vrany
parents: 10967
diff changeset
  3862
dc9da0fc38ef Small improvement for auto-indent (when enabled, not by default)
vrany
parents: 10967
diff changeset
  3863
    | lang |
dc9da0fc38ef Small improvement for auto-indent (when enabled, not by default)
vrany
parents: 10967
diff changeset
  3864
    lang := codeView language.
10973
44ccdbc1fb0a fix in #leftIndentForLine: for view with nil language
vrany
parents: 10972
diff changeset
  3865
    "Bit hacky here, should ask language some language toolbox
44ccdbc1fb0a fix in #leftIndentForLine: for view with nil language
vrany
parents: 10972
diff changeset
  3866
    for formatting helper, that should do it..."
44ccdbc1fb0a fix in #leftIndentForLine: for view with nil language
vrany
parents: 10972
diff changeset
  3867
    (lang notNil and:[lang isSmalltalk]) ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3868
        | line lineNo indent |
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3869
        lineNo := lineNr.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3870
        [lineNo ~~ 1] whileTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3871
            lineNo  := lineNo - 1.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3872
            line := self listAt:lineNo.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3873
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3874
            line notNil ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3875
                indent := line indexOfNonSeparatorStartingAt:1.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3876
                "beggining od block"
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3877
                line notEmptyOrNil ifTrue:[
14672
1359a8b36fe9 Fix in #leftIndentForLine: ignore whitespace at the end of the line.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14638
diff changeset
  3878
                    | lastCharIndex lastChar |
1359a8b36fe9 Fix in #leftIndentForLine: ignore whitespace at the end of the line.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14638
diff changeset
  3879
1359a8b36fe9 Fix in #leftIndentForLine: ignore whitespace at the end of the line.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14638
diff changeset
  3880
                    lastCharIndex := line size.
1359a8b36fe9 Fix in #leftIndentForLine: ignore whitespace at the end of the line.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14638
diff changeset
  3881
                    lastChar := nil.
1359a8b36fe9 Fix in #leftIndentForLine: ignore whitespace at the end of the line.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14638
diff changeset
  3882
                    [ lastCharIndex > 0 ] whileTrue:[
1359a8b36fe9 Fix in #leftIndentForLine: ignore whitespace at the end of the line.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14638
diff changeset
  3883
                        (lastChar := line at: lastCharIndex) isSeparator ifTrue:[ 
1359a8b36fe9 Fix in #leftIndentForLine: ignore whitespace at the end of the line.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14638
diff changeset
  3884
                            lastCharIndex := lastCharIndex - 1.
1359a8b36fe9 Fix in #leftIndentForLine: ignore whitespace at the end of the line.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14638
diff changeset
  3885
                        ] ifFalse:[ 
14674
71ed373e94bc Oops, fixed stc compilation problem.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14672
diff changeset
  3886
                            lastCharIndex := -2. "/ To terminate the loop.
14672
1359a8b36fe9 Fix in #leftIndentForLine: ignore whitespace at the end of the line.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14638
diff changeset
  3887
                        ].
1359a8b36fe9 Fix in #leftIndentForLine: ignore whitespace at the end of the line.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14638
diff changeset
  3888
                    ].
1359a8b36fe9 Fix in #leftIndentForLine: ignore whitespace at the end of the line.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14638
diff changeset
  3889
                    lastCharIndex == -2 ifTrue:[
1359a8b36fe9 Fix in #leftIndentForLine: ignore whitespace at the end of the line.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14638
diff changeset
  3890
                        lastChar == $[ ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3891
                            indent := indent + 4.
14672
1359a8b36fe9 Fix in #leftIndentForLine: ignore whitespace at the end of the line.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14638
diff changeset
  3892
                        ] ifFalse:[
1359a8b36fe9 Fix in #leftIndentForLine: ignore whitespace at the end of the line.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14638
diff changeset
  3893
                            "end of block args"
1359a8b36fe9 Fix in #leftIndentForLine: ignore whitespace at the end of the line.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14638
diff changeset
  3894
                            (lastChar == $| and: [line includes: $[]) ifTrue:[
1359a8b36fe9 Fix in #leftIndentForLine: ignore whitespace at the end of the line.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14638
diff changeset
  3895
                                indent := indent + 4.
1359a8b36fe9 Fix in #leftIndentForLine: ignore whitespace at the end of the line.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14638
diff changeset
  3896
                            ]
1359a8b36fe9 Fix in #leftIndentForLine: ignore whitespace at the end of the line.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14638
diff changeset
  3897
                        ].
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3898
                    ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3899
                ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3900
                indent ~~ 0 ifTrue:[
14672
1359a8b36fe9 Fix in #leftIndentForLine: ignore whitespace at the end of the line.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14638
diff changeset
  3901
                    ^ indent - 1
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3902
                ]
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3903
            ]
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3904
        ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3905
        ^0.
10970
dc9da0fc38ef Small improvement for auto-indent (when enabled, not by default)
vrany
parents: 10967
diff changeset
  3906
    ].
dc9da0fc38ef Small improvement for auto-indent (when enabled, not by default)
vrany
parents: 10967
diff changeset
  3907
    ^super leftIndentForLine:lineNr
dc9da0fc38ef Small improvement for auto-indent (when enabled, not by default)
vrany
parents: 10967
diff changeset
  3908
dc9da0fc38ef Small improvement for auto-indent (when enabled, not by default)
vrany
parents: 10967
diff changeset
  3909
    "Created: / 10-12-2011 / 11:02:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
14674
71ed373e94bc Oops, fixed stc compilation problem.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14672
diff changeset
  3910
    "Modified: / 24-07-2014 / 09:38:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10970
dc9da0fc38ef Small improvement for auto-indent (when enabled, not by default)
vrany
parents: 10967
diff changeset
  3911
! !
dc9da0fc38ef Small improvement for auto-indent (when enabled, not by default)
vrany
parents: 10967
diff changeset
  3912
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3913
!CodeView2::TextView methodsFor:'initialization'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3914
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3915
initialize
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3916
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3917
    super initialize.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3918
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3919
    changedDiffText := true.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3920
    diffMode := false.
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3921
    suppressNotifications := false.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3922
    reallyModifiedChannel := false asValue.
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3923
    scrollInProgress := false.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3924
10630
d59bc761de55 fixed: #sendersMenu:selector:
Claus Gittinger <cg@exept.de>
parents: 10577
diff changeset
  3925
    self enableMotionEvents.
d59bc761de55 fixed: #sendersMenu:selector:
Claus Gittinger <cg@exept.de>
parents: 10577
diff changeset
  3926
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3927
    "Created: / 23-06-2010 / 17:28:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3928
    "Modified: / 06-07-2011 / 17:46:31 / jv"
10630
d59bc761de55 fixed: #sendersMenu:selector:
Claus Gittinger <cg@exept.de>
parents: 10577
diff changeset
  3929
    "Modified: / 21-08-2011 / 10:09:29 / cg"
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3930
    "Modified: / 14-02-2014 / 10:31:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3931
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3932
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3933
setCodeView: aCodeView2
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3934
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3935
    codeView := aCodeView2.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3936
    codeView addDependent: self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3937
    gutterView := aCodeView2 gutterView.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3938
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3939
    "Created: / 14-02-2010 / 15:22:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3940
    "Modified: / 17-06-2011 / 12:43:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3941
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3942
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3943
setGutterView: aGutterView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3944
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3945
    self assert: gutterView isNil message:'Attempting to set gutterView twice'.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3946
    gutterView := aGutterView.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3947
    gutterView setTextView: self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3948
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3949
    "Created: / 02-09-2009 / 21:57:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3950
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3951
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3952
!CodeView2::TextView methodsFor:'menu & menu actions'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3953
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3954
accept
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3955
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3956
    super accept.
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3957
    reallyModifiedChannel value: false.
10785
vrany
parents: 10784
diff changeset
  3958
    listOriginal := list copy.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3959
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3960
    "Created: / 07-10-2011 / 19:36:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3961
!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3962
10784
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3963
cancel
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3964
10785
vrany
parents: 10784
diff changeset
  3965
    self list: listOriginal
10784
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3966
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3967
    "Created: / 08-02-2010 / 09:29:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3968
!
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3969
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3970
editMenu
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3971
11398
84d3987c0155 better search (for variables)
Claus Gittinger <cg@exept.de>
parents: 11393
diff changeset
  3972
    ^ codeView editMenu
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3973
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3974
    "Created: / 14-02-2010 / 15:49:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
11398
84d3987c0155 better search (for variables)
Claus Gittinger <cg@exept.de>
parents: 11393
diff changeset
  3975
    "Modified (format): / 08-03-2012 / 12:30:22 / cg"
84d3987c0155 better search (for variables)
Claus Gittinger <cg@exept.de>
parents: 11393
diff changeset
  3976
!
84d3987c0155 better search (for variables)
Claus Gittinger <cg@exept.de>
parents: 11393
diff changeset
  3977
84d3987c0155 better search (for variables)
Claus Gittinger <cg@exept.de>
parents: 11393
diff changeset
  3978
searchVariableVisible
84d3987c0155 better search (for variables)
Claus Gittinger <cg@exept.de>
parents: 11393
diff changeset
  3979
    "search variable option in searchbox visible?"
84d3987c0155 better search (for variables)
Claus Gittinger <cg@exept.de>
parents: 11393
diff changeset
  3980
84d3987c0155 better search (for variables)
Claus Gittinger <cg@exept.de>
parents: 11393
diff changeset
  3981
    ^ true
84d3987c0155 better search (for variables)
Claus Gittinger <cg@exept.de>
parents: 11393
diff changeset
  3982
84d3987c0155 better search (for variables)
Claus Gittinger <cg@exept.de>
parents: 11393
diff changeset
  3983
    "Created: / 08-03-2012 / 14:01:51 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3984
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3986
!CodeView2::TextView methodsFor:'notification'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3987
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3988
notifyLinesDeletedFrom: startLine to: endLine
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3989
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3990
    self updateReallyModified.
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3991
    suppressNotifications ifTrue:[^self].
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3992
    codeView linesDeletedFrom: startLine to: endLine.
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3993
    suppressNotifications := true.
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3994
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3995
    "Created: / 28-06-2011 / 09:12:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3996
    "Modified: / 06-07-2011 / 17:47:05 / jv"
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3997
    "Modified: / 07-10-2011 / 19:20:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3998
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3999
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4000
notifyLinesInsertedFrom: startLine to: endLine
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4001
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  4002
    self updateReallyModified.
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4003
    suppressNotifications ifTrue:[^self].
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4004
    codeView linesInsertedFrom: startLine to: endLine.
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4005
    suppressNotifications := true.
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4006
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4007
    "Created: / 28-06-2011 / 09:12:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4008
    "Modified: / 06-07-2011 / 17:47:20 / jv"
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  4009
    "Modified: / 07-10-2011 / 19:20:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10708
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  4010
!
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  4011
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  4012
notifyLinesModifiedFrom: startLine to: endLine
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  4013
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  4014
    self updateReallyModified.
10708
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  4015
    suppressNotifications ifTrue:[^self].
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  4016
    codeView linesModifiedFrom: startLine to: endLine.
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  4017
    suppressNotifications := true.
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  4018
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  4019
    "Modified: / 06-07-2011 / 17:47:20 / jv"
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  4020
    "Created: / 16-09-2011 / 15:12:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4021
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4022
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4023
!CodeView2::TextView methodsFor:'private'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4024
14503
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4025
isTextDifferentFromOriginalSource
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  4026
    "check for modified code by comparing the source against
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  4027
     the codeViews contents.
14503
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4028
     That's the true modified value 
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4029
     (in case user undid his changes, and the displayed text is actually original)"
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4030
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4031
    |different changedSource originalSource 
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4032
     lastLineOfChangedSource lastLineOfOriginalSource
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4033
     originalL changedL checkIfDifferent|
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4034
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4035
    "/ possibly call at higher prio to prevent it from being changed while we convert it (by editing)
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4036
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4037
    different := false.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4038
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4039
    "/ cg: don't do that (collecting original/changedSource); 
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4040
    "/ for huge files (>8Mb), this makes editing annoying slow (editing a trace output, for example)
12347
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4041
"/        changedSource := list ? #().
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4042
"/        changedSource := changedSource collect:[:line | line isEmptyOrNil ifTrue:[nil] ifFalse:[line]].
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4043
"/        [changedSource size > 0 and:[changedSource last isNil]] whileTrue:[
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4044
"/            changedSource := changedSource removeLast.
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4045
"/        ].
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4046
"/
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4047
"/        originalSource := listOriginal ? #() "self model value ? ''".
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4048
"/        originalSource := originalSource collect:[:line | line isEmptyOrNil ifTrue:[nil] ifFalse:[line]].
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4049
"/        [originalSource size > 0 and:[originalSource last isNil]] whileTrue:[
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4050
"/            originalSource := originalSource removeLast
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4051
"/        ].
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4052
"/        originalSource size ~~ changedSource size ifTrue:[
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4053
"/            modified := true.
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4054
"/        ] ifFalse:[
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4055
"/            | i stopIndex |
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4056
"/
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4057
"/            i := 1.
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4058
"/            stopIndex := originalSource size + 1.            
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4059
"/            [ modified not and:[ i < stopIndex ] ] whileTrue:[
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4060
"/                | originalL changedL |
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4061
"/
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4062
"/                originalL := ((originalSource at: i) ? '') string.
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4063
"/                changedL :=  ((changedSource  at: i) ? '') string.                
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4064
"/                originalL ~= changedL ifTrue:[
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4065
"/                    originalL withoutTrailingSeparators ~= changedL withoutTrailingSeparators ifTrue:[
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4066
"/                        modified := true.
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4067
"/                    ]
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4068
"/                ].
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4069
"/                i := i + 1.
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4070
"/            ]
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4071
"/        ].
14503
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4072
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4073
    list size ~~ listOriginal size ifTrue:[
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4074
        ^ true
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4075
    ].
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4076
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4077
    "/ instead, do everything without collecting a new stringcollection.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4078
    changedSource := list ? #().
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4079
    lastLineOfChangedSource := changedSource size.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4080
    [lastLineOfChangedSource > 0 and:[(changedSource at:lastLineOfChangedSource) isEmptyOrNil]] whileTrue:[
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4081
        lastLineOfChangedSource := lastLineOfChangedSource - 1.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4082
    ].        
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4083
    originalSource := listOriginal ? #().
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4084
    lastLineOfOriginalSource := originalSource size.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4085
    [lastLineOfOriginalSource > 0 and:[(originalSource at:lastLineOfOriginalSource) isEmptyOrNil]] whileTrue:[
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4086
        lastLineOfOriginalSource := lastLineOfOriginalSource - 1.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4087
    ].        
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4088
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4089
    lastLineOfOriginalSource ~~ lastLineOfChangedSource ifTrue:[
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4090
        ^ true.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4091
    ].
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4092
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4093
    checkIfDifferent :=
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4094
        [:lNr |
14590
45e301c7bb21 Fix in CodeView2::TextView>>isTextDifferentFromOriginalSource
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14549
diff changeset
  4095
14504
5b86ded001c0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14503
diff changeset
  4096
            lNr > originalSource size ifTrue:[
5b86ded001c0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14503
diff changeset
  4097
                originalL := ''.
5b86ded001c0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14503
diff changeset
  4098
            ] ifFalse:[
5b86ded001c0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14503
diff changeset
  4099
                originalL := ((originalSource at: lNr) ? '') string.
5b86ded001c0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14503
diff changeset
  4100
            ].
14511
f6dfead0637f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14506
diff changeset
  4101
            lNr > changedSource size ifTrue:[
14504
5b86ded001c0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14503
diff changeset
  4102
                changedL := ''.
5b86ded001c0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14503
diff changeset
  4103
            ] ifFalse:[
14511
f6dfead0637f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14506
diff changeset
  4104
                changedL :=  ((changedSource at: lNr) ? '') string.                
14504
5b86ded001c0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14503
diff changeset
  4105
            ].
14503
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4106
            originalL ~= changedL ifTrue:[
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4107
                originalL withoutTrailingSeparators ~= changedL withoutTrailingSeparators ifTrue:[
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4108
                    ^ true.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4109
                ]
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4110
            ].
12347
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4111
        ].
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4112
14503
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4113
    "/ do a quick check in the cursor line. This is most likely to be different
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4114
    "/ saves comparing all the rest in 99% of cases (while typing)
14590
45e301c7bb21 Fix in CodeView2::TextView>>isTextDifferentFromOriginalSource
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14549
diff changeset
  4115
    (cursorLine notNil and:[cursorLine > 0]) ifTrue:[
14503
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4116
        checkIfDifferent value:cursorLine.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  4117
    ].
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  4118
14503
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4119
    1 to:lastLineOfOriginalSource do:checkIfDifferent.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4120
    ^ false
14590
45e301c7bb21 Fix in CodeView2::TextView>>isTextDifferentFromOriginalSource
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14549
diff changeset
  4121
45e301c7bb21 Fix in CodeView2::TextView>>isTextDifferentFromOriginalSource
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14549
diff changeset
  4122
    "Modified: / 07-07-2014 / 11:11:57 / jv"
14503
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4123
!
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4124
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4125
superEditMenu
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4126
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4127
    ^super editMenu
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4128
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4129
    "Created: / 14-02-2010 / 15:48:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4130
!
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4131
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4132
updateReallyModified
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4133
    "check for modified code by comparing the source against
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4134
     the codeViews contents.
16865
d29d2834b10e #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16622
diff changeset
  4135
     That's the true modified value (in case user undid its changes,
14503
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4136
     and the displayed text is actually original"
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4137
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4138
    |modified|
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4139
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4140
    reallyModifiedChannel isNil ifTrue:[^self].
17275
ee890e421e64 Issue #116: Cleaned up couple methods in `Tools::CodeView2::TextView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17136
diff changeset
  4141
ee890e421e64 Issue #116: Cleaned up couple methods in `Tools::CodeView2::TextView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17136
diff changeset
  4142
    "/ JV@2011-10-27: Idea is not to do anything if nobody is interested
14503
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4143
    reallyModifiedChannel dependents isEmptyOrNil ifTrue:[^self].
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4144
    modified := self isTextDifferentFromOriginalSource.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4145
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  4146
    reallyModifiedChannel value: modified
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  4147
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  4148
    "Created: / 07-10-2011 / 19:16:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10783
0334ddb2266a care for nil (empty) lines
Claus Gittinger <cg@exept.de>
parents: 10781
diff changeset
  4149
    "Modified: / 08-10-2011 / 11:10:01 / cg"
10844
cbb5f5dd900a Performance fix in CodeView2::TextView>>updateReallyModified
vrany
parents: 10834
diff changeset
  4150
    "Modified: / 28-10-2011 / 09:23:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17275
ee890e421e64 Issue #116: Cleaned up couple methods in `Tools::CodeView2::TextView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17136
diff changeset
  4151
    "Modified (comment): / 12-01-2017 / 22:45:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4152
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4153
11903
5b027fc44ff8 +supportsSyntaxElements query
Claus Gittinger <cg@exept.de>
parents: 11769
diff changeset
  4154
!CodeView2::TextView methodsFor:'queries'!
5b027fc44ff8 +supportsSyntaxElements query
Claus Gittinger <cg@exept.de>
parents: 11769
diff changeset
  4155
13625
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4156
editedClass
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4157
    |cls|
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4158
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4159
    (cls := codeView classHolder value) notNil ifTrue:[
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4160
        ^ cls
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4161
    ].
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4162
    ^ super editedClass
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4163
!
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4164
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4165
editedMethod
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4166
    |cls|
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4167
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4168
    (cls := codeView methodHolder value) notNil ifTrue:[
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4169
        ^ cls
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4170
    ].
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4171
    ^ super editedMethod
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4172
!
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4173
11903
5b027fc44ff8 +supportsSyntaxElements query
Claus Gittinger <cg@exept.de>
parents: 11769
diff changeset
  4174
supportsSyntaxElements
14506
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4175
    "syntax elements are a byproduct of the syntax highlighter;
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4176
     it is a list of elements, which chain together same-named variables
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4177
     and parts of a keyword message's selector.
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4178
     These allow for quick forward/backward navigation to the next/prev. occurrence
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4179
     of a variable. Be aware that the implementation is buggy, in that it does not
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4180
     deal correctly with same-named blockvars of different blocks"
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4181
11903
5b027fc44ff8 +supportsSyntaxElements query
Claus Gittinger <cg@exept.de>
parents: 11769
diff changeset
  4182
    ^ true
12980
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4183
!
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4184
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4185
syntaxElementAtPosition:position
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4186
    "is there is a syntax element at position?
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4187
     If so, return the element; otherwise, return nil"
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4188
14506
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4189
    |syntaxElements el|
12980
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4190
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4191
    syntaxElements := codeView syntaxElements.
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4192
    syntaxElements isEmptyOrNil ifTrue:[^ nil].
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4193
    el := syntaxElements detect:[:el | position between:el start and:el stop] ifNone:nil.
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4194
    el isNil ifTrue:[^ nil].
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4195
    ^ el.
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4196
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4197
    "Created: / 08-03-2012 / 14:21:52 / cg"
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4198
!
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4199
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4200
syntaxElementForSelectedVariable
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4201
    "is there is a syntax element for a variable under the cursor?
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4202
     If so, return the element; otherwise, return nil"
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4203
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4204
    |element startPosition endPosition|
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4205
14506
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4206
    self selectionAsString isEmptyOrNil ifTrue:[
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4207
        "/ ^ nil.
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4208
        element := self syntaxElementForVariableUnderCursor.
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4209
    ] ifFalse:[
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4210
        startPosition := self characterPositionOfLine:selectionStartLine col:selectionStartCol.
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4211
        endPosition := self characterPositionOfLine:selectionEndLine col:selectionEndCol.
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4212
        element := self syntaxElementAtPosition:startPosition.
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4213
    ].
12980
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4214
    element isNil ifTrue:[^ nil].
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4215
    (element start = startPosition and:[element stop = endPosition]) ifFalse:[^ nil].
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4216
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4217
    element isNil ifTrue:[^ nil].
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4218
    element isVariableOrSelf ifFalse:[^ nil].
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4219
    ^ element
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4220
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4221
    "Created: / 08-03-2012 / 14:21:15 / cg"
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4222
!
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4223
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4224
syntaxElementForSelectorUnderCursor
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4225
    "is there is a syntax element for a message selector under the cursor?
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4226
     If so, return the element; otherwise, return nil"
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4227
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4228
    |elementUnderCursor |
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4229
14506
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4230
    elementUnderCursor := self syntaxElementUnderCursor.
12980
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4231
    elementUnderCursor isNil ifTrue:[^ nil].
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4232
    elementUnderCursor isSelector ifFalse:[^ nil].
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4233
    ^ elementUnderCursor.
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4234
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4235
    "Created: / 08-03-2012 / 12:44:03 / cg"
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4236
!
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4237
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4238
syntaxElementForVariableUnderCursor
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4239
    "is there is a syntax element for a variable under the cursor?
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4240
     If so, return the element; otherwise, return nil"
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4241
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4242
    |elementUnderCursor |
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4243
14506
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4244
    elementUnderCursor := self syntaxElementUnderCursor.
12980
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4245
    elementUnderCursor isNil ifTrue:[^ nil].
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4246
    elementUnderCursor isVariableOrSelf ifFalse:[^ nil].
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4247
    ^ elementUnderCursor.
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4248
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4249
    "Created: / 08-03-2012 / 12:44:03 / cg"
14506
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4250
!
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4251
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4252
syntaxElementUnderCursor
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4253
    "is there is a syntax element under the cursor?
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4254
     If so, return the element; otherwise, return nil"
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4255
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4256
    ^ self syntaxElementAtPosition:(self characterPositionOfCursor).
11903
5b027fc44ff8 +supportsSyntaxElements query
Claus Gittinger <cg@exept.de>
parents: 11769
diff changeset
  4257
! !
5b027fc44ff8 +supportsSyntaxElements query
Claus Gittinger <cg@exept.de>
parents: 11769
diff changeset
  4258
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4259
!CodeView2::TextView methodsFor:'scrolling'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4260
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  4261
basicScrollTo:anOrigin redraw:doRedraw
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  4262
    | savedScrollIProgress |
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  4263
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  4264
    savedScrollIProgress := scrollInProgress. 
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  4265
    scrollInProgress := true.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  4266
    [
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  4267
        super scrollTo:anOrigin redraw:doRedraw
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  4268
    ] ensure:[ 
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  4269
        scrollInProgress := savedScrollIProgress. 
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  4270
    ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  4271
    "Modified: / 14-02-2014 / 10:12:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  4272
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  4273
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4274
originChanged:delta
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4275
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4276
    super originChanged:delta.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4277
13105
4e02e8dc7d4b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13098
diff changeset
  4278
    "/ gutterView invalidate.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4279
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4280
    "Created: / 07-12-2009 / 21:50:49 / Jindra <a>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4281
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4282
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  4283
scrollTo:anOrigin redraw:doRedraw
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  4284
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  4285
    codeView scrollTo:anOrigin redraw:doRedraw in: self.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  4286
    self basicScrollTo:anOrigin redraw:doRedraw
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  4287
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  4288
    "Modified: / 06-04-2010 / 14:04:28 / Jakub <zelenja7@fel.cvut.cz>"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  4289
    "Modified: / 17-03-2012 / 10:06:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  4290
    "Created: / 19-03-2012 / 17:05:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4291
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4292
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4293
!CodeView2::TextView methodsFor:'undo & again'!
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4294
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4295
nonUndoableDo: aBlock
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4296
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4297
    super nonUndoableDo: aBlock.
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4298
    suppressNotifications := false.
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4299
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4300
    "Created: / 06-07-2011 / 17:48:27 / jv"
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4301
!
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4302
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4303
undoableDo: aBlock info: into
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4304
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4305
    super undoableDo: aBlock info: into.
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4306
    suppressNotifications := false.
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4307
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4308
    "Created: / 06-07-2011 / 17:48:49 / jv"
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4309
! !
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4310
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4311
!CodeView2 class methodsFor:'documentation'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4312
10293
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  4313
version
15718
e6317c6a1b66 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15643
diff changeset
  4314
    ^ '$Header$'
10293
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  4315
!
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  4316
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4317
version_CVS
15718
e6317c6a1b66 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15643
diff changeset
  4318
    ^ '$Header$'
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4319
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4320
15637
b2ba737b16b8 Fix in CodeView2's gutter fly-by help generation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15629
diff changeset
  4321
version_HG
b2ba737b16b8 Fix in CodeView2's gutter fly-by help generation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15629
diff changeset
  4322
b2ba737b16b8 Fix in CodeView2's gutter fly-by help generation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15629
diff changeset
  4323
    ^ '$Changeset: <not expanded> $'
b2ba737b16b8 Fix in CodeView2's gutter fly-by help generation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15629
diff changeset
  4324
!
b2ba737b16b8 Fix in CodeView2's gutter fly-by help generation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15629
diff changeset
  4325
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4326
version_SVN
15718
e6317c6a1b66 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15643
diff changeset
  4327
    ^ '$Id$'
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4328
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4329
12347
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4330
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4331
CodeView2 initialize!