Tools__CodeView2.st
author Jan Vrany <jan.vrany@labware.com>
Fri, 03 Sep 2021 22:28:18 +0100
branchjv
changeset 19604 b02a518e2c70
parent 19603 e1fd0c06dfa6
child 19608 98f7cba0ce8c
permissions -rw-r--r--
`CodeView2`: use constracting color when drawing text that differs This helps to make it usable for dark themes. Really, the theme itself shall define these colors but this gives good defaults until theming in diff tools is fixed.
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
19601
e9573cd4c02a `CodeView2`: respect text view's border styles
Jan Vrany <jan.vrany@labware.com>
parents: 18226
diff changeset
     4
 COPYRIGHT (c) 2021 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
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    38
		diffMode synchronizedCodeViews'
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
19601
e9573cd4c02a `CodeView2`: respect text view's border styles
Jan Vrany <jan.vrany@labware.com>
parents: 18226
diff changeset
    77
 COPYRIGHT (c) 2021 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
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   761
unsynchronizeWith: aCodeView
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   762
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   763
    self assert: aCodeView ~= self.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   764
    (synchronizedCodeViews includes: aCodeView) ifFalse:[^self].
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   765
    synchronizedCodeViews := synchronizedCodeViews copyWithout: aCodeView.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   766
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   767
    "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
   768
    "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
   769
    "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
   770
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   771
14050
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   772
!CodeView2 methodsFor:'accessing-behavior'!
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   773
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   774
readOnly:aBoolean
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   775
    "ignored here; present for compatibility with some textView subclasses,
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   776
     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
   777
     readOnly field)"
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   778
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   779
    super readOnly:aBoolean.
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   780
    textView readOnly: aBoolean. 
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   781
    gutterView readOnly: aBoolean.
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   782
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   783
    "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
   784
! !
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   785
14005
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
   786
!CodeView2 methodsFor:'accessing-code component'!
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   787
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   788
klass
15377
96011e799f1a class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15361
diff changeset
   789
    "the class or the class of the method being shown."
96011e799f1a class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15361
diff changeset
   790
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   791
    | v |
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   792
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   793
    (v := self classHolder value) notNil ifTrue:[^v].
13199
8ad41afc0022 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13165
diff changeset
   794
    (v := self method) notNil ifTrue:[^v mclass].
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   795
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   796
    ^nil
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   797
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   798
    "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
   799
    "Modified: / 22-07-2013 / 13:34:05 / cg"
14005
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
   800
!
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   801
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   802
klass: aClass
15377
96011e799f1a class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15361
diff changeset
   803
    "the class or the class of the method being shown"
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   804
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   805
    "Created: / 27-07-2011 / 13:13:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   806
!
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   807
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   808
language
15377
96011e799f1a class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15361
diff changeset
   809
    "return the value in 'languageHolder', the programmingLanguage of the class
96011e799f1a class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15361
diff changeset
   810
     or method being shown.
96011e799f1a class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15361
diff changeset
   811
     BAD name: confusion with the national language.
96011e799f1a class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15361
diff changeset
   812
     why not call this 'programmingLanguage' ?"
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   813
15826
faa2d1d06728 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15788
diff changeset
   814
    | v m c |
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   815
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   816
    (v := self languageHolder value) notNil ifTrue:[^v].
15826
faa2d1d06728 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15788
diff changeset
   817
    (m := self method) notNil ifTrue:[^m programmingLanguage].
faa2d1d06728 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15788
diff changeset
   818
    (c := self classHolder value) notNil ifTrue:[^c programmingLanguage].
faa2d1d06728 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15788
diff changeset
   819
faa2d1d06728 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15788
diff changeset
   820
    "/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
   821
    "/^SmalltalkLanguage instance
8c142eff5641 No highlighting by default (either method or language must be set)
vrany
parents: 10877
diff changeset
   822
    ^nil
8c142eff5641 No highlighting by default (either method or language must be set)
vrany
parents: 10877
diff changeset
   823
8c142eff5641 No highlighting by default (either method or language must be set)
vrany
parents: 10877
diff changeset
   824
    "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
   825
    "Modified: / 22-07-2013 / 13:34:17 / cg"
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   826
!
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   827
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   828
language: newValue
15377
96011e799f1a class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15361
diff changeset
   829
    "set the value in 'languageHolder', the programmingLanguage of the class
96011e799f1a class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15361
diff changeset
   830
     or method being shown.
96011e799f1a class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15361
diff changeset
   831
     BAD name: confusion with the national language.
96011e799f1a class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15361
diff changeset
   832
     why not call this 'programmingLanguage' ?"
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   833
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   834
    self languageHolder value: newValue
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   835
!
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   836
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   837
method
15377
96011e799f1a class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15361
diff changeset
   838
    "the method being shown, or nil"
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   839
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   840
    ^self methodHolder value
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   841
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   842
    "Created: / 27-07-2011 / 13:12:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   843
!
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   844
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   845
method: aMethod
15377
96011e799f1a class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15361
diff changeset
   846
    "the method being shown, or nil"
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   847
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   848
    ^self methodHolder value: aMethod
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   849
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   850
    "Created: / 27-07-2011 / 13:12:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   851
! !
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   852
15875
Claus Gittinger <cg@exept.de>
parents: 15826
diff changeset
   853
!CodeView2 methodsFor:'accessing-look'!
Claus Gittinger <cg@exept.de>
parents: 15826
diff changeset
   854
Claus Gittinger <cg@exept.de>
parents: 15826
diff changeset
   855
backgroundColor:aColor
Claus Gittinger <cg@exept.de>
parents: 15826
diff changeset
   856
    textView backgroundColor:aColor
Claus Gittinger <cg@exept.de>
parents: 15826
diff changeset
   857
!
Claus Gittinger <cg@exept.de>
parents: 15826
diff changeset
   858
Claus Gittinger <cg@exept.de>
parents: 15826
diff changeset
   859
viewBackground:newViewBackground
Claus Gittinger <cg@exept.de>
parents: 15826
diff changeset
   860
    textView viewBackground:newViewBackground
Claus Gittinger <cg@exept.de>
parents: 15826
diff changeset
   861
! !
Claus Gittinger <cg@exept.de>
parents: 15826
diff changeset
   862
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   863
!CodeView2 methodsFor:'aspects'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   864
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   865
browserHolder
10877
1ed55c34722d changed:
Claus Gittinger <cg@exept.de>
parents: 10844
diff changeset
   866
    browserHolder isNil ifTrue:[
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   867
        browserHolder := ValueHolder new
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   868
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   869
    ^browserHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   870
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   871
    "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
   872
    "Modified: / 18-11-2011 / 14:58:15 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   873
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   874
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   875
browserHolder:aValueModel
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   876
    browserHolder := aValueModel.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   877
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   878
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   879
classHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   880
    "return/create the 'classHolder' value holder (automatically generated)"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   881
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   882
    classHolder isNil ifTrue:[
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   883
        classHolder := ValueHolder with: nil.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   884
        classHolder addDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   885
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   886
    ^ classHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   887
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   888
    "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
   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:aValueModel
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   892
    "set 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
    |old oldValue newValue|
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   895
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   896
    classHolder notNil ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   897
        oldValue := classHolder value.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   898
        classHolder removeDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   899
    ].
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
   900
    old := classHolder.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   901
    classHolder := aValueModel.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   902
    classHolder notNil ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   903
        classHolder addDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   904
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   905
    newValue := classHolder value.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   906
    oldValue ~~ newValue ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   907
        self update:#value with:newValue from:classHolder.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   908
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   909
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   910
    self changed: #classHolder with: old -> classHolder
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
    "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
   913
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   914
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   915
currentBlockNodeHolder
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   916
    "return/create the 'currentBlockNodeHolder' value holder (automatically generated)"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   917
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   918
    currentBlockNodeHolder isNil ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   919
        currentBlockNodeHolder := ValueHolder new.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   920
    ].
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   921
    ^ currentBlockNodeHolder
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   922
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   923
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   924
currentBlockNodeHolder:something
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   925
    "set the 'currentBlockNodeHolder' value holder (automatically generated)"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   926
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   927
    currentBlockNodeHolder := something.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   928
!
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
currentParseNodeHolder
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   931
    "return/create the 'currentParseNodeHolder' value holder (automatically generated)"
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
    currentParseNodeHolder isNil ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   934
        currentParseNodeHolder := ValueHolder new.
13813
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
    ^ currentParseNodeHolder
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   937
!
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
currentParseNodeHolder:something
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   940
    "set the 'currentParseNodeHolder' value holder (automatically generated)"
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 := something.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   943
    gutterView notNil ifTrue:[ gutterView currentBlockNodeHolder: currentBlockNodeHolder ].
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
    "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
   946
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   947
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   948
languageHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   949
    languageHolder isNil ifTrue:[
17039
8ba8072d1b4f #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16968
diff changeset
   950
        "/ 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
   951
        "/ 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
   952
        "/ 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
   953
        "/ or class.
e9f1e0dad878 changed: #languageHolder
Claus Gittinger <cg@exept.de>
parents: 10722
diff changeset
   954
        languageHolder := ValueHolder with: nil "SmalltalkLanguage instance".
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   955
        languageHolder addDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   956
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   957
    ^ languageHolder
10723
e9f1e0dad878 changed: #languageHolder
Claus Gittinger <cg@exept.de>
parents: 10722
diff changeset
   958
11616
c23e4a5d3384 added: #unregisterService:
Claus Gittinger <cg@exept.de>
parents: 11606
diff changeset
   959
    "Modified: / 19-07-2012 / 16:51:04 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   960
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   961
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   962
languageHolder:aValueModel
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   963
    "set the 'languageHolder' value holder (automatically generated)"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   964
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   965
    |old oldValue newValue|
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   966
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   967
    languageHolder notNil ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   968
        oldValue := languageHolder value.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   969
        languageHolder removeDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   970
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   971
    languageHolder := aValueModel.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   972
    languageHolder notNil ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   973
        languageHolder addDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   974
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   975
    old := languageHolder.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   976
    newValue := languageHolder value.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   977
    oldValue ~~ newValue ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   978
        self update:#value with:newValue from:languageHolder.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   979
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   980
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   981
    self changed: #languageHolder with: old -> languageHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   982
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   983
    "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
   984
    "Modified: / 19-07-2012 / 16:51:08 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   985
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   986
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   987
methodHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   988
    "return/create the 'methodHolder' value holder (automatically generated)"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   989
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   990
    methodHolder isNil ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   991
        methodHolder := ValueHolder new.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   992
        methodHolder addDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   993
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   994
    ^ methodHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   995
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   996
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   997
methodHolder:aValueModel
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   998
    "set the 'methodHolder' value holder (automatically generated)"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   999
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1000
    |old oldValue newValue|
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 notNil ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1003
        oldValue := methodHolder value.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1004
        methodHolder removeDependent: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
    old := methodHolder.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1007
    methodHolder := aValueModel.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1008
    methodHolder notNil ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1009
        methodHolder addDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1010
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1011
    newValue := methodHolder value.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1012
    oldValue ~~ newValue ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1013
        self update:#value with:newValue from:methodHolder.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1014
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1015
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1016
    self changed: #methodHolder with: old -> methodHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1017
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1018
    "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
  1019
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1020
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1021
modeHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1022
    "return/create the 'modeHolder' value holder (automatically generated)"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1023
11706
06ad80a28e48 comment/format in:
Claus Gittinger <cg@exept.de>
parents: 11616
diff changeset
  1024
    "is this the codeAspect?"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1025
    modeHolder isNil ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1026
        modeHolder := #expression asValue.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1027
        modeHolder addDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1028
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1029
    ^ modeHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1030
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1031
    "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
  1032
    "Modified (comment): / 27-07-2012 / 22:22:19 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1033
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1034
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1035
modeHolder:something
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1036
    "set the 'modeHolder' value holder (automatically generated)"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1037
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1038
    |oldValue newValue|
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1039
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1040
    modeHolder notNil ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1041
        oldValue := modeHolder value.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1042
        modeHolder removeDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1043
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1044
    modeHolder := something.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1045
    modeHolder notNil ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1046
        modeHolder addDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1047
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1048
    newValue := modeHolder value.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1049
    oldValue ~~ newValue ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1050
        self update:#value with:newValue from:modeHolder.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1051
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1052
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1053
    self changed: #modeHolder with: modeHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1054
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1055
    "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
  1056
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1057
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1058
!CodeView2 methodsFor:'change & update'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1059
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1060
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
  1061
    sender == methodHolder ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1062
        textView editedMethodOrClass: methodHolder value.
13587
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
  1063
    ].
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
  1064
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
  1065
    sender == classHolder ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1066
        methodHolder value isNil ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1067
            textView editedMethodOrClass: classHolder value.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1068
        ].
13587
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
  1069
    ].
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
  1070
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
  1071
    sender == languageHolder ifTrue:[
15826
faa2d1d06728 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15788
diff changeset
  1072
        "/ languageHolder value class == Workflow::ExecutionEditorShellScript::Shell_Language ifTrue:[self halt].
faa2d1d06728 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15788
diff changeset
  1073
        "/ languageHolder value  == Workflow::ExecutionEditorShellScript::Shell_Language ifTrue:[self halt].
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1074
        textView editedLanguage: languageHolder value.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1075
    ].
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1076
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1077
    sender == modeHolder ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1078
        codeAspect := modeHolder value
13587
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
  1079
    ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1080
10245
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1081
    sender == showGutterChannel ifTrue: [
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1082
        self updateGutterVisibility.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1083
        ^self.
10245
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1084
    ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1085
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1086
    services do:[:each |
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1087
        each isEnabled ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1088
            each update:aspect with:param from:sender
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1089
        ]
10662
4d67f850e4f7 comment/format in: #update:with:from:
Claus Gittinger <cg@exept.de>
parents: 10630
diff changeset
  1090
    ].
16607
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  1091
    "/ self updateScrollersViewBackground.
16577
57afbd99e827 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16557
diff changeset
  1092
    
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1093
    super update:aspect with:param from:sender
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1094
10245
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1095
    "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
  1096
    "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
  1097
    "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
  1098
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1099
12950
990f530e57c5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12914
diff changeset
  1100
updateGutter
990f530e57c5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12914
diff changeset
  1101
990f530e57c5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12914
diff changeset
  1102
    self showGutterChannel value ifTrue:[        
990f530e57c5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12914
diff changeset
  1103
        gutterView invalidate.
990f530e57c5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12914
diff changeset
  1104
    ]
990f530e57c5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12914
diff changeset
  1105
990f530e57c5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12914
diff changeset
  1106
    "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
  1107
!
990f530e57c5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12914
diff changeset
  1108
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1109
updateGutterVisibility
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1110
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1111
    self showGutterChannel value ifTrue:[        
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1112
        textViewScroller origin:(gutterView width @ 0.0) corner:(1.0 @ 1.0).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1113
        gutterView beVisible.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1114
    ] ifFalse:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1115
        textViewScroller origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1116
        gutterView beInvisible.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1117
    ]
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1118
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1119
    "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
  1120
!
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  1121
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  1122
updateScrollersViewBackground
16577
57afbd99e827 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16557
diff changeset
  1123
    "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
  1124
     warnings, for easy location of interesting spots"
57afbd99e827 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16557
diff changeset
  1125
     
16910
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1126
    |allAnnotations allBreakpoints scroller newBackground verticalScrollBar|
14986
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  1127
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  1128
    allAnnotations := OrderedCollection new.
16890
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  1129
    allBreakpoints := OrderedCollection new.
14986
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  1130
    services do:[:eachService |
16890
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  1131
        allAnnotations addAll:(eachService annotations ? #()).
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  1132
        eachService isBreakpointService ifTrue:[
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  1133
            allBreakpoints addAll:(eachService breakpoints ? #()).
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  1134
        ].    
14986
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  1135
    ].
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  1136
16910
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1137
    verticalScrollBar := textViewScroller verticalScrollBar.
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1138
    verticalScrollBar notNil ifTrue:[
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1139
        scroller := verticalScrollBar thumb.
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1140
    ].
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1141
16890
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  1142
    (allAnnotations isEmpty and:[allBreakpoints isEmpty]) ifTrue:[
16577
57afbd99e827 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16557
diff changeset
  1143
        "/ nothing special to show
16910
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1144
        scroller notNil ifTrue:[
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1145
            scroller viewBackground isColor ifTrue:[^ self].
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1146
            scroller initStyle
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1147
        ].
14986
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  1148
    ] ifFalse:[
16577
57afbd99e827 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16557
diff changeset
  1149
        "/ yep, there are some annotations
16890
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  1150
        newBackground := AnnotationShowingScrollerBackground new.
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  1151
        newBackground textView:textView.
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  1152
        newBackground annotations:allAnnotations; breakpoints:allBreakpoints.
16910
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1153
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1154
        scroller notNil ifTrue:[
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1155
            scroller viewBackground:newBackground.
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1156
        ].
16577
57afbd99e827 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16557
diff changeset
  1157
    ].
16910
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1158
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1159
    scroller notNil ifTrue:[
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1160
        scroller invalidate.
83403af26b43 #BUGFIX by sr
sr
parents: 16890
diff changeset
  1161
    ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1162
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1163
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1164
!CodeView2 methodsFor:'channels'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1165
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1166
modifiedChannel
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1167
    "return the valueHolder holding true if text was modified"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1168
10245
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1169
    ^ textView modifiedChannel
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1170
"/    ^ modifiedChannel
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1171
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1172
    "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
  1173
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1174
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1175
modifiedChannel:aValueHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1176
    "set the valueHolder holding true if text was modified"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1177
10662
4d67f850e4f7 comment/format in: #update:with:from:
Claus Gittinger <cg@exept.de>
parents: 10630
diff changeset
  1178
    textView modifiedChannel removeDependent:self.
4d67f850e4f7 comment/format in: #update:with:from:
Claus Gittinger <cg@exept.de>
parents: 10630
diff changeset
  1179
    textView modifiedChannel:aValueHolder.
4d67f850e4f7 comment/format in: #update:with:from:
Claus Gittinger <cg@exept.de>
parents: 10630
diff changeset
  1180
    textView modifiedChannel addDependent:self.
10245
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1181
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1182
"/    |prev|
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
"/    prev := modifiedChannel.
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1185
"/    modifiedChannel := aValueHolder.
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1186
"/    self setupChannel:aValueHolder for:nil withOld:prev
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1187
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1188
    "Created: / 30-01-1998 / 14:51:32 / cg"
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1189
    "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
  1190
    "Modified: / 05-09-2011 / 05:13:27 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1191
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1192
10785
vrany
parents: 10784
diff changeset
  1193
reallyModifiedChannel
vrany
parents: 10784
diff changeset
  1194
    "return the valueHolder holding true if text was modified"
vrany
parents: 10784
diff changeset
  1195
vrany
parents: 10784
diff changeset
  1196
    ^ textView reallyModifiedChannel
vrany
parents: 10784
diff changeset
  1197
vrany
parents: 10784
diff changeset
  1198
    "Modified: / 07-07-2011 / 12:07:26 / Jan Vrany <jan.vrant@fit.cvut,cz>"
vrany
parents: 10784
diff changeset
  1199
    "Created: / 08-10-2011 / 12:47:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
vrany
parents: 10784
diff changeset
  1200
!
vrany
parents: 10784
diff changeset
  1201
vrany
parents: 10784
diff changeset
  1202
reallyModifiedChannel: aValueModel
vrany
parents: 10784
diff changeset
  1203
vrany
parents: 10784
diff changeset
  1204
    ^ textView reallyModifiedChannel: aValueModel
vrany
parents: 10784
diff changeset
  1205
vrany
parents: 10784
diff changeset
  1206
    "Modified: / 07-07-2011 / 12:07:26 / Jan Vrany <jan.vrant@fit.cvut,cz>"
vrany
parents: 10784
diff changeset
  1207
    "Created: / 08-10-2011 / 12:47:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
vrany
parents: 10784
diff changeset
  1208
!
vrany
parents: 10784
diff changeset
  1209
10793
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1210
showAcceptCancelBarChannel
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1211
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1212
    ^showAcceptCancelBarChannel
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1213
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1214
    "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
  1215
!
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1216
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1217
showAcceptCancelBarChannel:aValueHolder
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1218
    "set the valueHolder holding true if text was modified"
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1219
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1220
    |prev|
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1221
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1222
    prev := showAcceptCancelBarChannel.
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1223
    showAcceptCancelBarChannel := aValueHolder.
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1224
    self setupChannel:aValueHolder for:nil withOld:prev.
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:24:15 / 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
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1229
showGutterChannel
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1230
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1231
    ^showGutterChannel
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1232
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1233
    "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
  1234
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1235
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1236
showGutterChannel:aValueHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1237
    "set the valueHolder holding true if text was modified"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1238
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1239
    |prev|
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1240
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1241
    prev := showGutterChannel.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1242
    showGutterChannel := aValueHolder.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1243
    self setupChannel:aValueHolder for:nil withOld:prev
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:03:26 / 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
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1248
!CodeView2 methodsFor:'code services'!
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1249
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1250
browseMethod: method
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1251
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1252
    self browseMethod: method label: nil.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1253
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1254
    "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
  1255
!
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1256
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1257
browseMethod: method label: label
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1258
10877
1ed55c34722d changed:
Claus Gittinger <cg@exept.de>
parents: 10844
diff changeset
  1259
    self browser isNil ifTrue: [^NewSystemBrowser openInMethod:method].
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1260
    (UserPreferences current alwaysOpenNewTabWhenCtrlClick 
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1261
        or:[self browser navigationState modified])  
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1262
        ifTrue:
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1263
            [self browser 
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1264
                spawnFullBrowserInClass: method mclass 
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1265
                selector:method selector 
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1266
                in:#newBuffer]
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1267
        ifFalse:
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1268
            [self browser 
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1269
                switchToClass: method containingClass 
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1270
                selector: method selector].
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1271
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1272
    "Modified: / 19-02-2008 / 10:15:17 / janfrog"
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1273
    "Created: / 19-10-2008 / 08:16:17 / Jan Vrany <vranyj1@fel.cvut.cz>"
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1274
    "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
  1275
    "Modified: / 18-11-2011 / 14:58:12 / cg"
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1276
!
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1277
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1278
browseMethods: methods label: label
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1279
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1280
    methods size = 1 ifTrue:
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1281
        [^self browseMethod: methods anyOne label: label].
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1282
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1283
    self browser 
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1284
        ifNil: [NewSystemBrowser browseMethods: methods title: label]
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1285
        ifNotNil:[self browser spawnMethodBrowserFor:methods in:#newBuffer label:label]
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1286
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1287
    "Created: / 26-12-2007 / 11:32:04 / janfrog"
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1288
    "Modified: / 19-10-2008 / 08:17:28 / Jan Vrany <vranyj1@fel.cvut.cz>"
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1289
!
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1290
17763
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1291
extractSelectorAndSelectedText
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1292
    textView hasSelection ifTrue:[ 
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1293
        ^ self extractSelectorAndSelectedTextFrom:  textView selectionAsString
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1294
    ]. 
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1295
    syntaxElementSelection notNil ifTrue:[ 
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1296
        | node |
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1297
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1298
        node := syntaxElementSelection node.
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1299
        node isSelector ifTrue:[ 
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1300
            ^ Array with: node value with: node value
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1301
        ].
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1302
    ].
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1303
    ^ nil
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1304
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1305
    "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
  1306
!
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1307
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1308
extractSelectorAndSelectedTextFrom: givenSelectedText
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1309
    | selector selectedText compilerClass na |
11359
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1310
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1311
    selectedText := givenSelectedText.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1312
    compilerClass := self language compilerClass.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1313
    selectedText size > 0 ifTrue:[
11359
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1314
        "/ self windowGroup withWaitCursorDo:[
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1315
            "/ hack, for now and expecco; must ask the Parser eventually...
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1316
            (compilerClass notNil and:[compilerClass includesBehavior:JavaScriptParser]) ifTrue:[
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1317
                "/ selector is in one piece anyway
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1318
                (selectedText includes:$_) ifFalse:[
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1319
                    "/ zero or one args - sigh (need to parse more to figure this out)
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1320
                    selector := JavaScriptParser basicNew translatedSmalltalkSelectorFor:selectedText numArgs:1.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1321
                    selectedText := JavaScriptParser basicNew translatedSmalltalkSelectorFor:selectedText numArgs:0.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1322
                ] ifTrue:[
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1323
                    "/ count _#s plus one arg - sigh
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1324
                    na := (selectedText occurrencesOf:$_) + 1. 
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1325
                    selector := JavaScriptParser basicNew translatedSmalltalkSelectorFor:selectedText numArgs:na
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1326
                ].
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1327
            ] ifFalse:[
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1328
                selector := SystemBrowser extractSelectorFrom:selectedText.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1329
            ].
11359
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1330
        "/ ]
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1331
    ].
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1332
    ^Array with: selector with: selectedText
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1333
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1334
    "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
  1335
    "Modified: / 05-03-2012 / 09:04:12 / cg"
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1336
!
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1337
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1338
implementorsOf: selector
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1339
10877
1ed55c34722d changed:
Claus Gittinger <cg@exept.de>
parents: 10844
diff changeset
  1340
    selector isNil ifTrue:[^#()].
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1341
    ^SystemBrowser
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1342
        findImplementorsOf: selector
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1343
        in: Smalltalk allClasses
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1344
        ignoreCase: false
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: / 26-12-2007 / 11:37:11 / janfrog"
10877
1ed55c34722d changed:
Claus Gittinger <cg@exept.de>
parents: 10844
diff changeset
  1347
    "Modified: / 18-11-2011 / 14:58:17 / 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
sendersOf: selector
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1351
    |senderBlock|
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1352
10877
1ed55c34722d changed:
Claus Gittinger <cg@exept.de>
parents: 10844
diff changeset
  1353
    selector isNil ifTrue:[^#()].
14447
10f98c40548b fixed ALT-right click (senders of selector under cursor)
az
parents: 14439
diff changeset
  1354
    selector knownAsSymbol ifFalse:[^#()].
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1355
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1356
    "/ 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
  1357
    senderBlock := SystemBrowser searchBlockForSymbol:selector asSymbol.
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1358
    senderBlock == false ifTrue:[ ^ #() ].
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1359
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1360
    ^ SystemBrowser
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1361
        allMethodsIn:Smalltalk allClasses
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1362
        where:senderBlock.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1363
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1364
    "/ exact, but much slower
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1365
"/    ^SystemBrowser
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1366
"/        findSendersOf: selector
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1367
"/        in: Smalltalk allClasses
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1368
"/        ignoreCase: false
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1369
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1370
    "Created: / 26-12-2007 / 11:37:22 / janfrog"
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1371
    "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
  1372
    "Modified: / 18-11-2011 / 14:58:19 / cg"
14447
10f98c40548b fixed ALT-right click (senders of selector under cursor)
az
parents: 14439
diff changeset
  1373
    "Modified: / 04-06-2014 / 11:10:47 / az"
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1374
! !
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1375
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1376
!CodeView2 methodsFor:'delegation'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1377
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1378
doesNotUnderstand: aMessage
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1379
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1380
    ((textView respondsTo: aMessage selector) 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1381
    and:[(TraceSelectors includes:aMessage selector) not])
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1382
        ifTrue:[^aMessage sendTo: textView].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1383
    ^super doesNotUnderstand: aMessage
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1384
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1385
    "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
  1386
    "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
  1387
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1388
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1389
hasSelection
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1390
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1391
    ^textView hasSelection
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1392
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1393
    "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
  1394
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1395
11393
fb1c9eb2aab7 category of:20 methods
Claus Gittinger <cg@exept.de>
parents: 11377
diff changeset
  1396
!CodeView2 methodsFor:'delegation-drawing'!
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1397
16607
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  1398
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
  1399
    from:startCol to:endColOrNil with:fg and:bg
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1400
    "See the comment in
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1401
     CodeViewService>>drawLine:in:atX..."
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1402
14927
b109a354435c Fixes for enabling / disabling individual CodeView2 services.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14915
diff changeset
  1403
    self servicesDo:[:each|
16607
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  1404
        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
  1405
             from:startCol to:endColOrNil with:fg and:bg
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1406
    ]
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1407
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1408
    "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
  1409
    "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
  1410
    "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
  1411
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1412
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1413
redrawVisibleLine: visLineNr
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1414
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1415
    "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
  1416
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1417
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1418
redrawVisibleLine:visLine col:colNr
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1419
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1420
    "Modified: / 05-11-2007 / 17:35:53 / cg"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1421
    "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
  1422
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1423
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1424
redrawVisibleLine:visLine from:startCol
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1425
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1426
    "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
  1427
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1428
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1429
redrawVisibleLine:visLine from:startCol to:endCol
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1430
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1431
    "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
  1432
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1433
11393
fb1c9eb2aab7 category of:20 methods
Claus Gittinger <cg@exept.de>
parents: 11377
diff changeset
  1434
!CodeView2 methodsFor:'delegation-events'!
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1435
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1436
buttonMotion: button x:x y:y in: view
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1437
    "Delegates events to services. Answers true iff at least
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1438
     one service handler method returns true. In that case,
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1439
     the event is is NOT processes by the view."
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1440
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1441
    ^ services 
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1442
        contains:[:service |
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1443
            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
  1444
        ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1445
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1446
    "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
  1447
    "Modified: / 06-10-2011 / 14:13:57 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1448
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1449
14843
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1450
buttonMultiPress: button x:x y:y in: view
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1451
    "Delegates events to services. Answers true iff at least
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1452
     one service handler method returns true. In that case,
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1453
     the event is is NOT processes by the view."
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1454
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1455
    ^ services
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1456
        contains:[:service |
16578
5158bde22d4c #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16577
diff changeset
  1457
            service isEnabled 
5158bde22d4c #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16577
diff changeset
  1458
            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
  1459
        ].
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1460
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1461
    "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
  1462
    "Modified: / 06-10-2011 / 14:14:00 / cg"
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1463
    "Modified (format): / 05-03-2012 / 08:56:02 / cg"
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1464
!
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1465
14005
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1466
buttonPress: button x:x y:y in: view
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1467
    "Delegates events to services. Answers true iff at least
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1468
     one service handler method returns true. In that case,
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1469
     the event is is NOT processes by the view."
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1470
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1471
    ^ services
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1472
        contains:[:service |
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1473
            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
  1474
        ].
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1475
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1476
    "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
  1477
    "Modified: / 06-10-2011 / 14:14:00 / cg"
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1478
    "Modified (format): / 05-03-2012 / 08:56:02 / cg"
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1479
!
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1480
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1481
buttonRelease: button x:x y:y in: view
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1482
    "Delegates events to services. Answers true iff at least
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1483
     one service handler method returns true. In that case,
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1484
     the event is is NOT processes by the view."
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1485
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1486
    ^ services 
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1487
        contains:[:service |
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1488
            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
  1489
        ].
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1490
!
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1491
15170
a4ce93833783 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15130
diff changeset
  1492
highlightClassVariable:name
a4ce93833783 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15130
diff changeset
  1493
    "interface from browser (when a class var is selected)"
a4ce93833783 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15130
diff changeset
  1494
a4ce93833783 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15130
diff changeset
  1495
    services do:[:each|
a4ce93833783 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15130
diff changeset
  1496
        each highlightClassVariable:name
a4ce93833783 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15130
diff changeset
  1497
    ].
a4ce93833783 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15130
diff changeset
  1498
!
a4ce93833783 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15130
diff changeset
  1499
12992
d01df8476209 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12980
diff changeset
  1500
highlightInstanceVariable:name
15170
a4ce93833783 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15130
diff changeset
  1501
    "interface from browser (when an inst var is selected)"
a4ce93833783 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15130
diff changeset
  1502
12992
d01df8476209 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12980
diff changeset
  1503
    services do:[:each|
d01df8476209 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12980
diff changeset
  1504
        each highlightInstanceVariable:name
d01df8476209 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12980
diff changeset
  1505
    ].
d01df8476209 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12980
diff changeset
  1506
!
d01df8476209 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12980
diff changeset
  1507
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1508
keyPress: key x:x y:y in: view
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1509
    "Delegates events to services. Answers true iff at least
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1510
     one service handler method returns true. In that case,
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1511
     the event is is NOT processes by the view."
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1512
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1513
    ^ services 
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1514
        contains:[:service |
13582
666891267a54 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13575
diff changeset
  1515
            |handledByService|
666891267a54 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13575
diff changeset
  1516
666891267a54 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13575
diff changeset
  1517
            handledByService := service isEnabled 
666891267a54 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13575
diff changeset
  1518
                                and:[ ((service keyPress: key x:x y:y in: view) == true)].
666891267a54 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13575
diff changeset
  1519
            "/ handledByService ifTrue:[ Transcript showCR:'handled by ',service printString ].
666891267a54 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13575
diff changeset
  1520
            handledByService
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1521
        ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1522
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1523
    "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
  1524
    "Modified: / 06-10-2011 / 14:14:11 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1525
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1526
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1527
keyRelease: key x:x y:y in: view
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1528
    "Delegates events to services. Answers true iff at least
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1529
     one service handler method returns true. In that case,
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1530
     the event is is NOT processes by the view."
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1531
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1532
    ^ services 
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1533
        contains:[:service |
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1534
            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
  1535
        ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1536
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1537
    "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
  1538
    "Modified: / 06-10-2011 / 14:14:13 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1539
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1540
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1541
linesDeletedFrom: start to: end
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1542
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1543
    services do: [:each |
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1544
        each isEnabled ifTrue: [
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1545
            each linesDeletedFrom: start to: end
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1546
        ]
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1547
    ].
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1548
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1549
    "Created: / 06-07-2011 / 17:12:54 / jv"
10767
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
  1550
    "Modified: / 06-10-2011 / 14:14:16 / cg"
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  1551
    "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
  1552
!
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1553
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1554
linesInsertedFrom: start to: end
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1555
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1556
    services do: [:each |
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1557
        each isEnabled ifTrue: [
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1558
            each linesInsertedFrom: start to: end
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
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1562
    "Created: / 06-07-2011 / 17:12:48 / jv"
10767
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
  1563
    "Modified: / 06-10-2011 / 14:14:20 / cg"
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
linesModifiedFrom: 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 linesModifiedFrom: 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:58 / jv"
10767
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
  1575
    "Modified: / 06-10-2011 / 14:13:44 / cg"
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1576
!
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1577
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1578
scrollDown: nLines in: view
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1579
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1580
    view == textView 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1581
        ifTrue:
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1582
            ["/my text view scrolled...
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1583
            synchronizedCodeViews do:[:codeView|codeView scrollDown: nLines in: view]]
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1584
        ifFalse:
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1585
            ["/other code view scrolls and I'm notified about that
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1586
            textView basicScrollDown: nLines]
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1587
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1588
    "Created: / 06-04-2010 / 14:02:39 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1589
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1590
14005
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1591
scrollTo:origin redraw:doRedraw in: view
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1592
    view == textView ifTrue: [
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1593
        "/my text view scrolled...
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1594
        synchronizedCodeViews do:[:codeView|
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1595
            codeView scrollTo:origin redraw:doRedraw in: view.
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1596
        ]
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1597
    ] ifFalse: [
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1598
        "/other code view scrolls and I'm notified about that
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1599
        textView basicScrollTo:origin redraw:doRedraw.
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1600
    ]
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1601
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1602
    "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
  1603
    "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
  1604
!
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1605
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1606
scrollUp: nLines in: view
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1607
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1608
    view == textView 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1609
        ifTrue:
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1610
            ["/my text view scrolled...
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1611
            synchronizedCodeViews do:[:codeView|codeView scrollUp: nLines in: view]]
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1612
        ifFalse:
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1613
            ["/other code view scrolls and I'm notified about that
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1614
            textView basicScrollUp: nLines]
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1615
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1616
    "Created: / 06-04-2010 / 14:02:39 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1617
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1618
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1619
!CodeView2 methodsFor:'diff mode'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1620
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1621
recomputeDiff:view 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1622
    |t1 t2 pom diffHelper view2|
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1623
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1624
    t1 := view getNewOriginText.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1625
    synchronizedCodeViews do:[:codeView | 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1626
        view2 := codeView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1627
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1628
    view changedDiffText:false.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1629
    view2 changedDiffText:false.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1630
    t2 := view2 getNewOriginText.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1631
    pom := DiffCodeView2 new.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1632
    (view == textView) ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1633
        diffHelper := pom computeDiffDataForText1:t1 text2:t2.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1634
        (view) contents:(diffHelper text1).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1635
        (view) deletedLines:(diffHelper deleted).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1636
        (view) changedLines:(diffHelper changed).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1637
        (view) originDiffText:t1.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1638
        (view) emptyLines:(diffHelper inserted).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1639
        (view) changedLines:(diffHelper changed).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1640
        (view2) contents:(diffHelper text2).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1641
        (view2) insertedLines:(diffHelper inserted).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1642
        (view2) changedLines:(diffHelper changed).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1643
        (view2) originDiffText:t2.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1644
        (view2) emptyLines:(diffHelper deleted).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1645
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1646
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1647
    "Modified: / 22-06-2010 / 23:35:41 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1648
    "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
  1649
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1650
14545
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1651
!CodeView2 methodsFor:'initialize & release'!
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1652
13208
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1653
defaultServices
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1654
    "/ used to call "CodeViewService availableServices",
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1655
    "/ which enumerated all subclasses.
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1656
    "/ 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
  1657
    "/ subclasses to be built for special applications. For example,
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1658
    "/ 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
  1659
    "/ expecco's codeview.
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1660
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1661
    "/ 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
  1662
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1663
    ^ CodeViewService availableServices
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1664
        select:[:service | service isUsefulFor:self]
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1665
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1666
    "Created: / 22-07-2013 / 13:57:40 / cg"
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1667
!
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1668
19601
e9573cd4c02a `CodeView2`: respect text view's border styles
Jan Vrany <jan.vrany@labware.com>
parents: 18226
diff changeset
  1669
initStyle
e9573cd4c02a `CodeView2`: respect text view's border styles
Jan Vrany <jan.vrany@labware.com>
parents: 18226
diff changeset
  1670
    | borderWidth borderColor |
e9573cd4c02a `CodeView2`: respect text view's border styles
Jan Vrany <jan.vrany@labware.com>
parents: 18226
diff changeset
  1671
    super initStyle.
e9573cd4c02a `CodeView2`: respect text view's border styles
Jan Vrany <jan.vrany@labware.com>
parents: 18226
diff changeset
  1672
e9573cd4c02a `CodeView2`: respect text view's border styles
Jan Vrany <jan.vrany@labware.com>
parents: 18226
diff changeset
  1673
    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
  1674
    borderWidth ~~ 0 ifTrue: [
e9573cd4c02a `CodeView2`: respect text view's border styles
Jan Vrany <jan.vrany@labware.com>
parents: 18226
diff changeset
  1675
        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
  1676
        borderColor notNil ifTrue: [ 
e9573cd4c02a `CodeView2`: respect text view's border styles
Jan Vrany <jan.vrany@labware.com>
parents: 18226
diff changeset
  1677
            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
  1678
        ].
e9573cd4c02a `CodeView2`: respect text view's border styles
Jan Vrany <jan.vrany@labware.com>
parents: 18226
diff changeset
  1679
    ].
e9573cd4c02a `CodeView2`: respect text view's border styles
Jan Vrany <jan.vrany@labware.com>
parents: 18226
diff changeset
  1680
e9573cd4c02a `CodeView2`: respect text view's border styles
Jan Vrany <jan.vrany@labware.com>
parents: 18226
diff changeset
  1681
    "Created: / 01-07-2021 / 21:49:05 / Jan Vrany <jan.vrany@labware.com>"
e9573cd4c02a `CodeView2`: respect text view's border styles
Jan Vrany <jan.vrany@labware.com>
parents: 18226
diff changeset
  1682
!
e9573cd4c02a `CodeView2`: respect text view's border styles
Jan Vrany <jan.vrany@labware.com>
parents: 18226
diff changeset
  1683
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1684
initialize
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1685
    "Invoked when a new instance is created."
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1686
    "Call super initialize"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1687
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1688
    super initialize.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1689
     "Now set up some visual properties"
15893
8faba2344b0f #BUGFIX
Claus Gittinger <cg@exept.de>
parents: 15875
diff changeset
  1690
    self level:(styleSheet at:#'codeView2.level' default:-1).
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1691
     "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
  1692
    showGutterChannel := ValueHolder with: true.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1693
    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
  1694
    "/ 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
  1695
    "/ 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
  1696
    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
  1697
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  1698
    "/ 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
  1699
    "/ initialize methods
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  1700
    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
  1701
    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
  1702
    textView := textViewScroller scrolledView.
10793
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1703
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1704
    self initializeGutterView.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1705
    self initializeTextView.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1706
    textView setCodeView:self.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1707
    modifiedChannel := ValueHolder with:false.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1708
    diffMode := false.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1709
    synchronizedCodeViews := #().
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1710
    currentParseNodeHolder := ValueHolder new.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1711
    currentBlockNodeHolder := ValueHolder new.
10767
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
  1712
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
  1713
    servicesFromClient := false.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1714
    services := OrderedCollection new.
10834
b25dd8ee319b changed: #initialize
vrany
parents: 10793
diff changeset
  1715
    self initializeServices.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1716
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1717
    "Modified: / 14-12-2009 / 13:59:53 / Jindra <a>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1718
    "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
  1719
    "Modified: / 06-10-2011 / 14:15:48 / cg"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1720
    "Modified: / 16-02-2012 / 23:05:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1721
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1722
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1723
initializeGutterView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1724
11988
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  1725
    gutterView setCodeView:self.
13993
ec74fc4b84e5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13978
diff changeset
  1726
    gutterView currentBlockNodeHolder: self currentBlockNodeHolder.
13316
1f476bdeb46c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13213
diff changeset
  1727
    gutterView origin:(0.0 @ 0.0) corner:(gutterView preferredWidth+1 @ 1.0).
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1728
    showGutterChannel value ifTrue:[self addSubView: gutterView].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1729
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1730
    "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
  1731
    "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
  1732
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1733
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1734
initializeServices
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1735
    | serviceClasses |
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
  1736
10755
3cc7a80e9d58 added: #services:
Claus Gittinger <cg@exept.de>
parents: 10731
diff changeset
  1737
    "/ 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
  1738
    "/ (FileBrowser does not want Smalltalk-specific services)
10767
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
  1739
    servicesFromClient ifFalse:[
16587
bd22b8fd7edb #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16578
diff changeset
  1740
        serviceClasses := self defaultServices 
bd22b8fd7edb #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16578
diff changeset
  1741
                            sort:[:a :b|
bd22b8fd7edb #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16578
diff changeset
  1742
                                a priority = b priority 
bd22b8fd7edb #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16578
diff changeset
  1743
                                    ifTrue:[a name < b name] 
bd22b8fd7edb #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16578
diff changeset
  1744
                                    ifFalse:[a priority > b priority]
bd22b8fd7edb #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16578
diff changeset
  1745
                            ].
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1746
        serviceClasses do:[:cls|
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1747
            self registerService: cls new
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1748
        ].
10755
3cc7a80e9d58 added: #services:
Claus Gittinger <cg@exept.de>
parents: 10731
diff changeset
  1749
    ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1750
13208
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1751
    "Modified: / 22-07-2013 / 14:02:59 / cg"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1752
    "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
  1753
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1754
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1755
initializeTextView
11988
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  1756
    "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
  1757
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1758
    textViewScroller
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1759
        origin: ((self showGutter ifTrue:[gutterView width] ifFalse:[0.0]) @ 0.0)
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1760
        corner: 1.0@1.0;
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1761
        level: 0.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1762
    textView level: 0.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1763
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1764
    textView modifiedChannel addDependent: self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1765
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1766
    "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
  1767
    "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
  1768
!
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1769
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1770
release
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1771
    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
  1772
    services := #().
14545
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1773
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1774
    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
  1775
        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
  1776
    ].
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1777
    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
  1778
        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
  1779
    ].
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1780
    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
  1781
    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
  1782
        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
  1783
    ].
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1784
    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
  1785
        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
  1786
    ].
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1787
    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
  1788
        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
  1789
    ].
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1790
    super release.
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
    "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
  1793
    "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
  1794
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1795
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1796
!CodeView2 methodsFor:'menu actions'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1797
10689
825d52f63cf7 added: #accept
Claus Gittinger <cg@exept.de>
parents: 10662
diff changeset
  1798
accept
825d52f63cf7 added: #accept
Claus Gittinger <cg@exept.de>
parents: 10662
diff changeset
  1799
    textView accept
825d52f63cf7 added: #accept
Claus Gittinger <cg@exept.de>
parents: 10662
diff changeset
  1800
825d52f63cf7 added: #accept
Claus Gittinger <cg@exept.de>
parents: 10662
diff changeset
  1801
    "Created: / 07-09-2011 / 21:29:07 / cg"
825d52f63cf7 added: #accept
Claus Gittinger <cg@exept.de>
parents: 10662
diff changeset
  1802
!
825d52f63cf7 added: #accept
Claus Gittinger <cg@exept.de>
parents: 10662
diff changeset
  1803
10375
9b5d4c887f5e added: #again
Claus Gittinger <cg@exept.de>
parents: 10330
diff changeset
  1804
again
9b5d4c887f5e added: #again
Claus Gittinger <cg@exept.de>
parents: 10330
diff changeset
  1805
    textView again
9b5d4c887f5e added: #again
Claus Gittinger <cg@exept.de>
parents: 10330
diff changeset
  1806
9b5d4c887f5e added: #again
Claus Gittinger <cg@exept.de>
parents: 10330
diff changeset
  1807
    "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
  1808
    "Created: / 22-07-2011 / 17:44:31 / cg"
9b5d4c887f5e added: #again
Claus Gittinger <cg@exept.de>
parents: 10330
diff changeset
  1809
!
9b5d4c887f5e added: #again
Claus Gittinger <cg@exept.de>
parents: 10330
diff changeset
  1810
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1811
browseImplementorsOfIt
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1812
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1813
    textView browseImplementorsOfIt
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1814
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1815
    "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
  1816
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1817
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1818
browseSendersOfIt
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1819
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1820
    textView browseSendersOfIt
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1821
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1822
    "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
  1823
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1824
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1825
copySelection
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1826
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1827
    textView copySelection
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1828
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1829
    "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
  1830
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1831
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1832
cut
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1833
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1834
    textView cut
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1835
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1836
    "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
  1837
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1838
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1839
doIt
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1840
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1841
    textView doIt
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1842
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1843
    "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
  1844
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1845
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1846
inspectIt
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1847
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1848
    textView inspectIt
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1849
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1850
    "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
  1851
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1852
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1853
inspectSelectedSelector
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1854
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1855
    self error: 'Not yet implemented'
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1856
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1857
    "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
  1858
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1859
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1860
inspectSyntaxElements
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1861
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1862
    syntaxElements inspect
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1863
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1864
    "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
  1865
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1866
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1867
inspectView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1868
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1869
    self inspect
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1870
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1871
    "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
  1872
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1873
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1874
pasteOrReplace
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1875
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1876
    textView pasteOrReplace
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1877
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1878
    "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
  1879
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1880
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1881
printIt
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1882
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1883
    textView printIt
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1884
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1885
    "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
  1886
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1887
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1888
profileIt
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1889
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1890
    textView profileIt
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1891
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1892
    "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
  1893
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1894
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1895
undo
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1896
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1897
    textView undo
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1898
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1899
    "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
  1900
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1901
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1902
!CodeView2 methodsFor:'menus-dynamic'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1903
13108
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  1904
debugMenu
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  1905
    ^ self class debugMenu decodeAsLiteralArray
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  1906
        receiver:self.
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  1907
!
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  1908
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1909
editMenu
10780
1093fdd69f27 Fix for edit menu issue ( #D1863483 )
vrany
parents: 10767
diff changeset
  1910
    | editMenu superEditMenu moreMenu moreMenuItem |
1093fdd69f27 Fix for edit menu issue ( #D1863483 )
vrany
parents: 10767
diff changeset
  1911
1093fdd69f27 Fix for edit menu issue ( #D1863483 )
vrany
parents: 10767
diff changeset
  1912
    superEditMenu := textView superEditMenu.
1093fdd69f27 Fix for edit menu issue ( #D1863483 )
vrany
parents: 10767
diff changeset
  1913
1093fdd69f27 Fix for edit menu issue ( #D1863483 )
vrany
parents: 10767
diff changeset
  1914
    textView sensor ctrlDown ifTrue:[
1093fdd69f27 Fix for edit menu issue ( #D1863483 )
vrany
parents: 10767
diff changeset
  1915
        ^superEditMenu
1093fdd69f27 Fix for edit menu issue ( #D1863483 )
vrany
parents: 10767
diff changeset
  1916
    ].
10293
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  1917
13072
390ebcd412f8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13062
diff changeset
  1918
    "/ install the standard 'more' menu into my own menu
390ebcd412f8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13062
diff changeset
  1919
    moreMenu := superEditMenu subMenuAt: superEditMenu numberOfItems.
390ebcd412f8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13062
diff changeset
  1920
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1921
    editMenu := self class editMenu decodeAsLiteralArray.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1922
    moreMenuItem := editMenu menuItemLabeled: 'More'.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1923
    moreMenuItem submenu: moreMenu asMenu.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1924
    editMenu findGuiResourcesIn: self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1925
    ^editMenu
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1926
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1927
    "Created: / 25-12-2007 / 10:10:01 / janfrog"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1928
    "Modified: / 25-12-2007 / 19:50:53 / janfrog"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1929
    "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
  1930
    "Modified: / 08-07-2011 / 13:35:31 / cg"
10780
1093fdd69f27 Fix for edit menu issue ( #D1863483 )
vrany
parents: 10767
diff changeset
  1931
    "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
  1932
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1933
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1934
implementorsMenu
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1935
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1936
    | selectorAndSelectedText selector selectedText  implementors |
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1937
17763
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1938
    selectorAndSelectedText := self extractSelectorAndSelectedText.
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1939
    selectorAndSelectedText notNil ifTrue:[
11359
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1940
        "/ self windowGroup withWaitCursorDo:[
17763
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  1941
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1942
            selector := selectorAndSelectedText first.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1943
            selectedText := selectorAndSelectedText second.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1944
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1945
            (selector notNil and:[selector = selectedText]) ifTrue:[
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1946
                implementors := (SystemBrowser 
11359
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1947
                                    findImplementorsOf:selectedText "Any: (Array with:selectedText)" 
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1948
                                    in:(Smalltalk allClasses) 
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1949
                                    ignoreCase:false)
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1950
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1951
            ] ifFalse:[
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1952
                implementors := (SystemBrowser 
11359
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1953
                                    findImplementorsOfAny:(Array with:selectedText with: selector) 
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1954
                                    in:(Smalltalk allClasses) 
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1955
                                    ignoreCase:false)
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1956
            ].
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1957
        "/ ] 
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1958
    ] ifFalse:[
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1959
        implementors := #().
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1960
    ].
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1961
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1962
    ^self implementorsMenu: implementors selector: (selector ? selectedText)
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1963
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1964
    "Modified: / 19-10-2008 / 08:16:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1965
    "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
  1966
    "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
  1967
    "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
  1968
!
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1969
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1970
implementorsMenu: implementors selector: selector
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1971
    | menu|
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1972
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1973
    menu := Menu new.
10465
7bb5a6157330 changed:
Claus Gittinger <cg@exept.de>
parents: 10409
diff changeset
  1974
    implementors isEmptyOrNil ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1975
        menu addItem:(MenuItem label:'No implementors found') disable
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1976
    ] ifFalse:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1977
        menu addItem:(MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1978
                    label:(selector storeString , (' (all implementors) ') asText allItalic)
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1979
                    itemValue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1980
                        self browseMethods:implementors
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1981
                            label:'Implementors of ' , selector storeString
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1982
                    ]).
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1983
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1984
        menu addSeparator.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1985
        (implementors asOrderedCollection sort:[:a :b | a mclass name < b mclass name])
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1986
        "implementors" do:[:mth |
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1987
            menu
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1988
                addItem:(MenuItem label:(selector storeString
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1989
                                , (' in ' , mth containingClass nameInBrowser asText allBold))
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1990
                        itemValue:[ self browseMethod:mth label: 'Implementor of ' , selector storeString  ])
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1991
        ]
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1992
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1993
    ^ menu
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1994
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1995
    "Modified: / 19-10-2008 / 08:16:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1996
    "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
  1997
    "Modified: / 07-03-2012 / 12:56:56 / cg"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1998
    "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
  1999
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2000
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2001
sendersMenu
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2002
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2003
    | selectorAndSelectedText selector selectedText  senders |
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2004
17763
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  2005
    selectorAndSelectedText := self extractSelectorAndSelectedText.
bb91bbb34e25 CodeView2: improved implementors / senders menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17304
diff changeset
  2006
    selectorAndSelectedText notNil ifTrue:[    
11359
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  2007
        "/ self windowGroup withWaitCursorDo:[
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2008
            selectorAndSelectedText := self extractSelectorAndSelectedTextFrom:  selectedText.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2009
            selector := selectorAndSelectedText first.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2010
            selectedText := selectorAndSelectedText second.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2011
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2012
            (selector notNil and:[selector = selectedText]) ifTrue:[
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2013
                senders := (SystemBrowser 
11359
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  2014
                                findSendersOf:selectedText "Any:(Array with:selectedText)" 
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2015
                                in:(Smalltalk allClasses) 
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2016
                                ignoreCase:false)
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2017
11359
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  2018
            ] ifFalse:[
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2019
                senders := (SystemBrowser 
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2020
                                findSendersOfAny:(Array with:selectedText with: selector) 
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2021
                                in:(Smalltalk allClasses) 
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2022
                                ignoreCase:false)
11359
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  2023
            ].
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  2024
        "/ ] 
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2025
    ] ifFalse:[
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2026
        senders := #().
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2027
    ].
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2028
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2029
    ^self sendersMenu: senders selector: (selector ? selectedText)
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2030
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2031
    "Modified: / 19-10-2008 / 08:16:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2032
    "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
  2033
    "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
  2034
    "Modified: / 13-11-2017 / 21:54:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2035
!
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2036
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2037
sendersMenu: senders  selector: selector
11377
e995583db311 changed:
Claus Gittinger <cg@exept.de>
parents: 11359
diff changeset
  2038
    | menu shownSenderItems numCut sendersSorted|
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2039
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  2040
    menu := Menu new.
10465
7bb5a6157330 changed:
Claus Gittinger <cg@exept.de>
parents: 10409
diff changeset
  2041
    senders isEmptyOrNil ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2042
        menu addItem:(MenuItem label:'No senders found') disable
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2043
    ] ifFalse:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2044
        menu addItem:(MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2045
                    label:(selector storeString , (' (all senders)') asText allItalic)
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2046
                    itemValue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2047
                        self browseMethods:senders
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2048
                            label:'Senders of ' , selector storeString
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2049
                    ]).
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2050
        menu addSeparator.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2051
        sendersSorted := senders asOrderedCollection
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2052
                            sort:[:a :b | a whoString < b whoString].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2053
        shownSenderItems := (senders size > 20) ifTrue:[sendersSorted copyTo:20] ifFalse:[sendersSorted].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2054
        numCut := senders size - 20.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2055
        shownSenderItems do:[:mth |
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2056
            menu
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2057
                addItem:(MenuItem label:(mth selector storeString
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2058
                                , (' in ' , mth containingClass nameInBrowser asText allBold))
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2059
                        itemValue:[ self browseMethod:mth label: 'Sender of ' , selector storeString ])
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2060
        ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2061
        numCut > 0 ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2062
            menu addSeparator.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2063
            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
  2064
        ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2065
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2066
    ^ menu
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2067
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2068
    "Modified: / 19-10-2008 / 08:17:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2069
    "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
  2070
    "Modified: / 07-07-2011 / 14:51:54 / jv"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2071
    "Modified: / 07-03-2012 / 12:58:31 / cg"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2072
    "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
  2073
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2074
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2075
servicesMenu
10293
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2076
    |menu item anyService|
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2077
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2078
    menu := Menu new.
13110
2ca621dee00c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13108
diff changeset
  2079
    item := (MenuItem label:(resources string:'Services (experimental)')) enabled:false.
2ca621dee00c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13108
diff changeset
  2080
    menu addItem:item.
2ca621dee00c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13108
diff changeset
  2081
    menu addSeparator.
10293
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2082
13097
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  2083
    "/ disabled, because this menu is now on the gutter,
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  2084
    "/ and it makes it hard to show it again, once hidden
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  2085
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  2086
"/    item := MenuItem label:(resources string:'Show Gutter').
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  2087
"/    item indication:(self showGutterChannel).
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  2088
"/    menu addItem:item.
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  2089
"/    menu addSeparator.
10293
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2090
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2091
    anyService := false.
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2092
    services do:[:service | 
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2093
        |item|
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2094
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2095
        item := MenuItem label:(resources string:service label).
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2096
        item indication:((AspectAdaptor forAspect:#enabled) subject:service).
13108
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2097
        item hideMenuOnActivated:false.
10293
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2098
        menu addItem:item.
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2099
        anyService := true.
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2100
    ].
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2101
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2102
    anyService ifTrue:[
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2103
        menu addSeparator.
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2104
    ].
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2105
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2106
    item := MenuItem label:(resources string:'Debug').
13108
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2107
    item submenuChannel:[ self debugMenu ].
10293
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2108
    menu addItem:item.
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2109
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  2110
    ^ menu
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2111
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2112
    "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
  2113
    "Modified: / 06-10-2011 / 14:14:30 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2114
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2115
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2116
!CodeView2 methodsFor:'private'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2117
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2118
codeCompletion
14110
c671dfc959ef class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14101
diff changeset
  2119
    "/ I found this code 3 times (CodeView2, NewSystemBrowser and DebugView) - smell? 
c671dfc959ef class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14101
diff changeset
  2120
    "/ (can we move that to a utility - probably DoWhatIMeanSupport)
c671dfc959ef class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14101
diff changeset
  2121
c671dfc959ef class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14101
diff changeset
  2122
    |cls language|
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2123
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2124
    cls := self classHolder value.
14110
c671dfc959ef class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14101
diff changeset
  2125
    cls notNil ifTrue:[
c671dfc959ef class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14101
diff changeset
  2126
        language := cls programmingLanguage
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2127
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2128
    UserInformation handle:[:ex |
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2129
        self showInfo:(ex messageText).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2130
        ex proceed.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2131
    ] do:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2132
        self withWaitCursorDo:[
14110
c671dfc959ef class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14101
diff changeset
  2133
            DoWhatIMeanSupport codeCompletionForLanguage:language class:cls context:nil codeView:self.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2134
        ]
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2135
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2136
    ^ self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2137
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2138
    "Modified: / 04-07-2006 / 18:48:26 / fm"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2139
    "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
  2140
    "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
  2141
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2142
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2143
reallyModified
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2144
    "check for modified code by comparing the source against
14439
6d02fc4b8ca0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14369
diff changeset
  2145
     the codeView's contents.
14503
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2146
     That's the true modified value 
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2147
     (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
  2148
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2149
    |modified|
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2150
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2151
    "/ cg: why this? It does not make sense to me.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2152
    "/ either we can depend on what the textView tells me here
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2153
    "/ in which case we don't need the code below,
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2154
    "/ 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
  2155
    "/ 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
  2156
    "/ Can someone validate/verify this, please?
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2157
    textView modified ifTrue:[^true].   
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2158
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2159
     "/ 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
  2160
    Processor activeProcess
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2161
        withHigherPriorityDo:[
14503
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2162
            modified := textView isTextDifferentFromOriginalSource.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2163
        ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2164
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2165
    ^ modified
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2166
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2167
    "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
  2168
    "Modified (format): / 05-06-2012 / 23:55:02 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2169
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2170
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2171
showInfo: message
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2172
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2173
    | app |
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2174
    (app := self topView application) ifNotNil:
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2175
        [(app respondsTo: #showInfo:) ifTrue:
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2176
            [app showInfo: message]].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2177
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2178
    "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
  2179
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2180
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2181
!CodeView2 methodsFor:'private-accessing'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2182
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2183
gutterView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2184
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2185
    ^gutterView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2186
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2187
    "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
  2188
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2189
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2190
syntaxElementSelection
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2191
    ^ syntaxElementSelection
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2192
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2193
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2194
syntaxElementSelection:anElement
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2195
    syntaxElementSelection := anElement.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2196
"/    anElement isNil ifTrue:[
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2197
"/        currentParseNodeHolder value: nil.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2198
"/"/        currentBlockNodeHolder value: nil.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2199
"/    ] ifFalse:[
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2200
"/        currentParseNodeHolder value: anElement node.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2201
"/"/        currentBlockNodeHolder value: anElement node enclosingBlock.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2202
"/    ]
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2203
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2204
    "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
  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
syntaxElements
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2208
    ^ syntaxElements
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2209
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2210
14705
4750b6f40d9a Temporary hack - sort syntaxElements if not already/
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14674
diff changeset
  2211
syntaxElements:aCollection
4750b6f40d9a Temporary hack - sort syntaxElements if not already/
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14674
diff changeset
  2212
    aCollection notNil ifTrue:[
4750b6f40d9a Temporary hack - sort syntaxElements if not already/
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14674
diff changeset
  2213
        aCollection isSortedCollection ifFalse:[ 
4750b6f40d9a Temporary hack - sort syntaxElements if not already/
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14674
diff changeset
  2214
            aCollection sort.
4750b6f40d9a Temporary hack - sort syntaxElements if not already/
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14674
diff changeset
  2215
        ].
4750b6f40d9a Temporary hack - sort syntaxElements if not already/
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14674
diff changeset
  2216
    ].
4750b6f40d9a Temporary hack - sort syntaxElements if not already/
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14674
diff changeset
  2217
    syntaxElements := aCollection.
4750b6f40d9a Temporary hack - sort syntaxElements if not already/
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14674
diff changeset
  2218
4750b6f40d9a Temporary hack - sort syntaxElements if not already/
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14674
diff changeset
  2219
    "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
  2220
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2221
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2222
textView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2223
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2224
    ^textView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2225
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2226
    "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
  2227
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2228
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2229
textViewScroller
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2230
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2231
    ^textViewScroller
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2232
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2233
    "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
  2234
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2235
11179
dc0c7401bce0 added: #postRealize
vrany
parents: 11054
diff changeset
  2236
!CodeView2 methodsFor:'realization'!
dc0c7401bce0 added: #postRealize
vrany
parents: 11054
diff changeset
  2237
13062
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2238
disableAllServices
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2239
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2240
    services do:[:service|
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2241
        service enabled:false.
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2242
    ]
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2243
!
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2244
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2245
enableAllServices
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2246
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2247
    services do:[:service|
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2248
        service enabled:true.
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2249
    ]
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2250
!
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2251
11179
dc0c7401bce0 added: #postRealize
vrany
parents: 11054
diff changeset
  2252
postRealize
dc0c7401bce0 added: #postRealize
vrany
parents: 11054
diff changeset
  2253
dc0c7401bce0 added: #postRealize
vrany
parents: 11054
diff changeset
  2254
    services do:[:service|
dc0c7401bce0 added: #postRealize
vrany
parents: 11054
diff changeset
  2255
        service viewRealized.
dc0c7401bce0 added: #postRealize
vrany
parents: 11054
diff changeset
  2256
    ]
dc0c7401bce0 added: #postRealize
vrany
parents: 11054
diff changeset
  2257
dc0c7401bce0 added: #postRealize
vrany
parents: 11054
diff changeset
  2258
    "Created: / 23-01-2012 / 10:35:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
dc0c7401bce0 added: #postRealize
vrany
parents: 11054
diff changeset
  2259
! !
dc0c7401bce0 added: #postRealize
vrany
parents: 11054
diff changeset
  2260
13975
21b5fc56a638 Added Tools::CodeView2>>#flash
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13962
diff changeset
  2261
!CodeView2 methodsFor:'redrawing'!
21b5fc56a638 Added Tools::CodeView2>>#flash
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13962
diff changeset
  2262
21b5fc56a638 Added Tools::CodeView2>>#flash
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13962
diff changeset
  2263
flash
21b5fc56a638 Added Tools::CodeView2>>#flash
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13962
diff changeset
  2264
    textView flash.
21b5fc56a638 Added Tools::CodeView2>>#flash
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13962
diff changeset
  2265
21b5fc56a638 Added Tools::CodeView2>>#flash
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13962
diff changeset
  2266
    "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
  2267
!
a0bec91d2399 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 14986
diff changeset
  2268
a0bec91d2399 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 14986
diff changeset
  2269
flash: aString
15826
faa2d1d06728 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15788
diff changeset
  2270
    "delegated to my textview"
faa2d1d06728 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15788
diff changeset
  2271
faa2d1d06728 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15788
diff changeset
  2272
    textView flash:aString.
faa2d1d06728 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15788
diff changeset
  2273
!
faa2d1d06728 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15788
diff changeset
  2274
faa2d1d06728 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15788
diff changeset
  2275
flash: aString withColor:flashColor
faa2d1d06728 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15788
diff changeset
  2276
    "delegated to my textview"
faa2d1d06728 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15788
diff changeset
  2277
14988
a0bec91d2399 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 14986
diff changeset
  2278
    textView flash:aString.
13975
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
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2281
!CodeView2 methodsFor:'services'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2282
13108
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2283
breakpointService
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2284
    "that one or nil"
14844
7a0e0c3a430e class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14843
diff changeset
  2285
13108
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2286
    ^ services detect:[:any| (any isKindOf: BreakpointService)] ifNone:nil
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2287
!
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2288
16607
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  2289
lintService
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  2290
    "prefers the smallsense-lint service over others"
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  2291
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  2292
    ^ services 
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  2293
        detect:[:any| (any isKindOf:SmallSense::SmalltalkLintService)] 
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  2294
        ifNone:[
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  2295
            services 
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  2296
                detect:[:any| (any isLintService)] 
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  2297
                ifNone:nil
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  2298
        ]
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  2299
!
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  2300
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2301
registerService: aCodeViewService
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2302
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2303
    services add: aCodeViewService.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2304
    aCodeViewService registerIn: self
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2305
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2306
    "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
  2307
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2308
14843
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2309
servicesDo:aBlock
14927
b109a354435c Fixes for enabling / disabling individual CodeView2 services.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14915
diff changeset
  2310
    services notNil ifTrue:[ 
b109a354435c Fixes for enabling / disabling individual CodeView2 services.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14915
diff changeset
  2311
        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
  2312
    ]
b109a354435c Fixes for enabling / disabling individual CodeView2 services.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14915
diff changeset
  2313
b109a354435c Fixes for enabling / disabling individual CodeView2 services.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14915
diff changeset
  2314
    "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
  2315
!
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2316
13108
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2317
syntaxHighlightingService
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2318
    "that one or nil"
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2319
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2320
    ^ services detect:[:any| (any isKindOf: CodeHighlightingService)] ifNone:nil
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2321
!
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2322
13125
71954878986b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13110
diff changeset
  2323
unregisterAllServices
71954878986b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13110
diff changeset
  2324
71954878986b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13110
diff changeset
  2325
    services copy do:[:eachService | self unregisterService:eachService ].
71954878986b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13110
diff changeset
  2326
!
71954878986b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13110
diff changeset
  2327
11616
c23e4a5d3384 added: #unregisterService:
Claus Gittinger <cg@exept.de>
parents: 11606
diff changeset
  2328
unregisterService: aCodeViewService
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2329
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2330
    services remove: aCodeViewService ifAbsent:[^self].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2331
    aCodeViewService unregister.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2332
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2333
    "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
  2334
    "Created: / 19-07-2012 / 16:34:18 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2335
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2336
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2337
!CodeView2 methodsFor:'testing'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2338
14915
f7a2835e0040 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14851
diff changeset
  2339
hasOwnScrollbars
f7a2835e0040 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14851
diff changeset
  2340
    "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
  2341
     scrollbars embedded - sigh (an extra load one).
f7a2835e0040 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14851
diff changeset
  2342
     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
  2343
     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
  2344
f7a2835e0040 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14851
diff changeset
  2345
    ^ true
f7a2835e0040 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14851
diff changeset
  2346
!
f7a2835e0040 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14851
diff changeset
  2347
10722
b5c270e3971c category of: #isCodeView2
Claus Gittinger <cg@exept.de>
parents: 10708
diff changeset
  2348
isCodeView2
b5c270e3971c category of: #isCodeView2
Claus Gittinger <cg@exept.de>
parents: 10708
diff changeset
  2349
b5c270e3971c category of: #isCodeView2
Claus Gittinger <cg@exept.de>
parents: 10708
diff changeset
  2350
    ^true
b5c270e3971c category of: #isCodeView2
Claus Gittinger <cg@exept.de>
parents: 10708
diff changeset
  2351
b5c270e3971c category of: #isCodeView2
Claus Gittinger <cg@exept.de>
parents: 10708
diff changeset
  2352
    "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
  2353
!
b5c270e3971c category of: #isCodeView2
Claus Gittinger <cg@exept.de>
parents: 10708
diff changeset
  2354
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2355
isTextView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2356
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2357
    ^true
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2358
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2359
    "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
  2360
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2361
14986
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2362
!CodeView2::AnnotationShowingScrollerBackground class methodsFor:'documentation'!
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2363
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2364
documentation
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2365
"
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2366
    I am a scroller background used to show annotation positions
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2367
    (very similar to the DiffTextScrollerBackground).
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2368
    I draw little markers at positions where annotations are.
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2369
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2370
    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
  2371
"
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2372
! !
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2373
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2374
!CodeView2::AnnotationShowingScrollerBackground methodsFor:'accessing'!
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2375
16890
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2376
annotations:aCollectionOfAnnotations
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2377
    annotations := aCollectionOfAnnotations.
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2378
!
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2379
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2380
breakpoints:aCollectionOfBreakpoints
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2381
    breakpoints := aCollectionOfBreakpoints.
14986
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
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2384
textView:something
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2385
    textView := something.
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
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2388
!CodeView2::AnnotationShowingScrollerBackground methodsFor:'drawing'!
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
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
  2391
    "I am asked to draw the background of aScroller.
5fbb028b00dd #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16613
diff changeset
  2392
     If any annotation is in that range, draw it"
5fbb028b00dd #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16613
diff changeset
  2393
    
16890
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2394
    |overAllHeight drawRect scrollerHeight|
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
    annotations isEmptyOrNil ifTrue:[
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2397
        breakpoints isEmptyOrNil ifTrue:[
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2398
            ^ self 
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2399
        ].
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2400
    ].
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2401
    
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2402
    scrollerHeight := aScroller height.
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2403
    drawRect :=
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2404
        [:lineNr :clrInside |
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2405
            |clrBorder yThumb|
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2406
            
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2407
            yThumb := (scrollerHeight * (lineNr / overAllHeight)) rounded.
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2408
            (yThumb between:y-5 and:(y + h + 5)) ifTrue:[
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2409
                clrBorder := clrInside darkened.
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2410
                aScroller paint:clrInside.
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2411
                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
  2412
                aScroller paint:clrBorder.
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2413
                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
  2414
            ].    
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2415
        ].
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2416
        
14986
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2417
    overAllHeight := textView numberOfLines.
14992
d8e909bf2407 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14988
diff changeset
  2418
    overAllHeight = 0 ifTrue:[ ^ self ].
d8e909bf2407 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14988
diff changeset
  2419
16890
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2420
    annotations notEmptyOrNil ifTrue:[
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2421
        annotations do:[:eachAnnotation |
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2422
            |lineNr severityColor severity|
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
            (lineNr := eachAnnotation line) notNil ifTrue:[ 
16607
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  2425
                severity := eachAnnotation rule severity.
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  2426
                severity == #error ifTrue:[
16890
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2427
                    severityColor := Color red.
16578
5158bde22d4c #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16577
diff changeset
  2428
                ] ifFalse:[
16607
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  2429
                    severity == #warning ifTrue:[
16890
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2430
                        severityColor := Color yellow.
16578
5158bde22d4c #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16577
diff changeset
  2431
                    ] ifFalse:[
16890
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2432
                        severityColor := Color blue.
16578
5158bde22d4c #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16577
diff changeset
  2433
                    ].    
5158bde22d4c #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16577
diff changeset
  2434
                ].    
16890
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2435
                drawRect value:lineNr value:severityColor lightened.
14986
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2436
            ].
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2437
        ].
16890
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2438
    ].
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2439
    breakpoints notEmptyOrNil ifTrue:[
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2440
        breakpoints do:[:eachBreakpoint |
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2441
            (eachBreakpoint isVisible and:[eachBreakpoint isEnabled]) ifTrue:[ 
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2442
                |lineNr bpntColor|
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2443
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2444
                (lineNr := eachBreakpoint line) notNil ifTrue:[    
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2445
                    bpntColor := eachBreakpoint isTracepoint
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2446
                                    ifTrue:[ Color blue lightened]
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2447
                                    ifFalse:[ Color red ].
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2448
                    drawRect value:lineNr value:bpntColor.
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2449
                ].
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2450
            ].
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2451
        ].
8b4fad7fb72d #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16865
diff changeset
  2452
    ].
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
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2455
!CodeView2::AnnotationShowingScrollerBackground methodsFor:'ignored conversion'!
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2456
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2457
asFormOn:aDevice
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2458
    "superclass AbstractBackground says that I am responsible to implement this method"
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2459
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2460
    ^ self 
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2461
!
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2462
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2463
onDevice:aDevice
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2464
    "superclass AbstractBackground says that I am responsible to implement this method"
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2465
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2466
    ^ self 
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2467
! !
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2468
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2469
!CodeView2::GutterView methodsFor:'accessing'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2470
13098
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2471
menuHolder:aValueThing
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2472
    menuHolder := aValueThing
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2473
!
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2474
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2475
setTextView: aTextView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2476
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2477
    self assert: textView isNil message:'Attempting to set textView twice'.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2478
    textView := aTextView.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2479
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2480
    textView addDependent:self.
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2481
10577
ae449524a0b4 redrawing grey
Claus Gittinger <cg@exept.de>
parents: 10523
diff changeset
  2482
    "/ self backgroundPaint: textView backgroundPaint darkened lighter.
ae449524a0b4 redrawing grey
Claus Gittinger <cg@exept.de>
parents: 10523
diff changeset
  2483
    self viewBackground: (View defaultBackgroundColor). "/ textView backgroundPaint darkened lighter.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2484
    self paint: textView paint.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2485
    self font: textView font.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2486
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2487
    "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
  2488
    "Modified: / 14-12-2009 / 15:09:29 / Jindra <a>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2489
    "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
  2490
    "Modified: / 17-08-2011 / 15:15:09 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2491
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2492
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2493
setTextViewScroller:aScr
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2494
    textViewScroller := aScr.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2495
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2496
    "Created: / 07-12-2009 / 22:36:31 / Jindra <a>"
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2497
!
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2498
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2499
showLineNumbers:aBoolean
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2500
    "can be used to turn off linenumber drawing, 
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2501
     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
  2502
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2503
    showLineNumbers := aBoolean.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2504
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2505
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2506
!CodeView2::GutterView methodsFor:'accessing-dimensions'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2507
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2508
acceptButtonBottom
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2509
10791
a12cd2d06fe3 Bug fix in accept/cancel bar redraw
vrany
parents: 10788
diff changeset
  2510
    ^(self height * 0.6) ceiling.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2511
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2512
    "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
  2513
!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2514
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2515
acceptCancelRight
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2516
    ^((self paddingLeft) + self usedWidthForAcceptCancel)
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2517
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2518
    "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
  2519
    "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
  2520
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2521
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2522
cancelButtonBottom  
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2523
10791
a12cd2d06fe3 Bug fix in accept/cancel bar redraw
vrany
parents: 10788
diff changeset
  2524
    ^(self height * 0.8) ceiling.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2525
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2526
    "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
  2527
!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2528
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2529
padding
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2530
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2531
    ^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
  2532
        + self usedWidthForAcceptCancel    
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2533
        + (widthAnnotations ? 0) 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2534
        + (widthDiffInfo ? 0)
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2535
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2536
    "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
  2537
    "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
  2538
    "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
  2539
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2540
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2541
paddingLeft
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2542
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2543
    ^0"px"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2544
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2545
    "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
  2546
    "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
  2547
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2548
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2549
paddingRight
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2550
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2551
    ^3"px"
9985
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: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
  2554
    "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
  2555
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2556
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2557
preferredExtent
11467
9465ed2c4e74 comment
Claus Gittinger <cg@exept.de>
parents: 11429
diff changeset
  2558
    | font w h |
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2559
14986
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2560
    explicitExtent notNil ifTrue:[ ^ explicitExtent ].
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2561
    preferredExtent notNil ifTrue:[ ^ preferredExtent ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2562
11467
9465ed2c4e74 comment
Claus Gittinger <cg@exept.de>
parents: 11429
diff changeset
  2563
    font := self font.
9465ed2c4e74 comment
Claus Gittinger <cg@exept.de>
parents: 11429
diff changeset
  2564
    w := (font widthOf:'00') + self padding.
9465ed2c4e74 comment
Claus Gittinger <cg@exept.de>
parents: 11429
diff changeset
  2565
    h := textView notNil 
9465ed2c4e74 comment
Claus Gittinger <cg@exept.de>
parents: 11429
diff changeset
  2566
            ifTrue:[textView height] 
9465ed2c4e74 comment
Claus Gittinger <cg@exept.de>
parents: 11429
diff changeset
  2567
            ifFalse:[font height * 12].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2568
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2569
    ^preferredExtent := w @ h
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2570
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2571
    "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
  2572
    "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
  2573
!
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  2574
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  2575
usedWidthForAcceptCancel
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2576
    ^ (codeView notNil and:[codeView showAcceptCancelBar]) ifTrue:[widthAcceptCancel ? 0] ifFalse:[0]
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2577
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2578
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2579
!CodeView2::GutterView methodsFor:'actions'!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2580
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2581
accept
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2582
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2583
    textView accept
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2584
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2585
    "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
  2586
!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2587
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2588
cancel
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2589
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2590
    textView cancel
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2591
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2592
    "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
  2593
!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2594
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2595
diff
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2596
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2597
    "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
  2598
!
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  2599
13108
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2600
inspectView
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2601
    self halt.
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2602
!
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2603
13098
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2604
middleButtonMenu    
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2605
    menuHolder notNil ifTrue:[^ menuHolder value].
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2606
    codeView isNil ifTrue:[^ nil].
13097
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  2607
    ^ codeView servicesMenu
10781
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
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2610
!CodeView2::GutterView methodsFor:'aspects'!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2611
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2612
currentBlockNodeHolder
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2613
    "return/create the 'currentBlockNodeHolder' value holder (automatically generated)"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2614
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2615
    currentBlockNodeHolder isNil ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2616
        currentBlockNodeHolder := ValueHolder new.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2617
        currentBlockNodeHolder addDependent:self.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2618
    ].
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2619
    ^ currentBlockNodeHolder
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2620
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2621
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2622
currentBlockNodeHolder:something
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2623
    "set the 'currentBlockNodeHolder' value holder (automatically generated)"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2624
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2625
    |oldValue newValue|
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2626
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2627
    currentBlockNodeHolder notNil ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2628
        oldValue := currentBlockNodeHolder value.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2629
        currentBlockNodeHolder removeDependent:self.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2630
    ].
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2631
    currentBlockNodeHolder := something.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2632
    currentBlockNodeHolder notNil ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2633
        currentBlockNodeHolder addDependent:self.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2634
    ].
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2635
    newValue := currentBlockNodeHolder value.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2636
    oldValue ~~ newValue ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2637
        self update:#value with:newValue from:currentBlockNodeHolder.
13813
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
! !
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2640
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2641
!CodeView2::GutterView methodsFor:'change & update'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2642
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2643
adjustSizeForLongestLine
13098
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2644
    "recompute the required width (longest linenumber present, not shown)"
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2645
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2646
    |newNumberOfLines longestLineString textW requiredW newWidth|
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2647
13568
c251f9a016d9 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13567
diff changeset
  2648
    showLineNumbers ifFalse:[^ self].
c251f9a016d9 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13567
diff changeset
  2649
13105
4e02e8dc7d4b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13098
diff changeset
  2650
    newNumberOfLines := (textView list size max:textView cursorLine).
13098
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2651
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2652
    longestLineString := self displayedString:(newNumberOfLines max:99).
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2653
    textW := (longestLineString widthOn:self).
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2654
    requiredW := textW + self padding.
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2655
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2656
    ((requiredW > width) or:[requiredW < (width * 3 // 4)]) ifTrue:[
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2657
        "/ some hysteresis to avoid quick readjust again
13316
1f476bdeb46c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13213
diff changeset
  2658
        newWidth := (requiredW "* 1.1") rounded.
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2659
        self corner:(newWidth+1 @ 1.0).
13316
1f476bdeb46c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13213
diff changeset
  2660
13085
42d374ca3b6e class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13072
diff changeset
  2661
        [
42d374ca3b6e class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13072
diff changeset
  2662
            textView removeDependent:self.
13568
c251f9a016d9 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13567
diff changeset
  2663
            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
  2664
        ] ensure:[
42d374ca3b6e class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13072
diff changeset
  2665
            textView addDependent:self.
42d374ca3b6e class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13072
diff changeset
  2666
        ].
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2667
        self invalidate.
13098
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2668
    ] ifFalse:[
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2669
        numberOfLines ~= newNumberOfLines ifTrue:[
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2670
            self invalidate
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2671
        ]
13057
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
!
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2674
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2675
update:something with:aParameter from:changedObject
14127
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2676
    |deltaY numPixels hScrollerHeight|
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2677
10326
Claus Gittinger <cg@exept.de>
parents: 10312
diff changeset
  2678
    (changedObject == textView) ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2679
        ((something == #sizeOfContents)
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2680
        or:[ "false "(something == #visibility)"" ]) ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2681
            self adjustSizeForLongestLine.
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2682
14127
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2683
            "/ (numberOfLines ~= (textView list size max:textView cursorLine)) ifTrue:[
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2684
            "/     self invalidate.
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2685
            "/ ].
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2686
            ^ self.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2687
        ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2688
        something == #originOfContents ifTrue:[
14127
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2689
            aParameter notNil ifTrue:[
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2690
                deltaY := aParameter y.
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2691
                deltaY = 0 ifTrue:[^ self].
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2692
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2693
                numPixels := deltaY abs.
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2694
                numPixels < (height // 5) ifTrue:[
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2695
                    deltaY < 0 ifTrue:[
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2696
                        self invalidateX:0 y:0 width:width height:numPixels.
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2697
                    ] ifFalse:[
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2698
                        hScrollerHeight := 0.
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2699
                        (textViewScroller notNil
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2700
                        and:[textViewScroller horizontalScrollBar notNil]) ifTrue:[
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2701
                            hScrollerHeight := textViewScroller horizontalScrollBar height.
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2702
                        ].
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2703
                        numPixels := numPixels + 4.
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2704
                        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
  2705
                    ].
15520
ee71c6d3d759 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15475
diff changeset
  2706
                    "/ self repairDamage.
14127
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2707
                    ^ self.
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2708
                ].
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2709
            ].
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2710
            self invalidateLines.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2711
            ^ self.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2712
        ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2713
        "/ something printCR.
10312
5b281e46f943 Fixes to avoid unncessary redraws of GutterView
vrany
parents: 10293
diff changeset
  2714
    ].
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2715
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2716
    (changedObject == textView reallyModifiedChannel) ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2717
        self invalidateAcceptCancelBar.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2718
        ^self.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2719
    ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2720
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2721
    super update:something with:aParameter from:changedObject
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2722
10326
Claus Gittinger <cg@exept.de>
parents: 10312
diff changeset
  2723
    "Modified (format): / 15-07-2011 / 20:14:04 / cg"
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2724
    "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
  2725
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2726
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2727
!CodeView2::GutterView methodsFor:'event handling'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2728
14843
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2729
buttonMultiPress: btn x: x y: y
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2730
    |extraSafeArea|
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2731
14963
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2732
    Processor removeTimedBlock:blockWaitingForPossibleDoubleClick.
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2733
    blockWaitingForPossibleDoubleClick := nil.
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2734
14851
eeee217e8bee class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14850
diff changeset
  2735
    "/ for the embedded accept-cancel bar, if enabled
14843
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2736
    (x <= (self paddingLeft + self usedWidthForAcceptCancel)) ifTrue:[
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2737
        textView reallyModified ifTrue:[
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2738
            (y < self acceptButtonBottom) ifTrue:[
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2739
                ^self.
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2740
            ].
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2741
            (y < self cancelButtonBottom) ifTrue:[
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2742
                ^self.            
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2743
            ].
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2744
        ].
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2745
        ^self.
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2746
    ].
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2747
14851
eeee217e8bee class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14850
diff changeset
  2748
    false ifTrue:[
eeee217e8bee class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14850
diff changeset
  2749
        "Do not allow clicking on line numbers..."
eeee217e8bee class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14850
diff changeset
  2750
        extraSafeArea := "('999' widthOn:self)" 5.
eeee217e8bee class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14850
diff changeset
  2751
        x < (self width - self paddingRight - widthDiffInfo - extraSafeArea) ifFalse:[^ self].
eeee217e8bee class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14850
diff changeset
  2752
    ].
eeee217e8bee class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14850
diff changeset
  2753
14843
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2754
    codeView notNil ifTrue:[
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2755
        ((x > (self paddingLeft + self usedWidthForAcceptCancel)) or:
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2756
            [x < (self width - self paddingRight - widthDiffInfo)]
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2757
        ) ifTrue:[
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2758
            (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
  2759
        ].
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
    super buttonMultiPress: btn x: x y: y
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2762
!
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2763
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2764
buttonPress: btn x: x y: y
14963
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2765
    blockWaitingForPossibleDoubleClick :=
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2766
        [
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2767
            self nonMultiButtonPress: btn x: x y: y
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2768
        ].
15625
2f6a53bee89f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15521
diff changeset
  2769
    Processor 
2f6a53bee89f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15521
diff changeset
  2770
        addTimedBlock:blockWaitingForPossibleDoubleClick 
2f6a53bee89f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15521
diff changeset
  2771
        for:Processor activeProcess 
2f6a53bee89f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15521
diff changeset
  2772
        afterMilliseconds:200.
14963
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2773
!
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2774
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2775
nonMultiButtonPress: btn x: x y: y
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2776
    "this is now called delayed for a single button press
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2777
     (i.e. if there is not other click within some time)"
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2778
11520
091c7e0e435a added a save-area (line-number) into which a click does not toggle
Claus Gittinger <cg@exept.de>
parents: 11467
diff changeset
  2779
    |extraSafeArea|
091c7e0e435a added a save-area (line-number) into which a click does not toggle
Claus Gittinger <cg@exept.de>
parents: 11467
diff changeset
  2780
14851
eeee217e8bee class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14850
diff changeset
  2781
    "/ 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
  2782
    (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
  2783
        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
  2784
            (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
  2785
                self accept.
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  2786
                ^self.
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  2787
            ].
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  2788
            (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
  2789
                self cancel.
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  2790
                ^self.            
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  2791
            ].
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  2792
            self diff.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2793
        ].
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2794
        ^self.
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2795
    ].
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2796
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2797
    false ifTrue:[
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2798
        "Do not allow clicking on line numbers..."
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2799
        extraSafeArea := "('999' widthOn:self)" 5.
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2800
        x < (self width - self paddingRight - widthDiffInfo - extraSafeArea) ifFalse:[^ self].
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2801
    ].
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2802
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2803
    codeView notNil ifTrue:[
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2804
        ((x > (self paddingLeft + self usedWidthForAcceptCancel)) or:
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2805
            [x < (self width - self paddingRight - widthDiffInfo)]
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2806
        ) ifTrue:[
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2807
            (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
  2808
        ].
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2809
    ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2810
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2811
    "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
  2812
    "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
  2813
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2814
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2815
sizeChanged:how
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2816
    super sizeChanged:how.
15520
ee71c6d3d759 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15475
diff changeset
  2817
    "/ self invalidateAcceptCancelBar.
ee71c6d3d759 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15475
diff changeset
  2818
    self invalidate.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2819
    "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
  2820
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2821
11220
82c46989af92 flybyhelp in gutter
Claus Gittinger <cg@exept.de>
parents: 11179
diff changeset
  2822
!CodeView2::GutterView methodsFor:'help'!
82c46989af92 flybyhelp in gutter
Claus Gittinger <cg@exept.de>
parents: 11179
diff changeset
  2823
14843
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2824
flyByHelpTextAt:aPointOrNil
16557
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2825
    |lineNr textCollector services|
14843
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2826
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2827
    codeView isNil ifTrue:[^ nil].
16557
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2828
    aPointOrNil isNil ifTrue:[^ nil].
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2829
    
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2830
    lineNr := codeView lineAtY:aPointOrNil y.
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2831
    lineNr isNil ifTrue:[^ nil].
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2832
    
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2833
    textCollector := TextStream new.
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2834
    
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2835
    "/ which service has an annotation for that line
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2836
    services := codeView services.
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2837
    "/ show lintservice-help first
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2838
    services := (services select:[:s | s isLintService])
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2839
                ,(services reject:[:s | s isLintService]).
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2840
                
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2841
    services do:[:eachService |
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2842
        |tooltip|
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2843
        
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2844
        tooltip := eachService flyByHelpTextAtLine:lineNr.
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2845
        tooltip notEmptyOrNil ifTrue:[
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2846
            textCollector notEmpty ifTrue:[ textCollector cr].
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2847
            textCollector nextPutAllText:tooltip.
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2848
            tooltip last == Character cr ifFalse:[textCollector cr].
14843
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2849
        ].
12903
22da380892a5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12870
diff changeset
  2850
    ].
16557
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2851
    textCollector isEmpty ifTrue:[ ^ nil ].
4039e1ff5147 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16243
diff changeset
  2852
    ^ textCollector contents.    
11220
82c46989af92 flybyhelp in gutter
Claus Gittinger <cg@exept.de>
parents: 11179
diff changeset
  2853
! !
82c46989af92 flybyhelp in gutter
Claus Gittinger <cg@exept.de>
parents: 11179
diff changeset
  2854
14545
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  2855
!CodeView2::GutterView methodsFor:'initialize & release'!
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2856
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2857
initialize
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2858
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2859
    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
  2860
14963
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2861
    blockWaitingForPossibleDoubleClick := nil.
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2862
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2863
    showLineNumbers := true.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2864
    widthAcceptCancel := 16.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2865
    widthAnnotations := "16"8.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2866
    widthDiffInfo := 5.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2867
15361
ecb983b4a902 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15170
diff changeset
  2868
    UserPreferences current useColorsForColorBlindness ifTrue:[
ecb983b4a902 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15170
diff changeset
  2869
        acceptColor := Color blue.
ecb983b4a902 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15170
diff changeset
  2870
    ] ifFalse:[
ecb983b4a902 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15170
diff changeset
  2871
        acceptColor := Color green.
ecb983b4a902 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15170
diff changeset
  2872
    ].
ecb983b4a902 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15170
diff changeset
  2873
    cancelColor := Color red.
ecb983b4a902 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15170
diff changeset
  2874
    diffColor := Color yellow.
ecb983b4a902 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15170
diff changeset
  2875
16243
d10057b93404 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 16148
diff changeset
  2876
    acceptColor := acceptColor lighter onDevice:device.
d10057b93404 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 16148
diff changeset
  2877
    cancelColor := cancelColor lighter lighter onDevice:device.
d10057b93404 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 16148
diff changeset
  2878
    diffColor := diffColor lighter lighter onDevice:device.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2879
14983
4e23aedeee9a class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14963
diff changeset
  2880
    self enableMotionEvents.   "/ for per-line tooltips
4e23aedeee9a class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14963
diff changeset
  2881
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2882
    "Created: / 16-06-2011 / 13:47:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2883
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2884
14545
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  2885
release
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  2886
    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
  2887
    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
  2888
    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
  2889
        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
  2890
    ].
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  2891
    super release.
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  2892
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  2893
    "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
  2894
!
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  2895
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2896
setCodeView: aCodeView2
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2897
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2898
    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
  2899
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2900
    codeView addDependent: self.
10784
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  2901
    codeView reallyModifiedChannel addDependent: self.
13993
ec74fc4b84e5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13978
diff changeset
  2902
    "/ 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
  2903
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2904
    textView := aCodeView2 textView.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2905
    textView addDependent: self.
13993
ec74fc4b84e5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13978
diff changeset
  2906
    "/ 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
  2907
    "/ self currentBlockNodeHolder: codeView currentBlockNodeHolder.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2908
    textViewScroller := aCodeView2 textViewScroller.
10577
ae449524a0b4 redrawing grey
Claus Gittinger <cg@exept.de>
parents: 10523
diff changeset
  2909
    "/ self backgroundPaint: (textView viewBackground "backgroundPaint" blendWith: (Color gray:80)).
ae449524a0b4 redrawing grey
Claus Gittinger <cg@exept.de>
parents: 10523
diff changeset
  2910
    self viewBackground: (View defaultBackgroundColor).
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2911
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2912
    "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
  2913
    "Modified: / 17-08-2011 / 15:15:55 / cg"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2914
    "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
  2915
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2916
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2917
!CodeView2::GutterView methodsFor:'queries'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2918
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2919
displayedString: line
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2920
    "get text to display in gutter for specified list line number"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2921
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2922
    ^(line asString).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2923
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2924
    "Created: / 14-12-2009 / 13:37:47 / Jindra <a>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2925
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2926
13105
4e02e8dc7d4b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13098
diff changeset
  2927
lineColorForLine:line
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2928
    "return special color for given line if required, nil otherwise"
13105
4e02e8dc7d4b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13098
diff changeset
  2929
    "used only if lineFont returns nil"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2930
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2931
    ^nil
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2932
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2933
    "Created: / 14-12-2009 / 15:01:31 / Jindra <a>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2934
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2935
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2936
lineDisplayable:line
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2937
    "true if this list line can be displayed"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2938
    ^(textView listLineIsVisible:line)
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2939
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2940
    "Created: / 14-12-2009 / 13:38:23 / Jindra <a>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2941
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2942
13105
4e02e8dc7d4b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13098
diff changeset
  2943
lineFontForLine:line
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2944
    "return special font for given line if required, nil otherwise"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2945
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2946
    ^nil
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2947
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2948
    "Created: / 14-12-2009 / 14:40:17 / Jindra <a>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2949
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2950
13566
e238ad7e24fc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13565
diff changeset
  2951
wantsFocusWithButtonPress
e238ad7e24fc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13565
diff changeset
  2952
    ^ false.
e238ad7e24fc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13565
diff changeset
  2953
!
e238ad7e24fc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13565
diff changeset
  2954
13213
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  2955
yOfTextViewLine:lineNr
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  2956
    "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
  2957
     the textView (because gutter may become higher than textView, iff
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  2958
     the textView has a horizontal scrollbar"
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  2959
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  2960
    |visibleLineNr "{ Class: SmallInteger }"|
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  2961
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2962
    "/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
  2963
    "/    to get nil!!
13213
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  2964
    shown ifFalse:[^ nil].
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  2965
    lineNr isNil ifTrue:[^ nil].
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  2966
    visibleLineNr := lineNr - textView firstLineShown + 1.
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  2967
    ^ textView yOfVisibleLine:visibleLineNr
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2968
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2969
    "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
  2970
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2971
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2972
!CodeView2::GutterView methodsFor:'redrawing'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2973
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2974
invalidateAcceptCancelBar
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2975
    | w |
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2976
15520
ee71c6d3d759 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15475
diff changeset
  2977
    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
  2978
    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
  2979
    w == 0 ifTrue:[ ^ self ].
15520
ee71c6d3d759 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15475
diff changeset
  2980
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2981
    self
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2982
        invalidateX: 0
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2983
                  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
  2984
              width: w
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2985
             height: self height.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2986
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2987
    "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
  2988
    "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
  2989
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2990
13097
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  2991
invalidateDeviceRectangle:aRectangle repairNow:doRepairNow
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  2992
    ^ super invalidateDeviceRectangle:aRectangle repairNow:doRepairNow
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  2993
!
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  2994
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2995
invalidateLines
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2996
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2997
    | x0 |
15520
ee71c6d3d759 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15475
diff changeset
  2998
    x0 := self acceptCancelRight "+ 1".
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2999
    self
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3000
        invalidateX: x0
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3001
                  y: 0
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3002
              width: self width - x0
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3003
             height: self height.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3004
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3005
    "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
  3006
    "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
  3007
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3008
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3009
redrawAcceptCancelBarX: x y: y width:w height:h
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3010
13978
f4adc42d7354 Fixed some redraw problems when internal accept-cancel is disabled.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13975
diff changeset
  3011
    | 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
  3012
f4adc42d7354 Fixed some redraw problems when internal accept-cancel is disabled.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13975
diff changeset
  3013
    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
  3014
    x >= acceptRight ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3015
        ^self.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3016
    ].
13978
f4adc42d7354 Fixed some redraw problems when internal accept-cancel is disabled.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13975
diff changeset
  3017
    rw := ((x + w) min: acceptRight) - x.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3018
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3019
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3020
    textView reallyModified ifFalse:[
17254
e3d0bbb6b28f #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 17242
diff changeset
  3021
        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
  3022
    ] ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3023
        acceptBottom := self acceptButtonBottom.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3024
        cancelBottom := self cancelButtonBottom.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3025
        y < acceptBottom ifTrue:[
17254
e3d0bbb6b28f #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 17242
diff changeset
  3026
            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
  3027
        ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3028
        (y < cancelBottom) ifTrue:[
17254
e3d0bbb6b28f #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 17242
diff changeset
  3029
            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
  3030
        ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3031
        (y + h >= cancelBottom) ifTrue:[
17254
e3d0bbb6b28f #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 17242
diff changeset
  3032
            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
  3033
        ]
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3034
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3035
    ]
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3036
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3037
    "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
  3038
    "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
  3039
!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3040
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3041
redrawBackgroundX:x y:y width:w height:h
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3042
    "redraws gutter background"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3043
13091
076f0ec1e120 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13085
diff changeset
  3044
    |savPaint|
076f0ec1e120 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13085
diff changeset
  3045
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3046
    "background is filled with background color"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3047
    self 
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3048
        clearRectangleX:x
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3049
        y:y
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3050
        width:w
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3051
        height:h. 
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3052
13091
076f0ec1e120 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13085
diff changeset
  3053
    "separator line is drawn in grey"
076f0ec1e120 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13085
diff changeset
  3054
    savPaint := self paint.
15521
fb618bbd9037 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15520
diff changeset
  3055
    self paint:Color grey.
13091
076f0ec1e120 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13085
diff changeset
  3056
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3057
    self 
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3058
        displayLineFromX:(width - 1)
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3059
        y:y
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3060
        toX:(width - 1)
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3061
        y:(y+h).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3062
13091
076f0ec1e120 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13085
diff changeset
  3063
    self paint:savPaint.
15521
fb618bbd9037 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15520
diff changeset
  3064
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3065
    "Created: / 14-12-2009 / 13:15:53 / Jindra <a>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3066
    "Modified: / 14-12-2009 / 15:09:54 / Jindra <a>"
10577
ae449524a0b4 redrawing grey
Claus Gittinger <cg@exept.de>
parents: 10523
diff changeset
  3067
    "Modified: / 17-08-2011 / 15:12:47 / cg"
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3068
    "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
  3069
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3070
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3071
redrawLine:line 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3072
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3073
    ^self redrawLine:line cleared: false.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3074
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3075
    "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
  3076
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3077
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3078
redrawLine:line cleared: cleared
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3079
    "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
  3080
    
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3081
    ^ self redrawLine:line cleared:cleared drawServices:true
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3082
!
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3083
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3084
redrawLine:line cleared:cleared drawServices:drawServices
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3085
    "redraws specified line. Returns width of drawn object.
13213
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  3086
     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
  3087
16607
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  3088
    |lineString yTop yBaseline textViewFont fontAscent fontDescent
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  3089
     textW requiredW oldFont newFont oldColor newColor 
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  3090
     myFont myFontAscent myFontDescent|
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3091
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3092
    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
  3093
    textView isNil ifTrue:[^ self].     "/ happens when shown in UIPainter
16243
d10057b93404 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 16148
diff changeset
  3094
        
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  3095
    requiredW := self width.
14520
777b5112f927 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14519
diff changeset
  3096
    myFont := gc font.
16243
d10057b93404 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 16148
diff changeset
  3097
    textViewFont := textView font.
d10057b93404 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 16148
diff changeset
  3098
    
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  3099
    showLineNumbers ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3100
        lineString := self displayedString:line.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3101
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3102
        textW := (lineString widthOn:self).
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3103
        requiredW := textW + self padding.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3104
14520
777b5112f927 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14519
diff changeset
  3105
        oldFont := myFont.
17254
e3d0bbb6b28f #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 17242
diff changeset
  3106
        oldColor := gc paint.
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3107
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3108
        newFont := self lineFontForLine:line.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3109
        newFont isNil ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3110
            newFont := oldFont.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3111
        ].
19602
ab99cb004e8a `CodeView2`: take line number color from stylesheet
Jan Vrany <jan.vrany@labware.com>
parents: 19601
diff changeset
  3112
        newColor := self lineColorForLine:line.
ab99cb004e8a `CodeView2`: take line number color from stylesheet
Jan Vrany <jan.vrany@labware.com>
parents: 19601
diff changeset
  3113
        newColor isNil ifTrue: [
ab99cb004e8a `CodeView2`: take line number color from stylesheet
Jan Vrany <jan.vrany@labware.com>
parents: 19601
diff changeset
  3114
            newColor := styleSheet colorAt: 'foregroundColor' default: nil
ab99cb004e8a `CodeView2`: take line number color from stylesheet
Jan Vrany <jan.vrany@labware.com>
parents: 19601
diff changeset
  3115
        ].
ab99cb004e8a `CodeView2`: take line number color from stylesheet
Jan Vrany <jan.vrany@labware.com>
parents: 19601
diff changeset
  3116
        newColor notNil ifTrue:[ gc paint:newColor ].
ab99cb004e8a `CodeView2`: take line number color from stylesheet
Jan Vrany <jan.vrany@labware.com>
parents: 19601
diff changeset
  3117
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3118
        newFont ~~ oldFont ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3119
            "/ 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
  3120
            (newFont heightOn:device) > (textViewFont heightOn:device) ifTrue:[
d10057b93404 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 16148
diff changeset
  3121
                newFont := textViewFont.
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3122
            ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3123
            newFont ~~ oldFont ifTrue:[
14520
777b5112f927 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14519
diff changeset
  3124
                self font:newFont.
777b5112f927 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14519
diff changeset
  3125
                myFont := gc font.
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3126
            ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3127
        ].
11424
69b3960c7757 care for small text-font in gutterview
Claus Gittinger <cg@exept.de>
parents: 11398
diff changeset
  3128
    ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3129
16243
d10057b93404 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 16148
diff changeset
  3130
    fontAscent := textViewFont ascentOn:device.
d10057b93404 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 16148
diff changeset
  3131
    fontDescent := textViewFont descentOn:device.
16607
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  3132
    myFontAscent := myFont ascent.
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  3133
    myFontDescent := myFont descent.
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  3134
    
13584
ca0a679b490d class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13582
diff changeset
  3135
    yTop := (self yOfTextViewLine:line) ? 0.
13574
95c71c5bc71c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13569
diff changeset
  3136
    yBaseline := yTop + fontAscent.
95c71c5bc71c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13569
diff changeset
  3137
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3138
    cleared ifFalse:[
17254
e3d0bbb6b28f #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 17242
diff changeset
  3139
        gc 
e3d0bbb6b28f #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 17242
diff changeset
  3140
            clearRectangleX:0 y:(yBaseline - myFontAscent) 
e3d0bbb6b28f #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 17242
diff changeset
  3141
            width:(width - 2) height:(myFontAscent + myFontDescent).
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3142
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3143
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3144
    "/ cg: this should be done differently: services know about the
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3145
    "/ gutter, so they should respond to a special drawGutter message.
13105
4e02e8dc7d4b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13098
diff changeset
  3146
    "/ otherwise, some redraws become unusably slow (especially
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3147
    "/ with multiple fonts/colors/emphases)...
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3148
    drawServices ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3149
        "Let services draw annotations and other stuff"
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3150
        codeView notNil ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3151
            codeView
16607
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  3152
                drawLine:line in:self
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  3153
                atX:(self acceptCancelRight + 1) y:yBaseline 
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  3154
                width:widthAnnotations height:(myFont height) ascent:myFontAscent
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  3155
                from:nil to:nil with:(self paint) and:(self backgroundColor).
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3156
        ]
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3157
    ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3158
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  3159
    showLineNumbers ifTrue:[
17254
e3d0bbb6b28f #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 17242
diff changeset
  3160
        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
  3161
        newFont notNil ifTrue:[
17254
e3d0bbb6b28f #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 17242
diff changeset
  3162
            gc font:oldFont.
e3d0bbb6b28f #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 17242
diff changeset
  3163
            gc paint:oldColor
13943
510f0343785e Fixes off-by-one error when drawing annotations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13942
diff changeset
  3164
        ] ifFalse:[
17254
e3d0bbb6b28f #TUNING by cg
Claus Gittinger <cg@exept.de>
parents: 17242
diff changeset
  3165
            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
  3166
        ].
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  3167
    ].
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  3168
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3169
    "/ 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
  3170
    "/ of accept/cancel bar !!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3171
    cleared ifFalse:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3172
        "/ In that case it was cleared above.
16607
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  3173
        self redrawAcceptCancelBarX:0 y:(yBaseline - myFontAscent)
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  3174
             width:width - 2
45afee69027d #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 16587
diff changeset
  3175
             height:(myFontAscent + myFontDescent).
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3176
    ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3177
    ^ requiredW.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3178
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3179
    "Modified: / 14-12-2009 / 15:30:44 / Jindra <a>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3180
    "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
  3181
    "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
  3182
    "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
  3183
    "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
  3184
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3185
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3186
redrawLinesFrom:start
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3187
    "/ cg: obsolete?
10312
5b281e46f943 Fixes to avoid unncessary redraws of GutterView
vrany
parents: 10293
diff changeset
  3188
    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
  3189
        self redrawLine:line cleared:false drawServices:true.
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3190
    ]
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3191
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3192
    "Created: / 06-07-2011 / 17:25:36 / jv"
10312
5b281e46f943 Fixes to avoid unncessary redraws of GutterView
vrany
parents: 10293
diff changeset
  3193
    "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
  3194
!
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3195
13374
4185e24179b7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13316
diff changeset
  3196
redrawVisibleLine:line 
4185e24179b7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13316
diff changeset
  3197
    |absLine|
4185e24179b7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13316
diff changeset
  3198
4185e24179b7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13316
diff changeset
  3199
    (absLine := textView visibleLineToListLine:line) notNil ifTrue:[
4185e24179b7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13316
diff changeset
  3200
        self redrawLine:absLine cleared: false.
4185e24179b7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13316
diff changeset
  3201
    ].
4185e24179b7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13316
diff changeset
  3202
4185e24179b7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13316
diff changeset
  3203
    "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
  3204
!
4185e24179b7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13316
diff changeset
  3205
13105
4e02e8dc7d4b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13098
diff changeset
  3206
redrawX:x y:y width:w height:h
13213
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  3207
    |firstLine lastLine yBot|
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  3208
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3209
    self redrawBackgroundX:x y:y width:w height:h.
10793
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  3210
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  3211
    (codeView notNil and:[codeView showAcceptCancelBar]) ifTrue:[    
10793
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  3212
        self redrawAcceptCancelBarX:x y:y width:w height:h.
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  3213
    ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3214
13575
a3a8f530bf16 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13574
diff changeset
  3215
    "/ textview may be nil, if Gutter is shown in the UIPainter!!
a3a8f530bf16 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13574
diff changeset
  3216
    textView notNil ifTrue:[
a3a8f530bf16 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13574
diff changeset
  3217
        numberOfLines := (textView list size max:textView cursorLine).
a3a8f530bf16 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13574
diff changeset
  3218
        yBot := y + h.
a3a8f530bf16 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13574
diff changeset
  3219
        firstLine := textView visibleLineToAbsoluteLine:(textView visibleLineOfY:y).
a3a8f530bf16 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13574
diff changeset
  3220
        lastLine := textView visibleLineToAbsoluteLine:(textView visibleLineOfY:yBot-1).
a3a8f530bf16 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13574
diff changeset
  3221
        lastLine := lastLine min:numberOfLines.
a3a8f530bf16 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13574
diff changeset
  3222
a3a8f530bf16 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13574
diff changeset
  3223
        firstLine to:lastLine do: [:line | 
a3a8f530bf16 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13574
diff changeset
  3224
            self redrawLine:line cleared:true drawServices:true.
a3a8f530bf16 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13574
diff changeset
  3225
        ].
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  3226
    ]
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3227
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3228
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3229
!CodeView2::TextView methodsFor:'accessing'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3230
19603
e1fd0c06dfa6 `CodeView2`: ignore any `#border:` setting in `CodeView2::TextView`
Jan Vrany <jan.vrany@labware.com>
parents: 19602
diff changeset
  3231
border: aBorder
e1fd0c06dfa6 `CodeView2`: ignore any `#border:` setting in `CodeView2::TextView`
Jan Vrany <jan.vrany@labware.com>
parents: 19602
diff changeset
  3232
    "/ 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
  3233
    "/ 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
  3234
    "/ 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
  3235
e1fd0c06dfa6 `CodeView2`: ignore any `#border:` setting in `CodeView2::TextView`
Jan Vrany <jan.vrany@labware.com>
parents: 19602
diff changeset
  3236
    "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
  3237
!
e1fd0c06dfa6 `CodeView2`: ignore any `#border:` setting in `CodeView2::TextView`
Jan Vrany <jan.vrany@labware.com>
parents: 19602
diff changeset
  3238
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3239
changedDiffText
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3240
    ^ changedDiffText
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3241
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3242
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3243
changedDiffText:something
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3244
    changedDiffText := something.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3245
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3246
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3247
changedLines
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3248
    ^ changedLines
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3249
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3250
    "Created: / 26-04-2010 / 20:30:32 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3251
    "Modified: / 26-04-2010 / 21:48:13 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3252
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3253
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3254
changedLines:something 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3255
    changedLines := something.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3256
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3257
    "Created: / 26-04-2010 / 20:30:19 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3258
    "Modified: / 02-05-2010 / 19:13:32 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3259
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3260
15130
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
  3261
codeView
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
  3262
    ^ codeView
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
  3263
!
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
  3264
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3265
contents: text
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3266
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3267
    super contents: text.
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3268
    reallyModifiedChannel value: false.
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3269
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3270
    "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
  3271
!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3272
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3273
contents: text clear: clearPrevious
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3274
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3275
    | savedListOriginal |
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3276
    savedListOriginal := listOriginal.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3277
    super contents: text.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3278
    listOriginal := savedListOriginal.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3279
    self updateReallyModified.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3280
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3281
    "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
  3282
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3283
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3284
deletedLines
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3285
    ^  deletedLines
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3286
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3287
    "Modified: / 26-04-2010 / 21:48:23 / 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
11597
Claus Gittinger <cg@exept.de>
parents: 11559
diff changeset
  3290
deletedLines:something 
Claus Gittinger <cg@exept.de>
parents: 11559
diff changeset
  3291
    deletedLines := something.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3292
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3293
    "Modified: / 26-04-2010 / 21:48:54 / Jakub <zelenja7@fel.cvut.cz>"
11597
Claus Gittinger <cg@exept.de>
parents: 11559
diff changeset
  3294
    "Modified (format): / 17-07-2012 / 18:56:44 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3295
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3296
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3297
diffMode
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3298
    ^ diffMode
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3299
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3300
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3301
diffMode:something
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3302
    diffMode := something.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3303
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3304
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3305
emptyLines
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3306
    ^ emptyLines
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3307
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3308
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3309
emptyLines:something
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3310
    emptyLines := something.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3311
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3312
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3313
fontAscent
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3314
    ^fontAscent notNil ifTrue:[fontAscent] ifFalse:[super fontAscent]
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3315
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3316
    "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
  3317
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3318
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3319
insertedLines
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3320
    ^  insertedLines
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:27 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3323
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3324
11597
Claus Gittinger <cg@exept.de>
parents: 11559
diff changeset
  3325
insertedLines:something 
Claus Gittinger <cg@exept.de>
parents: 11559
diff changeset
  3326
    insertedLines := something.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3327
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3328
    "Modified: / 26-04-2010 / 21:48:59 / Jakub <zelenja7@fel.cvut.cz>"
11597
Claus Gittinger <cg@exept.de>
parents: 11559
diff changeset
  3329
    "Modified (format): / 17-07-2012 / 18:56:50 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3330
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3331
10245
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  3332
modifiedChannel: aValueHolder
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  3333
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  3334
    super modifiedChannel: aValueHolder
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  3335
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  3336
    "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
  3337
!
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  3338
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3339
originDiffText
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3340
    ^ originDiffText
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3341
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3342
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3343
originDiffText:something
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3344
    originDiffText := something.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3345
!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3346
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3347
reallyModified
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3348
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3349
    ^self reallyModifiedChannel value
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3350
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3351
    "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
  3352
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3353
11393
fb1c9eb2aab7 category of:20 methods
Claus Gittinger <cg@exept.de>
parents: 11377
diff changeset
  3354
!CodeView2::TextView methodsFor:'accessing-colors'!
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3355
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3356
colorChanged
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3357
    ^ Color redByte:240 greenByte: 192 blueByte: 192
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3358
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3359
    "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
  3360
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3361
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3362
colorDeleted
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3363
    ^ self colorInserted.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3364
    "/^ Color pink
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3365
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3366
    "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
  3367
    "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
  3368
    "Modified (format): / 17-07-2012 / 18:57:14 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3369
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3370
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3371
colorInserted
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3372
    ^ Color redByte: 239 greenByte: 225 blueByte: 152
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3373
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3374
    "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
  3375
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3376
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3377
!CodeView2::TextView methodsFor:'accessing-contents'!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3378
10784
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3379
list:aCollection expandTabs:expand scanForNonStrings:scan includesNonStrings:nonStrings
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3380
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3381
    super list:aCollection expandTabs:expand scanForNonStrings:scan includesNonStrings:nonStrings.
13517
7cf990f83349 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13456
diff changeset
  3382
10784
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3383
    listOriginal := aCollection copy.
10834
b25dd8ee319b changed: #initialize
vrany
parents: 10793
diff changeset
  3384
    reallyModifiedChannel value: false.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3385
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3386
    "/JV: used to be notifyLines... but that method
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3387
    "/    leaves suppressNotifications to true, which is not what
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3388
    "/    we want!!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3389
    self updateReallyModified.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3390
    codeView linesModifiedFrom: 1 to: list size.
10784
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3391
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3392
    "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
  3393
    "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
  3394
!
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3395
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3396
setList:aCollection expandTabs:expandTabs redraw:doRedraw
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3397
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3398
    super setList:aCollection expandTabs:expandTabs redraw:doRedraw.
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3399
    listOriginal := aCollection copy.
10834
b25dd8ee319b changed: #initialize
vrany
parents: 10793
diff changeset
  3400
    reallyModifiedChannel value: false.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3401
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3402
    "/JV: used to be notifyLines... but that method
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3403
    "/    leaves suppressNotifications to true, which is not what
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3404
    "/    we want!!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3405
    self updateReallyModified.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3406
    codeView linesModifiedFrom: 1 to: list size.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3407
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3408
    "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
  3409
    "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
  3410
! !
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3411
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3412
!CodeView2::TextView methodsFor:'accessing-look'!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3413
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3414
lineSpacing
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3415
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3416
    ^lineSpacing
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3417
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3418
    "Modified: / 22-05-1996 / 12:22:29 / cg"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3419
    "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
  3420
! !
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3421
10785
vrany
parents: 10784
diff changeset
  3422
!CodeView2::TextView methodsFor:'accessing-state'!
vrany
parents: 10784
diff changeset
  3423
vrany
parents: 10784
diff changeset
  3424
beUnmodified
vrany
parents: 10784
diff changeset
  3425
vrany
parents: 10784
diff changeset
  3426
    self modifiedChannel value: false.
vrany
parents: 10784
diff changeset
  3427
    reallyModifiedChannel value: false.
vrany
parents: 10784
diff changeset
  3428
    listOriginal := list copy.
vrany
parents: 10784
diff changeset
  3429
vrany
parents: 10784
diff changeset
  3430
    "Created: / 08-10-2011 / 12:51:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
vrany
parents: 10784
diff changeset
  3431
!
vrany
parents: 10784
diff changeset
  3432
vrany
parents: 10784
diff changeset
  3433
isModified
vrany
parents: 10784
diff changeset
  3434
vrany
parents: 10784
diff changeset
  3435
    ^self modified
vrany
parents: 10784
diff changeset
  3436
vrany
parents: 10784
diff changeset
  3437
    "Created: / 08-10-2011 / 12:52:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
vrany
parents: 10784
diff changeset
  3438
!
vrany
parents: 10784
diff changeset
  3439
vrany
parents: 10784
diff changeset
  3440
isReallyModified
vrany
parents: 10784
diff changeset
  3441
vrany
parents: 10784
diff changeset
  3442
    ^self reallyModified
vrany
parents: 10784
diff changeset
  3443
vrany
parents: 10784
diff changeset
  3444
    "Created: / 08-10-2011 / 12:52:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
vrany
parents: 10784
diff changeset
  3445
! !
vrany
parents: 10784
diff changeset
  3446
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3447
!CodeView2::TextView methodsFor:'bit blitting'!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3448
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3449
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
  3450
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3451
    "/ If doing a vertical scroll, optimized Gutter redraw by
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3452
    "/ copying gutter's image...
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3453
    (scrollInProgress and:[aDrawable == self]) ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3454
        "/ Vertical scroll?
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3455
        ((srcY ~= dstY) and:[srcX = dstX]) ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3456
            "/ Do copy in gutter, but not accept-cancel bar!!
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3457
            | x0 |
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3458
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3459
            x0 := gutterView acceptCancelRight.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3460
            gutterView
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3461
                copyFrom:gutterView
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3462
                       x:x0
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3463
                       y:srcY
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3464
                     toX:x0
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3465
                       y:dstY
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3466
                   width:(gutterView width - x0)
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3467
                  height:h
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3468
                   async:false
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3469
        ]
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3470
    ].
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3471
    ^ super
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3472
        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
  3473
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3474
    "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
  3475
! !
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3476
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3477
!CodeView2::TextView methodsFor:'channels'!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3478
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3479
reallyModifiedChannel
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  3480
    "return the valueHolder holding true if text was really modified.
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  3481
     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
  3482
     to trigger another change notification with every keystroke (for the syntaxHighighter).
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  3483
     This may be (now) considered a very bad hack"
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3484
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3485
    ^ reallyModifiedChannel
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3486
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3487
    "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
  3488
!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3489
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3490
reallyModifiedChannel: aValueModel
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3491
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3492
    |prev|
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3493
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3494
    prev := reallyModifiedChannel.
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3495
    prev notNil ifTrue:[
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3496
        gutterView notNil ifTrue:[
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3497
            reallyModifiedChannel removeDependent: gutterView.
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3498
        ]
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3499
    ].
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3500
    reallyModifiedChannel := aValueModel.
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3501
    self setupChannel:aValueModel for:nil withOld:prev.
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3502
    gutterView notNil ifTrue:[
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3503
        reallyModifiedChannel addDependent: gutterView.
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3504
    ]
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3505
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3506
    "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
  3507
! !
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3508
12354
8aac48d63ded changed default for Jan's quick menus to use the ALT button isntead
Claus Gittinger <cg@exept.de>
parents: 12347
diff changeset
  3509
!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
  3510
8aac48d63ded changed default for Jan's quick menus to use the ALT button isntead
Claus Gittinger <cg@exept.de>
parents: 12347
diff changeset
  3511
isQuickMenuModifierPressed
8aac48d63ded changed default for Jan's quick menus to use the ALT button isntead
Claus Gittinger <cg@exept.de>
parents: 12347
diff changeset
  3512
    UserPreferences current codeView2QuickSendersAndImplementorsOnControl ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3513
        ^ 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
  3514
    ].
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3515
    ^ 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
  3516
!
8aac48d63ded changed default for Jan's quick menus to use the ALT button isntead
Claus Gittinger <cg@exept.de>
parents: 12347
diff changeset
  3517
8aac48d63ded changed default for Jan's quick menus to use the ALT button isntead
Claus Gittinger <cg@exept.de>
parents: 12347
diff changeset
  3518
isQuickMenuModifierReleased
8aac48d63ded changed default for Jan's quick menus to use the ALT button isntead
Claus Gittinger <cg@exept.de>
parents: 12347
diff changeset
  3519
    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
  3520
        ^ 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
  3521
    ].
8aac48d63ded changed default for Jan's quick menus to use the ALT button isntead
Claus Gittinger <cg@exept.de>
parents: 12347
diff changeset
  3522
    ^ 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
  3523
! !
8aac48d63ded changed default for Jan's quick menus to use the ALT button isntead
Claus Gittinger <cg@exept.de>
parents: 12347
diff changeset
  3524
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3525
!CodeView2::TextView methodsFor:'drawing'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3526
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3527
backgroundForVisibleLine:visLineNr default:bg
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3528
    | lineNr |
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3529
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3530
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3531
    diffMode ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3532
        lineNr := self visibleLineToListLine:visLineNr.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3533
        (insertedLines notEmptyOrNil and:[insertedLines includes:lineNr]) ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3534
            ^self colorInserted
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3535
        ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3536
        (changedLines notEmptyOrNil and:[changedLines includes:lineNr]) ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3537
            ^self colorChanged
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3538
        ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3539
        (deletedLines notEmptyOrNil and:[deletedLines includes:lineNr]) ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3540
            ^self colorDeleted
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3541
        ].
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3542
    ].
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3543
    ^ bg
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3544
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3545
    "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
  3546
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3547
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3548
drawFromVisibleLine:startVisLineNr to:endVisLineNr with:fg and:bg
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3549
    "draw a visible line range in fg/bg"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3550
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3551
    diffMode ifFalse:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3552
        super drawFromVisibleLine:startVisLineNr to:endVisLineNr with:fg and:bg.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3553
        ^self.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3554
    ].
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3555
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3556
    startVisLineNr to: endVisLineNr do:[:visLineNr|
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3557
        self drawVisibleLine: visLineNr with:fg and:bg
13813
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
    "Modified: / 15-12-1999 / 23:19:39 / cg"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3561
    "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
  3562
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3563
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3564
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
  3565
    super
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3566
        drawLine:line
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3567
        fromX:x
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3568
        inVisible:visLineNr
19604
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3569
        with:(self foregroundForVisibleLine:visLineNr default:fg)
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3570
        and:(self backgroundForVisibleLine:visLineNr default:bg).
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3571
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3572
    "Created: / 05-04-2010 / 12:07:07 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3573
    "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
  3574
    "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
  3575
    "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
  3576
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3577
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3578
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
  3579
    super
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3580
        drawLine:lineStringArg
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3581
        inVisible:visLineNr
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3582
        col:col
19604
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3583
        with:(self foregroundForVisibleLine:visLineNr default:fg)
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3584
        and:(self backgroundForVisibleLine:visLineNr default:bg).
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3585
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3586
    "Created: / 05-04-2010 / 11:49:42 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3587
    "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
  3588
    "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
  3589
    "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
  3590
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3591
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3592
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
  3593
    super
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3594
        drawLine:lineStringArg
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3595
        inVisible:visLineNr
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3596
        from:startCol
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3597
        to:endColOrNil
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 / 11:54:54 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3602
    "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
  3603
    "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
  3604
    "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
  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:lineString inVisible:visLineNr from:startCol 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:lineString
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
        from:startCol
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:54:26 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3616
    "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
  3617
    "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
  3618
    "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
  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
drawVisibleLine:visLineNr 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
        drawVisibleLine:visLineNr
19604
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3624
        with:(self foregroundForVisibleLine:visLineNr default:fg)
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3625
        and:(self backgroundForVisibleLine:visLineNr default:bg).
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3626
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3627
    "Created: / 05-04-2010 / 11:49:42 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3628
    "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
  3629
    "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
  3630
    "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
  3631
!
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3632
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3633
foregroundForVisibleLine:visLineNr default:fg
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3634
    | lineNr |
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3635
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3636
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3637
    diffMode ifTrue:[
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3638
        lineNr := self visibleLineToListLine:visLineNr.
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3639
        (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
  3640
            ^self colorInserted contrastingBlackOrWhite
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3641
        ].
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3642
        (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
  3643
            ^self colorChanged contrastingBlackOrWhite
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3644
        ].
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3645
        (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
  3646
            ^self colorDeleted contrastingBlackOrWhite
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3647
        ].
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3648
    ].
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3649
    ^ fg
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3650
b02a518e2c70 `CodeView2`: use constracting color when drawing text that differs
Jan Vrany <jan.vrany@labware.com>
parents: 19603
diff changeset
  3651
    "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
  3652
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3653
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3654
!CodeView2::TextView methodsFor:'editing'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3655
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3656
contentsChanged
13051
0fcebb7687b4 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13039
diff changeset
  3657
    "this one is sent, whenever contents changes its size"
0fcebb7687b4 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13039
diff changeset
  3658
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3659
    super contentsChanged.
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3660
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3661
"/    codeView diffMode ifTrue:[
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3662
"/        changedDiffText ifTrue:[
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3663
"/            codeView recomputeDiff:self.
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3664
"/        ] ifFalse:[
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3665
"/            changedDiffText := true.
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3666
"/        ].  
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3667
"/    ]
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3668
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3669
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3670
    "Created: / 22-06-2010 / 23:13:24 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3671
    "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
  3672
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3673
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3674
getNewOriginText
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3675
    |i size pole pom text helperText|
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3676
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3677
    i := 1.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3678
    pole := list.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3679
    size := list size.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3680
    text:=''.
10877
1ed55c34722d changed:
Claus Gittinger <cg@exept.de>
parents: 10844
diff changeset
  3681
    emptyLines isNil ifTrue:[emptyLines := #()].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3682
    [ i <= size ] whileTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3683
        pom := emptyLines indexOf:i.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3684
        (pom = 0) ifFalse:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3685
            helperText := pole at:i.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3686
            (helperText = '') ifFalse:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3687
                (helperText isNil)ifTrue:[helperText:=''].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3688
                helperText:=helperText,Character cr.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3689
                text := text asString , helperText asString.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3690
            ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3691
        ] ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3692
            helperText := pole at:i.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3693
            (helperText isNil)ifTrue:[helperText:=''].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3694
            helperText:=helperText,Character cr.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3695
            text := text asString , helperText asString.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3696
        ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3697
    i:=i+1.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3698
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3699
^text
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3700
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3701
    "Created: / 22-06-2010 / 22:33:27 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3702
    "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
  3703
    "Modified: / 18-11-2011 / 14:58:22 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3704
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3705
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3706
!CodeView2::TextView methodsFor:'editing-basic'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3707
10708
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3708
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
  3709
    "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
  3710
10731
5904065850c6 Fixed notification in #basicDeleteChars...
vrany
parents: 10728
diff changeset
  3711
    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
  3712
    self notifyLinesModifiedFrom: lineNr to: lineNr.
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3713
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3714
    "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
  3715
!
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3716
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3717
basicDeleteFromLine:startLineNr toLine:endLineNr 
10728
463a51112b1d Possibly redraw-bug fix
vrany
parents: 10723
diff changeset
  3718
463a51112b1d Possibly redraw-bug fix
vrany
parents: 10723
diff changeset
  3719
    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
  3720
    self notifyLinesDeletedFrom:startLineNr to:endLineNr.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3721
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3722
    "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
  3723
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3724
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3725
basicDeleteLineWithoutRedraw:lineNr
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3726
10728
463a51112b1d Possibly redraw-bug fix
vrany
parents: 10723
diff changeset
  3727
    super basicDeleteLineWithoutRedraw:lineNr.
463a51112b1d Possibly redraw-bug fix
vrany
parents: 10723
diff changeset
  3728
    self notifyLinesDeletedFrom: lineNr to: lineNr.
9985
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: / 28-06-2011 / 09:10:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3731
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3732
10708
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3733
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
  3734
    "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
  3735
     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
  3736
10728
463a51112b1d Possibly redraw-bug fix
vrany
parents: 10723
diff changeset
  3737
    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
  3738
    self notifyLinesModifiedFrom: lineNr to: lineNr.
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3739
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3740
    "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
  3741
!
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3742
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3743
basicMergeLine:lineNr removeBlanks:removeBlanks
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3744
10728
463a51112b1d Possibly redraw-bug fix
vrany
parents: 10723
diff changeset
  3745
    super basicMergeLine:lineNr removeBlanks:removeBlanks.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3746
    self notifyLinesDeletedFrom: lineNr + 1 to: lineNr + 1.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3747
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3748
    "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
  3749
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3750
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3751
basicSplitLine:lineNr before:colNr
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3752
10728
463a51112b1d Possibly redraw-bug fix
vrany
parents: 10723
diff changeset
  3753
    super basicSplitLine:lineNr before:colNr.
463a51112b1d Possibly redraw-bug fix
vrany
parents: 10723
diff changeset
  3754
    self notifyLinesInsertedFrom: lineNr +1 to: lineNr + 1.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3755
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3756
    "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
  3757
!
a484c4cad7e0 fix in paste in autoIndent mode
vrany
parents: 10973
diff changeset
  3758
14439
6d02fc4b8ca0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14369
diff changeset
  3759
basicWithoutRedrawInsertLines:lines from:start to:end before:lineNr
6d02fc4b8ca0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14369
diff changeset
  3760
    super basicWithoutRedrawInsertLines:lines from:start to:end before:lineNr.
6d02fc4b8ca0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14369
diff changeset
  3761
    self updateReallyModified.
6d02fc4b8ca0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14369
diff changeset
  3762
!
6d02fc4b8ca0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14369
diff changeset
  3763
6d02fc4b8ca0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14369
diff changeset
  3764
basicWithoutRedrawInsertStringWithoutCRs:aString atLine:lineNr col:colNr
6d02fc4b8ca0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14369
diff changeset
  3765
    super basicWithoutRedrawInsertStringWithoutCRs:aString atLine:lineNr col:colNr.
6d02fc4b8ca0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14369
diff changeset
  3766
    self updateReallyModified.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3767
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3768
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3769
!CodeView2::TextView methodsFor:'event handling'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3770
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3771
buttonMotion:button x:x y:y
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3772
17242
d5090925b22c #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17039
diff changeset
  3773
    (codeView buttonMotion:button x:x y:y in: self) ifFalse:[
d5090925b22c #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17039
diff changeset
  3774
        super buttonMotion:button x:x y:y
d5090925b22c #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 17039
diff changeset
  3775
    ].
9985
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: / 14-02-2010 / 16:23:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3778
    "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
  3779
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3780
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3781
buttonPress: button x: x y: y
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3782
    | ctrlDown  |
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3783
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3784
    (codeView buttonPress:button x:x y:y in: self)
12870
798d611cfd62 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12869
diff changeset
  3785
        ifFalse:[super buttonPress:button x:x y:y].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3786
    "
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3787
    ((ctrlDown := self sensor ctrlDown) and: [ codeView syntaxElementSelection notNil]) 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3788
        ifTrue: [codeView buttonPressInTextView: button x:x y:y ctrlDown: ctrlDown].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3789
    super 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3790
        buttonPress: button
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3791
        x: x
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3792
        y: y
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3793
    "
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3794
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3795
    "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
  3796
    "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
  3797
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3798
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  3799
buttonRelease: button x: x y: y
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  3800
    (codeView buttonRelease:button x:x y:y in: self)
12870
798d611cfd62 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12869
diff changeset
  3801
        ifFalse:[super buttonRelease:button x:x y:y].
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  3802
!
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  3803
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3804
keyPress:key x:x y:y
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3805
    (codeView keyPress:key x:x y:y in: self)
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3806
        ifFalse:[super keyPress:key x:x y:y].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3807
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3808
    "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
  3809
    "Modified: / 05-04-2010 / 09:55:52 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3810
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3811
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3812
keyRelease: key x: x y: y
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3813
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3814
    (codeView keyRelease:key x:x y:y in: self)
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3815
        ifFalse:[super keyRelease:key x:x y:y].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3816
    "
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3817
    (key = #Control_L) ifTrue:
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3818
        [ codeView highlightClear. self redraw ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3819
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3820
    ^ super 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3821
        keyRelease: key
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3822
        x: x
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3823
        y: y
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3824
    "
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3825
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3826
    "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
  3827
    "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
  3828
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3829
10970
dc9da0fc38ef Small improvement for auto-indent (when enabled, not by default)
vrany
parents: 10967
diff changeset
  3830
!CodeView2::TextView methodsFor:'formatting'!
dc9da0fc38ef Small improvement for auto-indent (when enabled, not by default)
vrany
parents: 10967
diff changeset
  3831
dc9da0fc38ef Small improvement for auto-indent (when enabled, not by default)
vrany
parents: 10967
diff changeset
  3832
leftIndentForLine:lineNr
dc9da0fc38ef Small improvement for auto-indent (when enabled, not by default)
vrany
parents: 10967
diff changeset
  3833
dc9da0fc38ef Small improvement for auto-indent (when enabled, not by default)
vrany
parents: 10967
diff changeset
  3834
    | lang |
dc9da0fc38ef Small improvement for auto-indent (when enabled, not by default)
vrany
parents: 10967
diff changeset
  3835
    lang := codeView language.
10973
44ccdbc1fb0a fix in #leftIndentForLine: for view with nil language
vrany
parents: 10972
diff changeset
  3836
    "Bit hacky here, should ask language some language toolbox
44ccdbc1fb0a fix in #leftIndentForLine: for view with nil language
vrany
parents: 10972
diff changeset
  3837
    for formatting helper, that should do it..."
44ccdbc1fb0a fix in #leftIndentForLine: for view with nil language
vrany
parents: 10972
diff changeset
  3838
    (lang notNil and:[lang isSmalltalk]) ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3839
        | line lineNo indent |
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3840
        lineNo := lineNr.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3841
        [lineNo ~~ 1] whileTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3842
            lineNo  := lineNo - 1.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3843
            line := self listAt:lineNo.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3844
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3845
            line notNil ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3846
                indent := line indexOfNonSeparatorStartingAt:1.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3847
                "beggining od block"
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3848
                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
  3849
                    | 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
  3850
1359a8b36fe9 Fix in #leftIndentForLine: ignore whitespace at the end of the line.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14638
diff changeset
  3851
                    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
  3852
                    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
  3853
                    [ 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
  3854
                        (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
  3855
                            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
  3856
                        ] ifFalse:[ 
14674
71ed373e94bc Oops, fixed stc compilation problem.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14672
diff changeset
  3857
                            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
  3858
                        ].
1359a8b36fe9 Fix in #leftIndentForLine: ignore whitespace at the end of the line.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14638
diff changeset
  3859
                    ].
1359a8b36fe9 Fix in #leftIndentForLine: ignore whitespace at the end of the line.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14638
diff changeset
  3860
                    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
  3861
                        lastChar == $[ ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3862
                            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
  3863
                        ] ifFalse:[
1359a8b36fe9 Fix in #leftIndentForLine: ignore whitespace at the end of the line.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14638
diff changeset
  3864
                            "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
  3865
                            (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
  3866
                                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
  3867
                            ]
1359a8b36fe9 Fix in #leftIndentForLine: ignore whitespace at the end of the line.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14638
diff changeset
  3868
                        ].
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3869
                    ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3870
                ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3871
                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
  3872
                    ^ indent - 1
13942
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
            ]
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3875
        ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3876
        ^0.
10970
dc9da0fc38ef Small improvement for auto-indent (when enabled, not by default)
vrany
parents: 10967
diff changeset
  3877
    ].
dc9da0fc38ef Small improvement for auto-indent (when enabled, not by default)
vrany
parents: 10967
diff changeset
  3878
    ^super leftIndentForLine:lineNr
dc9da0fc38ef Small improvement for auto-indent (when enabled, not by default)
vrany
parents: 10967
diff changeset
  3879
dc9da0fc38ef Small improvement for auto-indent (when enabled, not by default)
vrany
parents: 10967
diff changeset
  3880
    "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
  3881
    "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
  3882
! !
dc9da0fc38ef Small improvement for auto-indent (when enabled, not by default)
vrany
parents: 10967
diff changeset
  3883
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3884
!CodeView2::TextView methodsFor:'initialization'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3885
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3886
initialize
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3887
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3888
    super initialize.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3889
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3890
    changedDiffText := true.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3891
    diffMode := false.
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3892
    suppressNotifications := false.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3893
    reallyModifiedChannel := false asValue.
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3894
    scrollInProgress := false.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3895
10630
d59bc761de55 fixed: #sendersMenu:selector:
Claus Gittinger <cg@exept.de>
parents: 10577
diff changeset
  3896
    self enableMotionEvents.
d59bc761de55 fixed: #sendersMenu:selector:
Claus Gittinger <cg@exept.de>
parents: 10577
diff changeset
  3897
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3898
    "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
  3899
    "Modified: / 06-07-2011 / 17:46:31 / jv"
10630
d59bc761de55 fixed: #sendersMenu:selector:
Claus Gittinger <cg@exept.de>
parents: 10577
diff changeset
  3900
    "Modified: / 21-08-2011 / 10:09:29 / cg"
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3901
    "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
  3902
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3903
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3904
setCodeView: aCodeView2
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3905
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3906
    codeView := aCodeView2.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3907
    codeView addDependent: self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3908
    gutterView := aCodeView2 gutterView.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3909
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3910
    "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
  3911
    "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
  3912
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3913
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3914
setGutterView: aGutterView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3915
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3916
    self assert: gutterView isNil message:'Attempting to set gutterView twice'.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3917
    gutterView := aGutterView.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3918
    gutterView setTextView: self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3919
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3920
    "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
  3921
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3922
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3923
!CodeView2::TextView methodsFor:'menu & menu actions'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3924
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3925
accept
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3926
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3927
    super accept.
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3928
    reallyModifiedChannel value: false.
10785
vrany
parents: 10784
diff changeset
  3929
    listOriginal := list copy.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3930
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3931
    "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
  3932
!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3933
10784
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3934
cancel
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3935
10785
vrany
parents: 10784
diff changeset
  3936
    self list: listOriginal
10784
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3937
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3938
    "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
  3939
!
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3940
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3941
editMenu
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3942
11398
84d3987c0155 better search (for variables)
Claus Gittinger <cg@exept.de>
parents: 11393
diff changeset
  3943
    ^ codeView editMenu
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3944
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3945
    "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
  3946
    "Modified (format): / 08-03-2012 / 12:30:22 / cg"
84d3987c0155 better search (for variables)
Claus Gittinger <cg@exept.de>
parents: 11393
diff changeset
  3947
!
84d3987c0155 better search (for variables)
Claus Gittinger <cg@exept.de>
parents: 11393
diff changeset
  3948
84d3987c0155 better search (for variables)
Claus Gittinger <cg@exept.de>
parents: 11393
diff changeset
  3949
searchVariableVisible
84d3987c0155 better search (for variables)
Claus Gittinger <cg@exept.de>
parents: 11393
diff changeset
  3950
    "search variable option in searchbox visible?"
84d3987c0155 better search (for variables)
Claus Gittinger <cg@exept.de>
parents: 11393
diff changeset
  3951
84d3987c0155 better search (for variables)
Claus Gittinger <cg@exept.de>
parents: 11393
diff changeset
  3952
    ^ true
84d3987c0155 better search (for variables)
Claus Gittinger <cg@exept.de>
parents: 11393
diff changeset
  3953
84d3987c0155 better search (for variables)
Claus Gittinger <cg@exept.de>
parents: 11393
diff changeset
  3954
    "Created: / 08-03-2012 / 14:01:51 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3955
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3956
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3957
!CodeView2::TextView methodsFor:'notification'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3958
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3959
notifyLinesDeletedFrom: startLine to: endLine
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3960
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3961
    self updateReallyModified.
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3962
    suppressNotifications ifTrue:[^self].
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3963
    codeView linesDeletedFrom: startLine to: endLine.
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3964
    suppressNotifications := true.
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3965
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3966
    "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
  3967
    "Modified: / 06-07-2011 / 17:47:05 / jv"
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3968
    "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
  3969
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3970
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3971
notifyLinesInsertedFrom: startLine to: endLine
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3972
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3973
    self updateReallyModified.
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3974
    suppressNotifications ifTrue:[^self].
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3975
    codeView linesInsertedFrom: startLine to: endLine.
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3976
    suppressNotifications := true.
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3977
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3978
    "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
  3979
    "Modified: / 06-07-2011 / 17:47:20 / jv"
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3980
    "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
  3981
!
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3982
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3983
notifyLinesModifiedFrom: startLine to: endLine
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3984
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3985
    self updateReallyModified.
10708
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3986
    suppressNotifications ifTrue:[^self].
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3987
    codeView linesModifiedFrom: startLine to: endLine.
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3988
    suppressNotifications := true.
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3989
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3990
    "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
  3991
    "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
  3992
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3993
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3994
!CodeView2::TextView methodsFor:'private'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3995
14503
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  3996
isTextDifferentFromOriginalSource
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3997
    "check for modified code by comparing the source against
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3998
     the codeViews contents.
14503
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  3999
     That's the true modified value 
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4000
     (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
  4001
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4002
    |different changedSource originalSource 
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4003
     lastLineOfChangedSource lastLineOfOriginalSource
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4004
     originalL changedL checkIfDifferent|
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4005
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4006
    "/ 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
  4007
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4008
    different := false.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4009
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4010
    "/ cg: don't do that (collecting original/changedSource); 
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4011
    "/ 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
  4012
"/        changedSource := list ? #().
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4013
"/        changedSource := changedSource collect:[:line | line isEmptyOrNil ifTrue:[nil] ifFalse:[line]].
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4014
"/        [changedSource size > 0 and:[changedSource last isNil]] whileTrue:[
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4015
"/            changedSource := changedSource removeLast.
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4016
"/        ].
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4017
"/
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4018
"/        originalSource := listOriginal ? #() "self model value ? ''".
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4019
"/        originalSource := originalSource collect:[:line | line isEmptyOrNil ifTrue:[nil] ifFalse:[line]].
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4020
"/        [originalSource size > 0 and:[originalSource last isNil]] whileTrue:[
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4021
"/            originalSource := originalSource removeLast
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4022
"/        ].
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4023
"/        originalSource size ~~ changedSource size ifTrue:[
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4024
"/            modified := true.
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4025
"/        ] ifFalse:[
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4026
"/            | i stopIndex |
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4027
"/
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4028
"/            i := 1.
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4029
"/            stopIndex := originalSource size + 1.            
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4030
"/            [ modified not and:[ i < stopIndex ] ] whileTrue:[
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4031
"/                | originalL changedL |
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4032
"/
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4033
"/                originalL := ((originalSource at: i) ? '') string.
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4034
"/                changedL :=  ((changedSource  at: i) ? '') string.                
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4035
"/                originalL ~= changedL ifTrue:[
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4036
"/                    originalL withoutTrailingSeparators ~= changedL withoutTrailingSeparators ifTrue:[
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4037
"/                        modified := true.
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4038
"/                    ]
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4039
"/                ].
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4040
"/                i := i + 1.
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4041
"/            ]
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4042
"/        ].
14503
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4043
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4044
    list size ~~ listOriginal size ifTrue:[
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4045
        ^ true
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4046
    ].
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4047
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4048
    "/ instead, do everything without collecting a new stringcollection.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4049
    changedSource := list ? #().
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4050
    lastLineOfChangedSource := changedSource size.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4051
    [lastLineOfChangedSource > 0 and:[(changedSource at:lastLineOfChangedSource) isEmptyOrNil]] whileTrue:[
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4052
        lastLineOfChangedSource := lastLineOfChangedSource - 1.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4053
    ].        
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4054
    originalSource := listOriginal ? #().
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4055
    lastLineOfOriginalSource := originalSource size.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4056
    [lastLineOfOriginalSource > 0 and:[(originalSource at:lastLineOfOriginalSource) isEmptyOrNil]] whileTrue:[
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4057
        lastLineOfOriginalSource := lastLineOfOriginalSource - 1.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4058
    ].        
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4059
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4060
    lastLineOfOriginalSource ~~ lastLineOfChangedSource ifTrue:[
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4061
        ^ true.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4062
    ].
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4063
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4064
    checkIfDifferent :=
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4065
        [:lNr |
14590
45e301c7bb21 Fix in CodeView2::TextView>>isTextDifferentFromOriginalSource
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14549
diff changeset
  4066
14504
5b86ded001c0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14503
diff changeset
  4067
            lNr > originalSource size ifTrue:[
5b86ded001c0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14503
diff changeset
  4068
                originalL := ''.
5b86ded001c0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14503
diff changeset
  4069
            ] ifFalse:[
5b86ded001c0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14503
diff changeset
  4070
                originalL := ((originalSource at: lNr) ? '') string.
5b86ded001c0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14503
diff changeset
  4071
            ].
14511
f6dfead0637f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14506
diff changeset
  4072
            lNr > changedSource size ifTrue:[
14504
5b86ded001c0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14503
diff changeset
  4073
                changedL := ''.
5b86ded001c0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14503
diff changeset
  4074
            ] ifFalse:[
14511
f6dfead0637f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14506
diff changeset
  4075
                changedL :=  ((changedSource at: lNr) ? '') string.                
14504
5b86ded001c0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14503
diff changeset
  4076
            ].
14503
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4077
            originalL ~= changedL ifTrue:[
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4078
                originalL withoutTrailingSeparators ~= changedL withoutTrailingSeparators ifTrue:[
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4079
                    ^ true.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4080
                ]
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4081
            ].
12347
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4082
        ].
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4083
14503
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4084
    "/ 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
  4085
    "/ 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
  4086
    (cursorLine notNil and:[cursorLine > 0]) ifTrue:[
14503
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4087
        checkIfDifferent value:cursorLine.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  4088
    ].
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  4089
14503
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4090
    1 to:lastLineOfOriginalSource do:checkIfDifferent.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4091
    ^ false
14590
45e301c7bb21 Fix in CodeView2::TextView>>isTextDifferentFromOriginalSource
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14549
diff changeset
  4092
45e301c7bb21 Fix in CodeView2::TextView>>isTextDifferentFromOriginalSource
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14549
diff changeset
  4093
    "Modified: / 07-07-2014 / 11:11:57 / jv"
14503
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4094
!
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4095
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4096
superEditMenu
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4097
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4098
    ^super editMenu
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4099
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4100
    "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
  4101
!
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4102
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4103
updateReallyModified
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4104
    "check for modified code by comparing the source against
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4105
     the codeViews contents.
16865
d29d2834b10e #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16622
diff changeset
  4106
     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
  4107
     and the displayed text is actually original"
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4108
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4109
    |modified|
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4110
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4111
    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
  4112
ee890e421e64 Issue #116: Cleaned up couple methods in `Tools::CodeView2::TextView`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17136
diff changeset
  4113
    "/ 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
  4114
    reallyModifiedChannel dependents isEmptyOrNil ifTrue:[^self].
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4115
    modified := self isTextDifferentFromOriginalSource.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4116
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  4117
    reallyModifiedChannel value: modified
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  4118
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  4119
    "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
  4120
    "Modified: / 08-10-2011 / 11:10:01 / cg"
10844
cbb5f5dd900a Performance fix in CodeView2::TextView>>updateReallyModified
vrany
parents: 10834
diff changeset
  4121
    "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
  4122
    "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
  4123
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4124
11903
5b027fc44ff8 +supportsSyntaxElements query
Claus Gittinger <cg@exept.de>
parents: 11769
diff changeset
  4125
!CodeView2::TextView methodsFor:'queries'!
5b027fc44ff8 +supportsSyntaxElements query
Claus Gittinger <cg@exept.de>
parents: 11769
diff changeset
  4126
13625
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4127
editedClass
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4128
    |cls|
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4129
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4130
    (cls := codeView classHolder value) notNil ifTrue:[
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4131
        ^ cls
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4132
    ].
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4133
    ^ super editedClass
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4134
!
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4135
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4136
editedMethod
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4137
    |cls|
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4138
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4139
    (cls := codeView methodHolder value) notNil ifTrue:[
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4140
        ^ cls
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4141
    ].
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4142
    ^ super editedMethod
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4143
!
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4144
11903
5b027fc44ff8 +supportsSyntaxElements query
Claus Gittinger <cg@exept.de>
parents: 11769
diff changeset
  4145
supportsSyntaxElements
14506
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4146
    "syntax elements are a byproduct of the syntax highlighter;
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4147
     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
  4148
     and parts of a keyword message's selector.
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4149
     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
  4150
     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
  4151
     deal correctly with same-named blockvars of different blocks"
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4152
11903
5b027fc44ff8 +supportsSyntaxElements query
Claus Gittinger <cg@exept.de>
parents: 11769
diff changeset
  4153
    ^ true
12980
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4154
!
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4155
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4156
syntaxElementAtPosition:position
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4157
    "is there is a syntax element at position?
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4158
     If so, return the element; otherwise, return nil"
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4159
14506
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4160
    |syntaxElements el|
12980
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4161
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4162
    syntaxElements := codeView syntaxElements.
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4163
    syntaxElements isEmptyOrNil ifTrue:[^ nil].
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4164
    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
  4165
    el isNil ifTrue:[^ nil].
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4166
    ^ el.
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4167
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4168
    "Created: / 08-03-2012 / 14:21:52 / cg"
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4169
!
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4170
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4171
syntaxElementForSelectedVariable
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4172
    "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
  4173
     If so, return the element; otherwise, return nil"
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4174
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4175
    |element startPosition endPosition|
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4176
14506
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4177
    self selectionAsString isEmptyOrNil ifTrue:[
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4178
        "/ ^ nil.
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4179
        element := self syntaxElementForVariableUnderCursor.
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4180
    ] ifFalse:[
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4181
        startPosition := self characterPositionOfLine:selectionStartLine col:selectionStartCol.
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4182
        endPosition := self characterPositionOfLine:selectionEndLine col:selectionEndCol.
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4183
        element := self syntaxElementAtPosition:startPosition.
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4184
    ].
12980
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4185
    element isNil ifTrue:[^ nil].
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4186
    (element start = startPosition and:[element stop = endPosition]) ifFalse:[^ nil].
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4187
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4188
    element isNil ifTrue:[^ nil].
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4189
    element isVariableOrSelf ifFalse:[^ nil].
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4190
    ^ element
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4191
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4192
    "Created: / 08-03-2012 / 14:21:15 / cg"
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4193
!
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4194
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4195
syntaxElementForSelectorUnderCursor
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4196
    "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
  4197
     If so, return the element; otherwise, return nil"
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
    |elementUnderCursor |
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4200
14506
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4201
    elementUnderCursor := self syntaxElementUnderCursor.
12980
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4202
    elementUnderCursor isNil ifTrue:[^ nil].
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4203
    elementUnderCursor isSelector ifFalse:[^ nil].
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4204
    ^ elementUnderCursor.
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4205
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4206
    "Created: / 08-03-2012 / 12:44:03 / cg"
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4207
!
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4208
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4209
syntaxElementForVariableUnderCursor
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4210
    "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
  4211
     If so, return the element; otherwise, return nil"
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4212
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4213
    |elementUnderCursor |
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4214
14506
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4215
    elementUnderCursor := self syntaxElementUnderCursor.
12980
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4216
    elementUnderCursor isNil ifTrue:[^ nil].
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4217
    elementUnderCursor isVariableOrSelf ifFalse:[^ nil].
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4218
    ^ elementUnderCursor.
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4219
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4220
    "Created: / 08-03-2012 / 12:44:03 / cg"
14506
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4221
!
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4222
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4223
syntaxElementUnderCursor
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4224
    "is there is a syntax element under the cursor?
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4225
     If so, return the element; otherwise, return nil"
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4226
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4227
    ^ self syntaxElementAtPosition:(self characterPositionOfCursor).
11903
5b027fc44ff8 +supportsSyntaxElements query
Claus Gittinger <cg@exept.de>
parents: 11769
diff changeset
  4228
! !
5b027fc44ff8 +supportsSyntaxElements query
Claus Gittinger <cg@exept.de>
parents: 11769
diff changeset
  4229
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4230
!CodeView2::TextView methodsFor:'scrolling'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4231
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  4232
basicScrollTo:anOrigin redraw:doRedraw
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  4233
    | savedScrollIProgress |
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  4234
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  4235
    savedScrollIProgress := scrollInProgress. 
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  4236
    scrollInProgress := true.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  4237
    [
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  4238
        super scrollTo:anOrigin redraw:doRedraw
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  4239
    ] ensure:[ 
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  4240
        scrollInProgress := savedScrollIProgress. 
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  4241
    ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  4242
    "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
  4243
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  4244
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4245
originChanged:delta
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4246
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4247
    super originChanged:delta.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4248
13105
4e02e8dc7d4b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13098
diff changeset
  4249
    "/ gutterView invalidate.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4250
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4251
    "Created: / 07-12-2009 / 21:50:49 / Jindra <a>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4252
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4253
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  4254
scrollTo:anOrigin redraw:doRedraw
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  4255
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  4256
    codeView scrollTo:anOrigin redraw:doRedraw in: self.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  4257
    self basicScrollTo:anOrigin redraw:doRedraw
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  4258
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  4259
    "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
  4260
    "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
  4261
    "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
  4262
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4263
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4264
!CodeView2::TextView methodsFor:'undo & again'!
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4265
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4266
nonUndoableDo: aBlock
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4267
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4268
    super nonUndoableDo: aBlock.
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4269
    suppressNotifications := false.
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4270
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4271
    "Created: / 06-07-2011 / 17:48:27 / jv"
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4272
!
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4273
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4274
undoableDo: aBlock info: into
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4275
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4276
    super undoableDo: aBlock info: into.
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4277
    suppressNotifications := false.
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4278
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4279
    "Created: / 06-07-2011 / 17:48:49 / jv"
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4280
! !
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4281
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4282
!CodeView2 class methodsFor:'documentation'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4283
10293
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  4284
version
15718
e6317c6a1b66 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15643
diff changeset
  4285
    ^ '$Header$'
10293
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  4286
!
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  4287
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4288
version_CVS
15718
e6317c6a1b66 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15643
diff changeset
  4289
    ^ '$Header$'
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4290
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4291
15637
b2ba737b16b8 Fix in CodeView2's gutter fly-by help generation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15629
diff changeset
  4292
version_HG
b2ba737b16b8 Fix in CodeView2's gutter fly-by help generation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15629
diff changeset
  4293
b2ba737b16b8 Fix in CodeView2's gutter fly-by help generation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15629
diff changeset
  4294
    ^ '$Changeset: <not expanded> $'
b2ba737b16b8 Fix in CodeView2's gutter fly-by help generation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15629
diff changeset
  4295
!
b2ba737b16b8 Fix in CodeView2's gutter fly-by help generation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15629
diff changeset
  4296
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4297
version_SVN
15718
e6317c6a1b66 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 15643
diff changeset
  4298
    ^ '$Id$'
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4299
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4300
12347
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4301
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4302
CodeView2 initialize!