Tools__CodeView2.st
author Claus Gittinger <cg@exept.de>
Sun, 01 Feb 2015 14:17:11 +0100
changeset 15150 940d37c7d3ac
parent 15130 1e1510171b15
child 15170 a4ce93833783
permissions -rw-r--r--
class: Tools::ChangeList fixed the following redraw bug in ModelListView (which is already fixed in SelectionInListView): if a colored item is shown with selection, the color attribute should be removed (or relaxed), to avoid drawing the label invisible. I.e. if the text color is blue or grey, and the selection bg is blue. we should draw white-on-blue, instead of blue/grey on blue. For this to work, the info whether drawing a selection must be passed down through the renderer to the item's draw routine.
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
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
     3
              All Rights Reserved
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
     4
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
     5
Permission is hereby granted, free of charge, to any person
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
     6
obtaining a copy of this software and associated documentation
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
     7
files (the 'Software'), to deal in the Software without
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
     8
restriction, including without limitation the rights to use,
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
     9
copy, modify, merge, publish, distribute, sublicense, and/or sell
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    10
copies of the Software, and to permit persons to whom the
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    11
Software is furnished to do so, subject to the following
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    12
conditions:
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    13
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    14
The above copyright notice and this permission notice shall be
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    15
included in all copies or substantial portions of the Software.
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    16
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    17
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    18
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    19
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    20
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    21
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    22
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    23
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
    24
OTHER DEALINGS IN THE SOFTWARE.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
"{ Package: 'stx:libtool' }"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
"{ NameSpace: Tools }"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
SimpleView subclass:#CodeView2
15130
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    31
	instanceVariableNames:'gutterView textView textViewScroller methodHolder languageHolder
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    32
		classHolder browserHolder codeAspect modifiedChannel
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    33
		showGutterChannel showAcceptCancelBarChannel modeHolder services
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    34
		servicesFromClient syntaxElements currentParseNodeHolder
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    35
		currentBlockNodeHolder syntaxElementSelection highlightEmphasis
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    36
		diffMode synchronizedCodeViews'
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    37
	classVariableNames:'TraceSelectors'
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    38
	poolDictionaries:''
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    39
	category:'Interface-CodeView'
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
14986
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
    42
AbstractBackground subclass:#AnnotationShowingScrollerBackground
15130
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    43
	instanceVariableNames:'annotations textView'
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    44
	classVariableNames:''
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    45
	poolDictionaries:''
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    46
	privateIn:CodeView2
14986
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
    47
!
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
    48
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
SimpleView subclass:#GutterView
15130
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    50
	instanceVariableNames:'codeView textView textViewScroller widthAcceptCancel
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    51
		widthAnnotations widthDiffInfo numberOfLines acceptColor
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    52
		cancelColor diffColor menuHolder currentBlockNodeHolder
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    53
		showLineNumbers blockWaitingForPossibleDoubleClick'
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    54
	classVariableNames:''
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    55
	poolDictionaries:''
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    56
	privateIn:CodeView2
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
CodeView subclass:#TextView
15130
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    60
	instanceVariableNames:'listOriginal codeView gutterView diffMode deletedLines
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    61
		insertedLines lastFirstLine changedLines scrollInProgress
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    62
		originDiffText emptyLines changedDiffText suppressNotifications
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    63
		reallyModifiedChannel'
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    64
	classVariableNames:''
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    65
	poolDictionaries:''
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
    66
	privateIn:CodeView2
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
!CodeView2 class methodsFor:'documentation'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
copyright
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
"
10072
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    73
 COPYRIGHT (c) 2010 by Jan Vrany, SWING Research Group. CTU in Prague
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    74
              All Rights Reserved
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    75
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    76
Permission is hereby granted, free of charge, to any person
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    77
obtaining a copy of this software and associated documentation
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    78
files (the 'Software'), to deal in the Software without
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    79
restriction, including without limitation the rights to use,
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    80
copy, modify, merge, publish, distribute, sublicense, and/or sell
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    81
copies of the Software, and to permit persons to whom the
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    82
Software is furnished to do so, subject to the following
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    83
conditions:
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    84
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    85
The above copyright notice and this permission notice shall be
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    86
included in all copies or substantial portions of the Software.
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    87
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    88
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    89
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    90
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    91
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    92
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    93
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
7ceb629b7d13 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10007
diff changeset
    94
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
    95
OTHER DEALINGS IN THE SOFTWARE.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
!CodeView2 class methodsFor:'initialization'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
initialize
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
    "Invoked at system start or when the class is dynamically loaded."
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
    "/ please change as required (and remove this comment)
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
    TraceSelectors := IdentitySet new.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
    "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
   109
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
!CodeView2 class methodsFor:'debugging'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
trace: aSelector
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
    TraceSelectors add: aSelector
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
    "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
   118
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
untrace: aSelector
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
    TraceSelectors remove: aSelector ifAbsent:[]
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
    "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
   125
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
untraceAll
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
    TraceSelectors := IdentitySet new
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
    "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
   132
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
!CodeView2 class methodsFor:'examples'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
example1
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
    | window codeView |
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
    window := StandardSystemView new.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
    window extent: 300 @ 300.              
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
    window label: 'CodeView2 example1'.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
    codeView := Tools::CodeView2 in: window.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
    codeView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
        origin: 0.1 @ 0.1
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
        corner: 0.9 @ 0.9.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
    window open.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
    "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
   154
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
!CodeView2 class methodsFor:'menu specs'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
10293
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   158
debugMenu
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   159
    "This resource specification was automatically generated
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   160
     by the MenuEditor of ST/X."
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   161
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   162
    "Do not manually edit this!! If it is corrupted,
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   163
     the MenuEditor may not be able to read the specification."
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   164
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
     MenuEditor new openOnClass:Tools::CodeView2 andSelector:#editMenu_stxStyle
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   167
     (Menu new fromLiteralArrayEncoding:(Tools::CodeView2 editMenu_stxStyle)) startUp
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
    <resource: #menu>
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   171
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
     #(Menu
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   174
              (
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   175
               (MenuItem
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   176
                  label: 'Inspect '
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   177
                  itemValue: inspectView
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   178
                  translateLabel: true
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   179
                )
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   180
               (MenuItem
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   181
                  label: 'Inspect Syntax Elements'
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   182
                  itemValue: inspectSyntaxElements
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   183
                  translateLabel: true
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   184
                )
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   185
               (MenuItem
11398
84d3987c0155 better search (for variables)
Claus Gittinger <cg@exept.de>
parents: 11393
diff changeset
   186
                  label: 'Inspect Selected Selector'
10293
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   187
                  itemValue: inspectSelectedSelector
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   188
                  translateLabel: true
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   189
                )
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   190
               )
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   191
              nil
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   192
              nil
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   193
            )
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
    "Created: / 08-07-2011 / 13:36:02 / cg"
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   196
!
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
   197
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
editMenu
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
    "This resource specification was automatically generated
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
     by the MenuEditor of ST/X."
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
    "Do not manually edit this!! If it is corrupted,
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
     the MenuEditor may not be able to read the specification."
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
    "
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
     MenuEditor new openOnClass:Tools::CodeView2 andSelector:#editMenu
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
     (Menu new fromLiteralArrayEncoding:(Tools::CodeView2 editMenu)) startUp
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
    "
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   210
    UserPreferences current eclipseStyleMenus ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   211
        ^ self editMenu_eclipseStyle
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   212
    ].
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   213
    ^ self editMenu_stxStyle
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   214
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   215
    "Modified: / 08-07-2011 / 13:23:35 / cg"
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   216
!
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   217
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   218
editMenu_eclipseStyle
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   219
    "This resource specification was automatically generated
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   220
     by the MenuEditor of ST/X."
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   221
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   222
    "Do not manually edit this!! If it is corrupted,
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   223
     the MenuEditor may not be able to read the specification."
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   224
11311
15a2965ceba2 changed:
Claus Gittinger <cg@exept.de>
parents: 11241
diff changeset
   225
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   226
    "
11311
15a2965ceba2 changed:
Claus Gittinger <cg@exept.de>
parents: 11241
diff changeset
   227
     MenuEditor new openOnClass:Tools::CodeView2 andSelector:#editMenu_eclipseStyle
15a2965ceba2 changed:
Claus Gittinger <cg@exept.de>
parents: 11241
diff changeset
   228
     (Menu new fromLiteralArrayEncoding:(Tools::CodeView2 editMenu_eclipseStyle)) startUp
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   229
    "
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   230
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
    <resource: #menu>
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   233
    ^
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
     #(Menu
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   235
        (
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   236
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   237
            label: 'Implementors...'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   238
            itemValue: browseImplementorsOfIt
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   239
            submenuChannel: implementorsMenu
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   240
            shortcutKey: ImplementorsOfIt
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   241
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   242
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   243
            label: 'Senders...'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   244
            itemValue: browseSendersOfIt
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   245
            submenuChannel: sendersMenu
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   246
            shortcutKey: SendersOfIt
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   247
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   248
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   249
            label: 'Refactor'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   250
            nameKey: refactor
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   251
            isVisible: false
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   252
            shortcutKey: Shift
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: '-'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   256
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   257
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   258
            label: 'Accept'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   259
            itemValue: accept
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   260
            shortcutKey: Accept
14997
df3528dd1c58 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14992
diff changeset
   261
            enabled: canAccept
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   262
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   263
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   264
            label: '-'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   265
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   266
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   267
            label: 'Cut'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   268
            itemValue: cut
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   269
            shortcutKey: Cut
14997
df3528dd1c58 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14992
diff changeset
   270
            enabled: canCut
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   271
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   272
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   273
            label: 'Copy'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   274
            itemValue: copySelection
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   275
            shortcutKey: Copy
14997
df3528dd1c58 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14992
diff changeset
   276
            enabled: hasSelectionForCopy
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   277
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   278
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   279
            label: 'Paste'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   280
            itemValue: pasteOrReplace
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   281
            shortcutKey: Paste
14997
df3528dd1c58 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14992
diff changeset
   282
            enabled: isNotReadOnly
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   283
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   284
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   285
            label: '-'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   286
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   287
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   288
            label: 'Undo'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   289
            itemValue: undo
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   290
            shortcutKey: Undo
14997
df3528dd1c58 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14992
diff changeset
   291
            enabled: hasUndoAction
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   292
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   293
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   294
            label: 'Redo'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   295
            itemValue: redo
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   296
            shortcutKey: Redo
14997
df3528dd1c58 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14992
diff changeset
   297
            enabled: hasRedoAction
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   298
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   299
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   300
            label: '-'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   301
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   302
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   303
            label: 'Do it'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   304
            itemValue: doIt
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   305
            shortcutKey: DoIt
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
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   308
            label: 'Print it'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   309
            itemValue: printIt
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   310
            shortcutKey: PrintIt
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   311
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   312
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   313
            label: 'Inspect it'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   314
            itemValue: inspectIt
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   315
            shortcutKey: InspectIt
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   316
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   317
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   318
            label: 'Profile it'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   319
            itemValue: profileIt
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   320
            shortcutKey: InspectIt
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   321
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   322
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   323
            label: '-'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   324
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   325
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   326
            label: 'Show Gutter'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   327
            nameKey: ShowGutter
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   328
            indication: showGutterChannel
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: 'More'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   332
            nameKey: More
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   333
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   334
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   335
            label: 'Services'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   336
            submenuChannel: servicesMenu
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   337
          )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   338
         (MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   339
            label: 'Debug'
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   340
            submenuChannel: debugMenu
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
         )
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   343
        nil
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   344
        nil
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   345
      )
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   346
!
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   347
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   348
editMenu_stxStyle
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   349
    "This resource specification was automatically generated
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   350
     by the MenuEditor of ST/X."
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   351
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   352
    "Do not manually edit this!! If it is corrupted,
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   353
     the MenuEditor may not be able to read the specification."
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   354
11241
e3d6bdc7a790 changed: #editMenu_stxStyle
Claus Gittinger <cg@exept.de>
parents: 11220
diff changeset
   355
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   356
    "
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   357
     MenuEditor new openOnClass:Tools::CodeView2 andSelector:#editMenu_stxStyle
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   358
     (Menu new fromLiteralArrayEncoding:(Tools::CodeView2 editMenu_stxStyle)) startUp
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   359
    "
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   360
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   361
    <resource: #menu>
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   362
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   363
    ^ 
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   364
     #(Menu
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   365
        (
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   366
         (MenuItem
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   367
            label: 'Undo'
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   368
            itemValue: undo
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   369
            translateLabel: true
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   370
            shortcutKey: Undo
14997
df3528dd1c58 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14992
diff changeset
   371
            enabled: hasUndoAction
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   372
          )
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   373
         (MenuItem
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   374
            label: 'Again'
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   375
            itemValue: again
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   376
            translateLabel: true
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   377
            shortcutKey: Again
14997
df3528dd1c58 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14992
diff changeset
   378
            enabled: canDoAgain
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   379
          )
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   380
         (MenuItem
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   381
            label: '-'
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   382
          )
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   383
         (MenuItem
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   384
            label: 'Cut'
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   385
            itemValue: cut
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   386
            translateLabel: true
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   387
            shortcutKey: Cut
14997
df3528dd1c58 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14992
diff changeset
   388
            enabled: canCut
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   389
          )
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   390
         (MenuItem
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   391
            label: 'Copy'
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   392
            itemValue: copySelection
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   393
            translateLabel: true
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   394
            shortcutKey: Copy
14997
df3528dd1c58 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14992
diff changeset
   395
            enabled: hasSelectionForCopy
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   396
          )
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   397
         (MenuItem
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   398
            label: 'Paste'
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   399
            itemValue: pasteOrReplace
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   400
            translateLabel: true
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   401
            shortcutKey: Paste
14997
df3528dd1c58 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14992
diff changeset
   402
            enabled: isNotReadOnly
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   403
          )
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   404
         (MenuItem
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   405
            label: '-'
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: 'DoIt'
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   409
            itemValue: doIt
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   410
            translateLabel: true
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   411
            shortcutKey: DoIt
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   412
          )
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   413
         (MenuItem
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   414
            label: 'PrintIt'
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   415
            itemValue: printIt
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   416
            translateLabel: true
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   417
            shortcutKey: PrintIt
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   418
          )
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   419
         (MenuItem
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   420
            label: 'InspectIt'
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   421
            itemValue: inspectIt
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   422
            translateLabel: true
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   423
            shortcutKey: InspectIt
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: '-'
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   427
          )
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   428
         (MenuItem
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   429
            label: 'Accept'
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   430
            itemValue: accept
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   431
            translateLabel: true
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   432
            shortcutKey: Accept
14997
df3528dd1c58 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14992
diff changeset
   433
            enabled: canAccept
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: '-'
11353
5cb468550ad2 changed: #editMenu_stxStyle
Claus Gittinger <cg@exept.de>
parents: 11311
diff changeset
   437
            isVisible: false
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   438
          )
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   439
         (MenuItem
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   440
            label: 'Refactor'
11311
15a2965ceba2 changed:
Claus Gittinger <cg@exept.de>
parents: 11241
diff changeset
   441
            nameKey: refactor
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   442
            translateLabel: true
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   443
            isVisible: false
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   444
            shortcutKey: Shift
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   445
          )
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   446
         (MenuItem
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   447
            label: 'Services'
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   448
            translateLabel: true
11241
e3d6bdc7a790 changed: #editMenu_stxStyle
Claus Gittinger <cg@exept.de>
parents: 11220
diff changeset
   449
            isVisible: false
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   450
            submenuChannel: servicesMenu
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   451
          )
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   452
         (MenuItem
11353
5cb468550ad2 changed: #editMenu_stxStyle
Claus Gittinger <cg@exept.de>
parents: 11311
diff changeset
   453
            label: '='
10290
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   454
          )
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   455
         (MenuItem
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   456
            label: 'More'
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   457
            nameKey: More
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   458
            translateLabel: true
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   459
            shortcutKey: Ctrl
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   460
          )
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   461
         )
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   462
        nil
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   463
        nil
Claus Gittinger <cg@exept.de>
parents: 10262
diff changeset
   464
      )
11353
5cb468550ad2 changed: #editMenu_stxStyle
Claus Gittinger <cg@exept.de>
parents: 11311
diff changeset
   465
5cb468550ad2 changed: #editMenu_stxStyle
Claus Gittinger <cg@exept.de>
parents: 11311
diff changeset
   466
    "Modified: / 02-03-2012 / 19:53:19 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   467
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   468
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   469
!CodeView2 methodsFor:'accessing'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   470
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   471
acceptAction:aBlock
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   472
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   473
    textView acceptAction: aBlock
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   474
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   475
    "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
   476
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   477
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
   478
breakpoints
13097
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
   479
    |s|
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
   480
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
   481
    (s := self breakpointService) notNil ifTrue:[
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
   482
        ^ s breakpoints
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
   483
    ].
10767
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
   484
    ^ nil
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
   485
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
   486
    "Created: / 06-07-2011 / 18:05:35 / jv"
10767
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
   487
    "Modified: / 06-10-2011 / 14:13:53 / cg"
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
   488
!
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
   489
10245
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
   490
browser
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
   491
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
   492
    ^self browserHolder value
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
   493
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
   494
    "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
   495
!
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
   496
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   497
codeAspect
13587
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
   498
    ^ textView codeAspect
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
   499
11706
06ad80a28e48 comment/format in:
Claus Gittinger <cg@exept.de>
parents: 11616
diff changeset
   500
    "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
   501
    "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
   502
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   503
13587
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
   504
codeAspect: aSymbol
14638
7c401f3a4d9b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14632
diff changeset
   505
    "tell the textView what is shown, so it can adjust the
7c401f3a4d9b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14632
diff changeset
   506
     syntaxhighlighter.
7c401f3a4d9b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14632
diff changeset
   507
     See SyntaxHighlighter codeAspectXXX for possible aspects."
7c401f3a4d9b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14632
diff changeset
   508
13587
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
   509
    ^ textView codeAspect: aSymbol
11706
06ad80a28e48 comment/format in:
Claus Gittinger <cg@exept.de>
parents: 11616
diff changeset
   510
06ad80a28e48 comment/format in:
Claus Gittinger <cg@exept.de>
parents: 11616
diff changeset
   511
    "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
   512
    "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
   513
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   514
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   515
compilerClass
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   516
    ^textView compilerClass
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   517
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   518
    "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
   519
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   520
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   521
compilerClass: aClass
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   522
    textView compilerClass: aClass
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   523
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   524
    "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
   525
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   526
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   527
contents
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   528
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   529
    ^textView contents
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   530
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   531
    "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
   532
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   533
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   534
contents: aStringOrStringCollection
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   535
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   536
    textView contents: aStringOrStringCollection.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   537
    "/self update:#value with: aStringOrStringCollection from: textView model
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   538
10330
212b120c198f Improvements in diffing tools
vrany
parents: 10326
diff changeset
   539
    "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
   540
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   541
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   542
contents: aStringOrStringCollection clear: clearPrevious
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   543
    "Set the contents. If clearPrevous is true, then
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   544
     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
   545
     (so the text is considered not modified)"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   546
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   547
    textView contents: aStringOrStringCollection clear: clearPrevious
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
    "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
   550
    "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
   551
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   552
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   553
currentParseNode
14101
ee267ce43178 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14057
diff changeset
   554
    |sel|
ee267ce43178 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14057
diff changeset
   555
ee267ce43178 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14057
diff changeset
   556
    sel := self syntaxElementSelection.
ee267ce43178 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14057
diff changeset
   557
    sel isNil ifTrue:[^ nil].
ee267ce43178 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14057
diff changeset
   558
    ^ sel node
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   559
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   560
    "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
   561
    "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
   562
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   563
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   564
delegate: anObject
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   565
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   566
    super delegate: anObject.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   567
    self textView delegate: anObject.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   568
    self gutterView delegate: anObject.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   569
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   570
    "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
   571
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   572
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   573
diffMode
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   574
    ^ diffMode
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   575
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   576
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   577
diffMode:aBoolean
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   578
    diffMode := aBoolean.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   579
    textView diffMode: aBoolean
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   580
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   581
    "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
   582
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   583
14194
efb533b63fee Tools::CodeView2>>#editedLanguage:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14145
diff changeset
   584
editedLanguage: aProgrammingLanguage
efb533b63fee Tools::CodeView2>>#editedLanguage:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14145
diff changeset
   585
    self languageHolder value: aProgrammingLanguage
efb533b63fee Tools::CodeView2>>#editedLanguage:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14145
diff changeset
   586
efb533b63fee Tools::CodeView2>>#editedLanguage:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14145
diff changeset
   587
    "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
   588
!
efb533b63fee Tools::CodeView2>>#editedLanguage:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14145
diff changeset
   589
12914
fbab25348919 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12905
diff changeset
   590
editedMethodOrClass:aMethodOrClass
12950
990f530e57c5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12914
diff changeset
   591
    textView editedMethodOrClass:aMethodOrClass.
990f530e57c5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12914
diff changeset
   592
    aMethodOrClass isBehavior ifFalse:[
990f530e57c5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12914
diff changeset
   593
        self methodHolder value:aMethodOrClass
990f530e57c5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12914
diff changeset
   594
    ].
12914
fbab25348919 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12905
diff changeset
   595
!
fbab25348919 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12905
diff changeset
   596
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   597
font
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   598
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   599
    ^textView font
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   600
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   601
    "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
   602
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   603
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   604
font: aFont
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   605
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   606
    ^textView font: aFont
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   607
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   608
    "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
   609
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   610
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   611
mode
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   612
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   613
    ^self modeHolder value
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   614
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   615
    "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
   616
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   617
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   618
mode: aSymbol
11706
06ad80a28e48 comment/format in:
Claus Gittinger <cg@exept.de>
parents: 11616
diff changeset
   619
    "is this the same as codeAspect ?"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   620
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   621
    self assert: (#(expression method) includes: aSymbol).    
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   622
    
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   623
    ^self modeHolder value: aSymbol
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   624
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   625
    "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
   626
    "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
   627
    "Modified (comment): / 27-07-2012 / 22:19:49 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   628
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   629
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   630
model
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   631
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   632
    ^textView model.
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   633
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   634
    "Created: / 27-07-2011 / 12:47:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   635
!
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   636
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   637
model: aValueModel
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   638
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   639
    |oldValue newValue|
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   640
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   641
    textView model notNil ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   642
        oldValue := textView model value.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   643
        textView model removeDependent:self.
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   644
    ].
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   645
    textView model: aValueModel.
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   646
    textView model notNil ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   647
        textView model addDependent:self.
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   648
    ].
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   649
    newValue := textView model value.
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   650
    oldValue ~~ newValue ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   651
        self update:#value with:newValue from:textView model.
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   652
    ].
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   653
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   654
    "Modified: / 17-03-2012 / 16:11:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   655
!
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   656
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   657
modified
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   658
    "return true if text was modified"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   659
10245
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
   660
    ^ self modifiedChannel value
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
   661
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
   662
    "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
   663
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   664
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   665
modified:aBoolean
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   666
    "set/clear the modified flag"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   667
10245
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
   668
    self modifiedChannel value:aBoolean
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
   669
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
   670
    "Modified: / 14-02-1997 / 16:44:05 / cg"
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
   671
    "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
   672
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   673
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   674
scrolledView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   675
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   676
    ^self
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   677
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   678
    "Created: / 14-02-2010 / 22:54:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   679
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   680
10487
8865d5a3c200 SmallLint UI improvements
vrany
parents: 10465
diff changeset
   681
services
10767
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
   682
    ^ services ? #()
10487
8865d5a3c200 SmallLint UI improvements
vrany
parents: 10465
diff changeset
   683
8865d5a3c200 SmallLint UI improvements
vrany
parents: 10465
diff changeset
   684
    "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
   685
    "Modified (format): / 06-10-2011 / 14:11:11 / cg"
10487
8865d5a3c200 SmallLint UI improvements
vrany
parents: 10465
diff changeset
   686
!
8865d5a3c200 SmallLint UI improvements
vrany
parents: 10465
diff changeset
   687
10755
3cc7a80e9d58 added: #services:
Claus Gittinger <cg@exept.de>
parents: 10731
diff changeset
   688
services:aCollectionOfServices
3cc7a80e9d58 added: #services:
Claus Gittinger <cg@exept.de>
parents: 10731
diff changeset
   689
    "allow setting of the services (instances);
3cc7a80e9d58 added: #services:
Claus Gittinger <cg@exept.de>
parents: 10731
diff changeset
   690
     this is needed for FileBrowser, to setup a codeView2 without Smalltalk-specific
3cc7a80e9d58 added: #services:
Claus Gittinger <cg@exept.de>
parents: 10731
diff changeset
   691
     services"
3cc7a80e9d58 added: #services:
Claus Gittinger <cg@exept.de>
parents: 10731
diff changeset
   692
14495
2507816f2ee1 Fix in Tools::CodeView2>>#services: - when setting services
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14492
diff changeset
   693
    services notEmptyOrNil ifTrue:[ 
2507816f2ee1 Fix in Tools::CodeView2>>#services: - when setting services
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14492
diff changeset
   694
        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
   695
        services := #().
2507816f2ee1 Fix in Tools::CodeView2>>#services: - when setting services
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14492
diff changeset
   696
    ].
10767
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
   697
    servicesFromClient := true.
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
   698
    services := aCollectionOfServices.
14495
2507816f2ee1 Fix in Tools::CodeView2>>#services: - when setting services
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14492
diff changeset
   699
    services notEmptyOrNil ifTrue:[ 
2507816f2ee1 Fix in Tools::CodeView2>>#services: - when setting services
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14492
diff changeset
   700
        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
   701
    ].
10767
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
   702
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
   703
    "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
   704
    "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
   705
!
3cc7a80e9d58 added: #services:
Claus Gittinger <cg@exept.de>
parents: 10731
diff changeset
   706
14519
47d5751883ab Added Tools::CodeView2>>#servicesFromClient
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14511
diff changeset
   707
servicesFromClient
47d5751883ab Added Tools::CodeView2>>#servicesFromClient
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14511
diff changeset
   708
    ^ servicesFromClient ? false
47d5751883ab Added Tools::CodeView2>>#servicesFromClient
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14511
diff changeset
   709
47d5751883ab Added Tools::CodeView2>>#servicesFromClient
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14511
diff changeset
   710
    "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
   711
!
47d5751883ab Added Tools::CodeView2>>#servicesFromClient
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14511
diff changeset
   712
10793
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
   713
showAcceptCancelBar
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
   714
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
   715
    ^showAcceptCancelBarChannel value
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
   716
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
   717
    "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
   718
!
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
   719
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   720
showGutter
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   721
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   722
    ^showGutterChannel value
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   723
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   724
    "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
   725
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   726
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   727
synchronizeWith: aCodeView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   728
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   729
    self assert: aCodeView ~= self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   730
    (synchronizedCodeViews includes: aCodeView) ifTrue:[^self].    
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   731
    synchronizedCodeViews := synchronizedCodeViews copyWith: aCodeView.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   732
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   733
    "Created: / 06-04-2010 / 14:13:14 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   734
    "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
   735
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   736
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   737
unsynchronizeWith: aCodeView
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   738
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   739
    self assert: aCodeView ~= self.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   740
    (synchronizedCodeViews includes: aCodeView) ifFalse:[^self].
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   741
    synchronizedCodeViews := synchronizedCodeViews copyWithout: aCodeView.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   742
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   743
    "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
   744
    "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
   745
    "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
   746
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   747
14050
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   748
!CodeView2 methodsFor:'accessing-behavior'!
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   749
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   750
readOnly:aBoolean
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   751
    "ignored here; present for compatibility with some textView subclasses,
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   752
     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
   753
     readOnly field)"
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   754
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   755
    super readOnly:aBoolean.
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   756
    textView readOnly: aBoolean. 
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   757
    gutterView readOnly: aBoolean.
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   758
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   759
    "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
   760
! !
39037498b7e1 class: Tools::CodeView2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14005
diff changeset
   761
14005
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
   762
!CodeView2 methodsFor:'accessing-code component'!
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   763
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   764
klass
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   765
    | v |
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   766
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   767
    (v := self classHolder value) notNil ifTrue:[^v].
13199
8ad41afc0022 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13165
diff changeset
   768
    (v := self method) notNil ifTrue:[^v mclass].
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   769
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   770
    ^nil
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   771
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   772
    "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
   773
    "Modified: / 22-07-2013 / 13:34:05 / cg"
14005
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
   774
!
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   775
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   776
klass: aClass
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   777
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   778
    "Created: / 27-07-2011 / 13:13:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   779
!
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   780
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   781
language
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   782
    "return the value in 'languageHolder'"
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   783
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   784
    | v |
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   785
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   786
    (v := self languageHolder value) notNil ifTrue:[^v].
13199
8ad41afc0022 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13165
diff changeset
   787
    (v := self method) notNil ifTrue:[^v programmingLanguage].
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   788
    (v := self classHolder value) notNil ifTrue:[^v programmingLanguage].
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   789
10967
8c142eff5641 No highlighting by default (either method or language must be set)
vrany
parents: 10877
diff changeset
   790
    "/No, no default language, please.
8c142eff5641 No highlighting by default (either method or language must be set)
vrany
parents: 10877
diff changeset
   791
    "/^SmalltalkLanguage instance
8c142eff5641 No highlighting by default (either method or language must be set)
vrany
parents: 10877
diff changeset
   792
    ^nil
8c142eff5641 No highlighting by default (either method or language must be set)
vrany
parents: 10877
diff changeset
   793
8c142eff5641 No highlighting by default (either method or language must be set)
vrany
parents: 10877
diff changeset
   794
    "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
   795
    "Modified: / 22-07-2013 / 13:34:17 / cg"
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   796
!
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   797
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   798
language: newValue
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   799
    "set the value in 'languageHolder'"
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   800
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   801
    self languageHolder value: newValue
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   802
!
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   803
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   804
method
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   805
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   806
    ^self methodHolder value
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   807
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   808
    "Created: / 27-07-2011 / 13:12:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   809
!
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   810
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   811
method: aMethod
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   812
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   813
    ^self methodHolder value: aMethod
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   814
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   815
    "Created: / 27-07-2011 / 13:12:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   816
! !
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   817
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   818
!CodeView2 methodsFor:'aspects'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   819
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   820
browserHolder
10877
1ed55c34722d changed:
Claus Gittinger <cg@exept.de>
parents: 10844
diff changeset
   821
    browserHolder isNil ifTrue:[
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   822
        browserHolder := ValueHolder new
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   823
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   824
    ^browserHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   825
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   826
    "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
   827
    "Modified: / 18-11-2011 / 14:58:15 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   828
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   829
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   830
browserHolder:aValueModel
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   831
    browserHolder := aValueModel.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   832
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   833
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   834
classHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   835
    "return/create the 'classHolder' value holder (automatically generated)"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   836
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   837
    classHolder isNil ifTrue:[
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   838
        classHolder := ValueHolder with: nil.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   839
        classHolder addDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   840
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   841
    ^ classHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   842
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
   843
    "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
   844
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   845
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   846
classHolder:aValueModel
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   847
    "set the 'classHolder' value holder (automatically generated)"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   848
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   849
    |old oldValue newValue|
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   850
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   851
    classHolder notNil ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   852
        oldValue := classHolder value.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   853
        classHolder removeDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   854
    ].
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
   855
    old := classHolder.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   856
    classHolder := aValueModel.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   857
    classHolder notNil ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   858
        classHolder addDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   859
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   860
    newValue := classHolder value.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   861
    oldValue ~~ newValue ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   862
        self update:#value with:newValue from:classHolder.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   863
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   864
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   865
    self changed: #classHolder with: old -> classHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   866
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
   867
    "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
   868
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   869
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   870
currentBlockNodeHolder
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   871
    "return/create the 'currentBlockNodeHolder' value holder (automatically generated)"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   872
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   873
    currentBlockNodeHolder isNil ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   874
        currentBlockNodeHolder := ValueHolder new.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   875
    ].
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   876
    ^ currentBlockNodeHolder
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   877
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   878
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   879
currentBlockNodeHolder:something
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   880
    "set the 'currentBlockNodeHolder' value holder (automatically generated)"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   881
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   882
    currentBlockNodeHolder := something.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   883
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   884
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   885
currentParseNodeHolder
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   886
    "return/create the 'currentParseNodeHolder' value holder (automatically generated)"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   887
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   888
    currentParseNodeHolder isNil ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
   889
        currentParseNodeHolder := ValueHolder new.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   890
    ].
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   891
    ^ currentParseNodeHolder
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   892
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   893
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   894
currentParseNodeHolder:something
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   895
    "set the 'currentParseNodeHolder' value holder (automatically generated)"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   896
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   897
    currentParseNodeHolder := something.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   898
    gutterView notNil ifTrue:[ gutterView currentBlockNodeHolder: currentBlockNodeHolder ].
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   899
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   900
    "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
   901
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
   902
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   903
languageHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   904
    languageHolder isNil ifTrue:[
11616
c23e4a5d3384 added: #unregisterService:
Claus Gittinger <cg@exept.de>
parents: 11606
diff changeset
   905
        "/ cg: I dont 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
   906
        "/ 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
   907
        "/ 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
   908
        "/ or class.
e9f1e0dad878 changed: #languageHolder
Claus Gittinger <cg@exept.de>
parents: 10722
diff changeset
   909
        languageHolder := ValueHolder with: nil "SmalltalkLanguage instance".
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   910
        languageHolder addDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   911
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   912
    ^ languageHolder
10723
e9f1e0dad878 changed: #languageHolder
Claus Gittinger <cg@exept.de>
parents: 10722
diff changeset
   913
11616
c23e4a5d3384 added: #unregisterService:
Claus Gittinger <cg@exept.de>
parents: 11606
diff changeset
   914
    "Modified: / 19-07-2012 / 16:51:04 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   915
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   916
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   917
languageHolder:aValueModel
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   918
    "set the 'languageHolder' value holder (automatically generated)"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   919
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   920
    |old oldValue newValue|
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   921
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   922
    languageHolder notNil ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   923
        oldValue := languageHolder value.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   924
        languageHolder removeDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   925
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   926
    languageHolder := aValueModel.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   927
    languageHolder notNil ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   928
        languageHolder addDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   929
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   930
    old := languageHolder.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   931
    newValue := languageHolder value.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   932
    oldValue ~~ newValue ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   933
        self update:#value with:newValue from:languageHolder.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   934
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   935
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   936
    self changed: #languageHolder with: old -> languageHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   937
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   938
    "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
   939
    "Modified: / 19-07-2012 / 16:51:08 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   940
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   941
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   942
methodHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   943
    "return/create the 'methodHolder' value holder (automatically generated)"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   944
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   945
    methodHolder isNil ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   946
        methodHolder := ValueHolder new.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   947
        methodHolder addDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   948
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   949
    ^ methodHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   950
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   951
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   952
methodHolder:aValueModel
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   953
    "set the 'methodHolder' value holder (automatically generated)"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   954
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   955
    |old oldValue newValue|
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   956
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   957
    methodHolder notNil ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   958
        oldValue := methodHolder value.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   959
        methodHolder removeDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   960
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   961
    old := methodHolder.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   962
    methodHolder := aValueModel.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   963
    methodHolder notNil ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   964
        methodHolder addDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   965
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   966
    newValue := methodHolder value.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   967
    oldValue ~~ newValue ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   968
        self update:#value with:newValue from:methodHolder.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   969
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   970
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   971
    self changed: #methodHolder with: old -> methodHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   972
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   973
    "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
   974
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   975
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   976
modeHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   977
    "return/create the 'modeHolder' value holder (automatically generated)"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   978
11706
06ad80a28e48 comment/format in:
Claus Gittinger <cg@exept.de>
parents: 11616
diff changeset
   979
    "is this the codeAspect?"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   980
    modeHolder isNil ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   981
        modeHolder := #expression asValue.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   982
        modeHolder addDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   983
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   984
    ^ modeHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   986
    "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
   987
    "Modified (comment): / 27-07-2012 / 22:22:19 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   988
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   989
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   990
modeHolder:something
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   991
    "set the 'modeHolder' value holder (automatically generated)"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   992
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   993
    |oldValue newValue|
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   994
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   995
    modeHolder notNil ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   996
        oldValue := modeHolder value.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   997
        modeHolder removeDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   998
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   999
    modeHolder := something.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1000
    modeHolder notNil ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1001
        modeHolder addDependent:self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1002
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1003
    newValue := modeHolder value.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1004
    oldValue ~~ newValue ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1005
        self update:#value with:newValue from:modeHolder.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1006
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1007
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1008
    self changed: #modeHolder with: modeHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1009
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1010
    "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
  1011
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1012
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1013
!CodeView2 methodsFor:'change & update'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1014
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1015
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
  1016
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
  1017
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
  1018
    sender == methodHolder ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1019
        textView editedMethodOrClass: methodHolder value.
13587
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
  1020
    ].
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
  1021
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
  1022
    sender == classHolder ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1023
        methodHolder value isNil ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1024
            textView editedMethodOrClass: classHolder value.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1025
        ].
13587
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
  1026
    ].
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
  1027
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
  1028
    sender == languageHolder ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1029
        textView editedLanguage: languageHolder value.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1030
    ].
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1031
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1032
    sender == modeHolder ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1033
        codeAspect := modeHolder value
13587
0f06b4a66ae7 Refactoring after moving codeAspect to EditTextView.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13584
diff changeset
  1034
    ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1035
10245
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1036
    sender == showGutterChannel ifTrue: [
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1037
        self updateGutterVisibility.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1038
        ^self.
10245
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1039
    ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1040
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1041
    services do:[:each |
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1042
        each isEnabled ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1043
            each update:aspect with:param from:sender
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1044
        ]
10662
4d67f850e4f7 comment/format in: #update:with:from:
Claus Gittinger <cg@exept.de>
parents: 10630
diff changeset
  1045
    ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1046
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1047
    super update:aspect with:param from:sender
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1048
10245
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1049
    "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
  1050
    "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
  1051
    "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
  1052
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1053
12950
990f530e57c5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12914
diff changeset
  1054
updateGutter
990f530e57c5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12914
diff changeset
  1055
990f530e57c5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12914
diff changeset
  1056
    self showGutterChannel value ifTrue:[        
990f530e57c5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12914
diff changeset
  1057
        gutterView invalidate.
990f530e57c5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12914
diff changeset
  1058
    ]
990f530e57c5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12914
diff changeset
  1059
990f530e57c5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12914
diff changeset
  1060
    "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
  1061
!
990f530e57c5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12914
diff changeset
  1062
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1063
updateGutterVisibility
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1064
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1065
    self showGutterChannel value ifTrue:[        
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1066
        textViewScroller origin:(gutterView width @ 0.0) corner:(1.0 @ 1.0).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1067
        gutterView beVisible.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1068
    ] ifFalse:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1069
        textViewScroller origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1070
        gutterView beInvisible.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1071
    ]
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1072
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1073
    "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
  1074
!
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  1075
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  1076
updateScrollersViewBackground
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  1077
    |allAnnotations scroller|
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  1078
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  1079
    allAnnotations := OrderedCollection new.
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  1080
    services do:[:eachService |
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  1081
        allAnnotations addAll:(eachService annotations ? #())
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  1082
    ].
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  1083
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  1084
    scroller := textViewScroller verticalScrollBar thumb.
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  1085
    allAnnotations isEmptyOrNil ifTrue:[
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  1086
        scroller viewBackground:(scroller backgroundColor)
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  1087
    ] ifFalse:[
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  1088
        scroller viewBackground:(AnnotationShowingScrollerBackground new annotations:allAnnotations; textView:textView; yourself )
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  1089
    ]
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1090
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1091
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1092
!CodeView2 methodsFor:'channels'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1093
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1094
modifiedChannel
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1095
    "return the valueHolder holding true if text was modified"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1096
10245
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1097
    ^ textView modifiedChannel
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1098
"/    ^ modifiedChannel
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1099
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1100
    "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
  1101
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1102
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1103
modifiedChannel:aValueHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1104
    "set the valueHolder holding true if text was modified"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1105
10662
4d67f850e4f7 comment/format in: #update:with:from:
Claus Gittinger <cg@exept.de>
parents: 10630
diff changeset
  1106
    textView modifiedChannel removeDependent:self.
4d67f850e4f7 comment/format in: #update:with:from:
Claus Gittinger <cg@exept.de>
parents: 10630
diff changeset
  1107
    textView modifiedChannel:aValueHolder.
4d67f850e4f7 comment/format in: #update:with:from:
Claus Gittinger <cg@exept.de>
parents: 10630
diff changeset
  1108
    textView modifiedChannel addDependent:self.
10245
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1109
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1110
"/    |prev|
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1111
"/
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1112
"/    prev := modifiedChannel.
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1113
"/    modifiedChannel := aValueHolder.
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1114
"/    self setupChannel:aValueHolder for:nil withOld:prev
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1115
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1116
    "Created: / 30-01-1998 / 14:51:32 / cg"
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  1117
    "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
  1118
    "Modified: / 05-09-2011 / 05:13:27 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1119
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1120
10785
vrany
parents: 10784
diff changeset
  1121
reallyModifiedChannel
vrany
parents: 10784
diff changeset
  1122
    "return the valueHolder holding true if text was modified"
vrany
parents: 10784
diff changeset
  1123
vrany
parents: 10784
diff changeset
  1124
    ^ textView reallyModifiedChannel
vrany
parents: 10784
diff changeset
  1125
vrany
parents: 10784
diff changeset
  1126
    "Modified: / 07-07-2011 / 12:07:26 / Jan Vrany <jan.vrant@fit.cvut,cz>"
vrany
parents: 10784
diff changeset
  1127
    "Created: / 08-10-2011 / 12:47:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
vrany
parents: 10784
diff changeset
  1128
!
vrany
parents: 10784
diff changeset
  1129
vrany
parents: 10784
diff changeset
  1130
reallyModifiedChannel: aValueModel
vrany
parents: 10784
diff changeset
  1131
vrany
parents: 10784
diff changeset
  1132
    ^ textView reallyModifiedChannel: aValueModel
vrany
parents: 10784
diff changeset
  1133
vrany
parents: 10784
diff changeset
  1134
    "Modified: / 07-07-2011 / 12:07:26 / Jan Vrany <jan.vrant@fit.cvut,cz>"
vrany
parents: 10784
diff changeset
  1135
    "Created: / 08-10-2011 / 12:47:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
vrany
parents: 10784
diff changeset
  1136
!
vrany
parents: 10784
diff changeset
  1137
10793
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1138
showAcceptCancelBarChannel
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1139
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1140
    ^showAcceptCancelBarChannel
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1141
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1142
    "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
  1143
!
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1144
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1145
showAcceptCancelBarChannel:aValueHolder
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1146
    "set the valueHolder holding true if text was modified"
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1147
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1148
    |prev|
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1149
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1150
    prev := showAcceptCancelBarChannel.
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1151
    showAcceptCancelBarChannel := aValueHolder.
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1152
    self setupChannel:aValueHolder for:nil withOld:prev.
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1153
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1154
    "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
  1155
!
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1156
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1157
showGutterChannel
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1158
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1159
    ^showGutterChannel
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1160
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1161
    "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
  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
showGutterChannel:aValueHolder
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1165
    "set the valueHolder holding true if text was modified"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1166
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1167
    |prev|
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1168
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1169
    prev := showGutterChannel.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1170
    showGutterChannel := aValueHolder.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1171
    self setupChannel:aValueHolder for:nil withOld:prev
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1172
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1173
    "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
  1174
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1175
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1176
!CodeView2 methodsFor:'code services'!
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1177
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1178
browseMethod: method
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1179
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1180
    self browseMethod: method label: nil.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1181
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1182
    "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
  1183
!
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1184
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1185
browseMethod: method label: label
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1186
10877
1ed55c34722d changed:
Claus Gittinger <cg@exept.de>
parents: 10844
diff changeset
  1187
    self browser isNil ifTrue: [^NewSystemBrowser openInMethod:method].
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1188
    (UserPreferences current alwaysOpenNewTabWhenCtrlClick 
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1189
        or:[self browser navigationState modified])  
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1190
        ifTrue:
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1191
            [self browser 
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1192
                spawnFullBrowserInClass: method mclass 
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1193
                selector:method selector 
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1194
                in:#newBuffer]
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1195
        ifFalse:
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1196
            [self browser 
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1197
                switchToClass: method containingClass 
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1198
                selector: method selector].
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1199
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1200
    "Modified: / 19-02-2008 / 10:15:17 / janfrog"
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1201
    "Created: / 19-10-2008 / 08:16:17 / Jan Vrany <vranyj1@fel.cvut.cz>"
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1202
    "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
  1203
    "Modified: / 18-11-2011 / 14:58:12 / cg"
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1204
!
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1205
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1206
browseMethods: methods label: label
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1207
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1208
    methods size = 1 ifTrue:
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1209
        [^self browseMethod: methods anyOne label: label].
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1210
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1211
    self browser 
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1212
        ifNil: [NewSystemBrowser browseMethods: methods title: label]
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1213
        ifNotNil:[self browser spawnMethodBrowserFor:methods in:#newBuffer label:label]
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1214
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1215
    "Created: / 26-12-2007 / 11:32:04 / janfrog"
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1216
    "Modified: / 19-10-2008 / 08:17:28 / Jan Vrany <vranyj1@fel.cvut.cz>"
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1217
!
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1218
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1219
extractSelectorAndSelectedTextFrom: givenSelectedText
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1220
    | selector selectedText compilerClass na |
11359
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1221
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1222
    selectedText := givenSelectedText.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1223
    compilerClass := self language compilerClass.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1224
    selectedText size > 0 ifTrue:[
11359
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1225
        "/ self windowGroup withWaitCursorDo:[
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1226
            "/ hack, for now and expecco; must ask the Parser eventually...
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1227
            (compilerClass notNil and:[compilerClass includesBehavior:JavaScriptParser]) ifTrue:[
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1228
                "/ selector is in one piece anyway
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1229
                (selectedText includes:$_) ifFalse:[
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1230
                    "/ zero or one args - sigh (need to parse more to figure this out)
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1231
                    selector := JavaScriptParser basicNew translatedSmalltalkSelectorFor:selectedText numArgs:1.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1232
                    selectedText := JavaScriptParser basicNew translatedSmalltalkSelectorFor:selectedText numArgs:0.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1233
                ] ifTrue:[
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1234
                    "/ count _#s plus one arg - sigh
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1235
                    na := (selectedText occurrencesOf:$_) + 1. 
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1236
                    selector := JavaScriptParser basicNew translatedSmalltalkSelectorFor:selectedText numArgs:na
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1237
                ].
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1238
            ] ifFalse:[
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1239
                selector := SystemBrowser extractSelectorFrom:selectedText.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1240
            ].
11359
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1241
        "/ ]
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1242
    ].
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1243
    ^Array with: selector with: selectedText
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1244
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1245
    "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
  1246
    "Modified: / 05-03-2012 / 09:04:12 / cg"
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1247
!
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1248
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1249
implementorsOf: selector
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1250
10877
1ed55c34722d changed:
Claus Gittinger <cg@exept.de>
parents: 10844
diff changeset
  1251
    selector isNil ifTrue:[^#()].
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1252
    ^SystemBrowser
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1253
        findImplementorsOf: selector
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1254
        in: Smalltalk allClasses
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1255
        ignoreCase: false
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1256
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1257
    "Created: / 26-12-2007 / 11:37:11 / janfrog"
10877
1ed55c34722d changed:
Claus Gittinger <cg@exept.de>
parents: 10844
diff changeset
  1258
    "Modified: / 18-11-2011 / 14:58:17 / cg"
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1259
!
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1260
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1261
sendersOf: selector
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1262
    |senderBlock|
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1263
10877
1ed55c34722d changed:
Claus Gittinger <cg@exept.de>
parents: 10844
diff changeset
  1264
    selector isNil ifTrue:[^#()].
14447
10f98c40548b fixed ALT-right click (senders of selector under cursor)
az
parents: 14439
diff changeset
  1265
    selector knownAsSymbol ifFalse:[^#()].
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1266
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1267
    "/ 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
  1268
    senderBlock := SystemBrowser searchBlockForSymbol:selector asSymbol.
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1269
    senderBlock == false ifTrue:[ ^ #() ].
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1270
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1271
    ^ SystemBrowser
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1272
        allMethodsIn:Smalltalk allClasses
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1273
        where:senderBlock.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1274
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1275
    "/ exact, but much slower
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1276
"/    ^SystemBrowser
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1277
"/        findSendersOf: selector
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1278
"/        in: Smalltalk allClasses
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1279
"/        ignoreCase: false
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1280
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1281
    "Created: / 26-12-2007 / 11:37:22 / janfrog"
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1282
    "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
  1283
    "Modified: / 18-11-2011 / 14:58:19 / cg"
14447
10f98c40548b fixed ALT-right click (senders of selector under cursor)
az
parents: 14439
diff changeset
  1284
    "Modified: / 04-06-2014 / 11:10:47 / az"
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1285
! !
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1286
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1287
!CodeView2 methodsFor:'delegation'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1288
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1289
doesNotUnderstand: aMessage
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1290
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1291
    ((textView respondsTo: aMessage selector) 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1292
    and:[(TraceSelectors includes:aMessage selector) not])
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1293
        ifTrue:[^aMessage sendTo: textView].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1294
    ^super doesNotUnderstand: aMessage
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1295
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1296
    "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
  1297
    "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
  1298
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1299
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1300
hasSelection
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1301
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1302
    ^textView hasSelection
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1303
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1304
    "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
  1305
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1306
11393
fb1c9eb2aab7 category of:20 methods
Claus Gittinger <cg@exept.de>
parents: 11377
diff changeset
  1307
!CodeView2 methodsFor:'delegation-drawing'!
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1308
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1309
drawLine:lineNo in: view atX:x y:y width: w height:h from:startCol to:endColOrNil with:fg and:bg
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1310
    "See the comment in
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1311
     CodeViewService>>drawLine:in:atX..."
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1312
14927
b109a354435c Fixes for enabling / disabling individual CodeView2 services.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14915
diff changeset
  1313
    self servicesDo:[:each|
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1314
        each drawLine:lineNo in: view atX:x y:y width: w height:h from:startCol to:endColOrNil with:fg and:bg
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1315
    ]
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1316
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1317
    "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
  1318
    "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
  1319
    "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
  1320
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1321
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1322
redrawVisibleLine: visLineNr
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1323
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1324
    "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
  1325
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1326
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1327
redrawVisibleLine:visLine col:colNr
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1328
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1329
    "Modified: / 05-11-2007 / 17:35:53 / cg"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1330
    "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
  1331
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1332
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1333
redrawVisibleLine:visLine from:startCol
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1334
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1335
    "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
  1336
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1337
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1338
redrawVisibleLine:visLine from:startCol to:endCol
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1339
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1340
    "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
  1341
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1342
11393
fb1c9eb2aab7 category of:20 methods
Claus Gittinger <cg@exept.de>
parents: 11377
diff changeset
  1343
!CodeView2 methodsFor:'delegation-events'!
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1344
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1345
buttonMotion: button x:x y:y in: view
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1346
    "Delegates events to services. Answers true iff at least
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1347
     one service handler method returns true. In that case,
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1348
     the event is is NOT processes by the view."
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1349
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1350
    ^ services 
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1351
        contains:[:service |
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1352
            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
  1353
        ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1354
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1355
    "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
  1356
    "Modified: / 06-10-2011 / 14:13:57 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1357
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1358
14843
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1359
buttonMultiPress: button x:x y:y in: view
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1360
    "Delegates events to services. Answers true iff at least
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1361
     one service handler method returns true. In that case,
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1362
     the event is is NOT processes by the view."
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1363
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1364
    ^ services
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1365
        contains:[:service |
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1366
            service isEnabled and:[ ((service buttonMultiPress: button x:x y:y in: view) == true) ]
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1367
        ].
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1368
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1369
    "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
  1370
    "Modified: / 06-10-2011 / 14:14:00 / cg"
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1371
    "Modified (format): / 05-03-2012 / 08:56:02 / cg"
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1372
!
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  1373
14005
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1374
buttonPress: button x:x y:y in: view
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1375
    "Delegates events to services. Answers true iff at least
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1376
     one service handler method returns true. In that case,
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1377
     the event is is NOT processes by the view."
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1378
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1379
    ^ services
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1380
        contains:[:service |
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1381
            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
  1382
        ].
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1383
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1384
    "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
  1385
    "Modified: / 06-10-2011 / 14:14:00 / cg"
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1386
    "Modified (format): / 05-03-2012 / 08:56:02 / cg"
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1387
!
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1388
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1389
buttonRelease: button x:x y:y in: view
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1390
    "Delegates events to services. Answers true iff at least
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1391
     one service handler method returns true. In that case,
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1392
     the event is is NOT processes by the view."
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1393
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1394
    ^ services 
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1395
        contains:[:service |
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1396
            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
  1397
        ].
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1398
!
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1399
12992
d01df8476209 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12980
diff changeset
  1400
highlightInstanceVariable:name
d01df8476209 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12980
diff changeset
  1401
    services do:[:each|
d01df8476209 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12980
diff changeset
  1402
        each highlightInstanceVariable:name
d01df8476209 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12980
diff changeset
  1403
    ].
d01df8476209 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12980
diff changeset
  1404
!
d01df8476209 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12980
diff changeset
  1405
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1406
keyPress: key x:x y:y in: view
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1407
    "Delegates events to services. Answers true iff at least
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1408
     one service handler method returns true. In that case,
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1409
     the event is is NOT processes by the view."
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1410
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1411
    ^ services 
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1412
        contains:[:service |
13582
666891267a54 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13575
diff changeset
  1413
            |handledByService|
666891267a54 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13575
diff changeset
  1414
666891267a54 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13575
diff changeset
  1415
            handledByService := service isEnabled 
666891267a54 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13575
diff changeset
  1416
                                and:[ ((service keyPress: key x:x y:y in: view) == true)].
666891267a54 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13575
diff changeset
  1417
            "/ handledByService ifTrue:[ Transcript showCR:'handled by ',service printString ].
666891267a54 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13575
diff changeset
  1418
            handledByService
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1419
        ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1420
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1421
    "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
  1422
    "Modified: / 06-10-2011 / 14:14:11 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1423
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1424
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1425
keyRelease: key x:x y:y in: view
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1426
    "Delegates events to services. Answers true iff at least
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1427
     one service handler method returns true. In that case,
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1428
     the event is is NOT processes by the view."
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1429
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1430
    ^ services 
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1431
        contains:[:service |
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  1432
            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
  1433
        ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1434
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1435
    "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
  1436
    "Modified: / 06-10-2011 / 14:14:13 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1437
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1438
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1439
linesDeletedFrom: start to: end
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1440
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1441
    services do: [:each |
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1442
        each isEnabled ifTrue: [
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1443
            each linesDeletedFrom: start to: end
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1444
        ]
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1445
    ].
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1446
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1447
    "Created: / 06-07-2011 / 17:12:54 / jv"
10767
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
  1448
    "Modified: / 06-10-2011 / 14:14:16 / cg"
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  1449
    "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
  1450
!
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1451
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1452
linesInsertedFrom: start to: end
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1453
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1454
    services do: [:each |
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1455
        each isEnabled ifTrue: [
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1456
            each linesInsertedFrom: start to: end
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1457
        ]
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1458
    ].
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1459
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1460
    "Created: / 06-07-2011 / 17:12:48 / jv"
10767
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
  1461
    "Modified: / 06-10-2011 / 14:14:20 / cg"
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1462
!
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1463
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1464
linesModifiedFrom: start to: end
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1465
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1466
    services do: [:each |
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1467
        each isEnabled ifTrue: [
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1468
            each linesModifiedFrom: start to: end
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1469
        ]
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1470
    ].
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1471
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1472
    "Created: / 06-07-2011 / 17:12:58 / jv"
10767
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
  1473
    "Modified: / 06-10-2011 / 14:13:44 / cg"
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1474
!
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  1475
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1476
scrollDown: nLines in: view
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1477
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1478
    view == textView 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1479
        ifTrue:
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1480
            ["/my text view scrolled...
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1481
            synchronizedCodeViews do:[:codeView|codeView scrollDown: nLines in: view]]
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1482
        ifFalse:
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1483
            ["/other code view scrolls and I'm notified about that
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1484
            textView basicScrollDown: nLines]
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1485
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1486
    "Created: / 06-04-2010 / 14:02:39 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1487
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1488
14005
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1489
scrollTo:origin redraw:doRedraw in: view
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1490
    view == textView ifTrue: [
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1491
        "/my text view scrolled...
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1492
        synchronizedCodeViews do:[:codeView|
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1493
            codeView scrollTo:origin redraw:doRedraw in: view.
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1494
        ]
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1495
    ] ifFalse: [
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1496
        "/other code view scrolls and I'm notified about that
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1497
        textView basicScrollTo:origin redraw:doRedraw.
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1498
    ]
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1499
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1500
    "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
  1501
    "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
  1502
!
64ce1418dcc8 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13993
diff changeset
  1503
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1504
scrollUp: nLines in: view
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1505
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1506
    view == textView 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1507
        ifTrue:
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1508
            ["/my text view scrolled...
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1509
            synchronizedCodeViews do:[:codeView|codeView scrollUp: nLines in: view]]
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1510
        ifFalse:
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1511
            ["/other code view scrolls and I'm notified about that
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1512
            textView basicScrollUp: nLines]
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1513
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1514
    "Created: / 06-04-2010 / 14:02:39 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1515
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1516
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1517
!CodeView2 methodsFor:'diff mode'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1518
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1519
recomputeDiff:view 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1520
    |t1 t2 pom diffHelper view2|
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1521
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1522
    t1 := view getNewOriginText.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1523
    synchronizedCodeViews do:[:codeView | 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1524
        view2 := codeView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1525
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1526
    view changedDiffText:false.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1527
    view2 changedDiffText:false.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1528
    t2 := view2 getNewOriginText.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1529
    pom := DiffCodeView2 new.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1530
    (view == textView) ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1531
        diffHelper := pom computeDiffDataForText1:t1 text2:t2.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1532
        (view) contents:(diffHelper text1).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1533
        (view) deletedLines:(diffHelper deleted).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1534
        (view) changedLines:(diffHelper changed).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1535
        (view) originDiffText:t1.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1536
        (view) emptyLines:(diffHelper inserted).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1537
        (view) changedLines:(diffHelper changed).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1538
        (view2) contents:(diffHelper text2).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1539
        (view2) insertedLines:(diffHelper inserted).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1540
        (view2) changedLines:(diffHelper changed).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1541
        (view2) originDiffText:t2.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1542
        (view2) emptyLines:(diffHelper deleted).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1543
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1544
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1545
    "Modified: / 22-06-2010 / 23:35:41 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1546
    "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
  1547
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1548
14545
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1549
!CodeView2 methodsFor:'initialize & release'!
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1550
13208
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1551
defaultServices
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1552
    "/ used to call "CodeViewService availableServices",
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1553
    "/ which enumerated all subclasses.
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1554
    "/ 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
  1555
    "/ subclasses to be built for special applications. For example,
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1556
    "/ 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
  1557
    "/ expecco's codeview.
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1558
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1559
    "/ 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
  1560
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1561
    ^ CodeViewService availableServices
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1562
        select:[:service | service isUsefulFor:self]
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1563
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1564
    "Created: / 22-07-2013 / 13:57:40 / cg"
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1565
!
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1566
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1567
initialize
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1568
    "Invoked when a new instance is created."
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1569
    "Call super initialize"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1570
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1571
    super initialize.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1572
     "Now set up some visual properties"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1573
    self level:-1.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1574
     "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
  1575
    showGutterChannel := ValueHolder with: true.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1576
    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
  1577
    "/ 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
  1578
    "/ 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
  1579
    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
  1580
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  1581
    "/ 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
  1582
    "/ initialize methods
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  1583
    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
  1584
    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
  1585
    textView := textViewScroller scrolledView.
10793
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  1586
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1587
    self initializeGutterView.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1588
    self initializeTextView.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1589
    textView setCodeView:self.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1590
    modifiedChannel := ValueHolder with:false.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1591
    diffMode := false.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1592
    synchronizedCodeViews := #().
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1593
    currentParseNodeHolder := ValueHolder new.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1594
    currentBlockNodeHolder := ValueHolder new.
10767
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
  1595
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
  1596
    servicesFromClient := false.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1597
    services := OrderedCollection new.
10834
b25dd8ee319b changed: #initialize
vrany
parents: 10793
diff changeset
  1598
    self initializeServices.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1599
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1600
    "Modified: / 14-12-2009 / 13:59:53 / Jindra <a>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1601
    "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
  1602
    "Modified: / 06-10-2011 / 14:15:48 / cg"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1603
    "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
  1604
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1605
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1606
initializeGutterView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1607
11988
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  1608
    gutterView setCodeView:self.
13993
ec74fc4b84e5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13978
diff changeset
  1609
    gutterView currentBlockNodeHolder: self currentBlockNodeHolder.
13316
1f476bdeb46c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13213
diff changeset
  1610
    gutterView origin:(0.0 @ 0.0) corner:(gutterView preferredWidth+1 @ 1.0).
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1611
    showGutterChannel value ifTrue:[self addSubView: gutterView].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1612
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1613
    "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
  1614
    "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
  1615
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1616
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1617
initializeServices
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1618
    | serviceClasses |
10409
585a43ba93c5 Fixes for debugger
vrany
parents: 10375
diff changeset
  1619
10755
3cc7a80e9d58 added: #services:
Claus Gittinger <cg@exept.de>
parents: 10731
diff changeset
  1620
    "/ 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
  1621
    "/ (FileBrowser does not want Smalltalk-specific services)
10767
2432e277a643 services setup
Claus Gittinger <cg@exept.de>
parents: 10755
diff changeset
  1622
    servicesFromClient ifFalse:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1623
        serviceClasses := self defaultServices sort:[:a :b|a priority = b priority ifTrue:[a name < b name] ifFalse:[a priority > b priority]].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1624
        serviceClasses do:[:cls|
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1625
            self registerService: cls new
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1626
        ].
10755
3cc7a80e9d58 added: #services:
Claus Gittinger <cg@exept.de>
parents: 10731
diff changeset
  1627
    ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1628
13208
2c9e9dc1b880 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13199
diff changeset
  1629
    "Modified: / 22-07-2013 / 14:02:59 / cg"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1630
    "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
  1631
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1632
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1633
initializeTextView
11988
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  1634
    "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
  1635
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1636
    textViewScroller
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1637
        origin: ((self showGutter ifTrue:[gutterView width] ifFalse:[0.0]) @ 0.0)
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1638
        corner: 1.0@1.0;
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1639
        level: 0.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1640
    textView level: 0.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1641
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1642
    textView modifiedChannel addDependent: self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1643
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1644
    "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
  1645
    "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
  1646
!
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1647
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1648
release
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1649
    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
  1650
    services := #().
14545
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1651
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1652
    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
  1653
        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
  1654
    ].
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1655
    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
  1656
        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
  1657
    ].
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1658
    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
  1659
    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
  1660
        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
  1661
    ].
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1662
    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
  1663
        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
  1664
    ].
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1665
    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
  1666
        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
  1667
    ].
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1668
    super release.
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1669
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  1670
    "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
  1671
    "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
  1672
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1673
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1674
!CodeView2 methodsFor:'menu actions'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1675
10689
825d52f63cf7 added: #accept
Claus Gittinger <cg@exept.de>
parents: 10662
diff changeset
  1676
accept
825d52f63cf7 added: #accept
Claus Gittinger <cg@exept.de>
parents: 10662
diff changeset
  1677
    textView accept
825d52f63cf7 added: #accept
Claus Gittinger <cg@exept.de>
parents: 10662
diff changeset
  1678
825d52f63cf7 added: #accept
Claus Gittinger <cg@exept.de>
parents: 10662
diff changeset
  1679
    "Created: / 07-09-2011 / 21:29:07 / cg"
825d52f63cf7 added: #accept
Claus Gittinger <cg@exept.de>
parents: 10662
diff changeset
  1680
!
825d52f63cf7 added: #accept
Claus Gittinger <cg@exept.de>
parents: 10662
diff changeset
  1681
10375
9b5d4c887f5e added: #again
Claus Gittinger <cg@exept.de>
parents: 10330
diff changeset
  1682
again
9b5d4c887f5e added: #again
Claus Gittinger <cg@exept.de>
parents: 10330
diff changeset
  1683
    textView again
9b5d4c887f5e added: #again
Claus Gittinger <cg@exept.de>
parents: 10330
diff changeset
  1684
9b5d4c887f5e added: #again
Claus Gittinger <cg@exept.de>
parents: 10330
diff changeset
  1685
    "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
  1686
    "Created: / 22-07-2011 / 17:44:31 / cg"
9b5d4c887f5e added: #again
Claus Gittinger <cg@exept.de>
parents: 10330
diff changeset
  1687
!
9b5d4c887f5e added: #again
Claus Gittinger <cg@exept.de>
parents: 10330
diff changeset
  1688
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1689
browseImplementorsOfIt
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1690
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1691
    textView browseImplementorsOfIt
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1692
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1693
    "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
  1694
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1695
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1696
browseSendersOfIt
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1697
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1698
    textView browseSendersOfIt
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1699
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1700
    "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
  1701
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1702
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1703
copySelection
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1704
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1705
    textView copySelection
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1706
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1707
    "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
  1708
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1709
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1710
cut
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1711
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1712
    textView cut
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1713
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1714
    "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
  1715
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1716
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1717
doIt
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1718
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1719
    textView doIt
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1720
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1721
    "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
  1722
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1723
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1724
inspectIt
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1725
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1726
    textView inspectIt
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1727
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1728
    "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
  1729
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1730
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1731
inspectSelectedSelector
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1732
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1733
    self error: 'Not yet implemented'
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1734
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1735
    "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
  1736
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1737
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1738
inspectSyntaxElements
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1739
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1740
    syntaxElements inspect
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1741
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1742
    "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
  1743
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1744
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1745
inspectView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1746
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1747
    self inspect
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1748
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1749
    "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
  1750
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1751
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1752
pasteOrReplace
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1753
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1754
    textView pasteOrReplace
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1755
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1756
    "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
  1757
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1758
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1759
printIt
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1760
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1761
    textView printIt
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1762
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1763
    "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
  1764
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1765
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1766
profileIt
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1767
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1768
    textView profileIt
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1769
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1770
    "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
  1771
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1772
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1773
undo
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1774
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1775
    textView undo
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1776
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1777
    "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
  1778
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1779
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1780
!CodeView2 methodsFor:'menus-dynamic'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1781
13108
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  1782
debugMenu
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  1783
    ^ self class debugMenu decodeAsLiteralArray
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  1784
        receiver:self.
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  1785
!
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  1786
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1787
editMenu
10780
1093fdd69f27 Fix for edit menu issue ( #D1863483 )
vrany
parents: 10767
diff changeset
  1788
    | editMenu superEditMenu moreMenu moreMenuItem |
1093fdd69f27 Fix for edit menu issue ( #D1863483 )
vrany
parents: 10767
diff changeset
  1789
1093fdd69f27 Fix for edit menu issue ( #D1863483 )
vrany
parents: 10767
diff changeset
  1790
    superEditMenu := textView superEditMenu.
1093fdd69f27 Fix for edit menu issue ( #D1863483 )
vrany
parents: 10767
diff changeset
  1791
1093fdd69f27 Fix for edit menu issue ( #D1863483 )
vrany
parents: 10767
diff changeset
  1792
    textView sensor ctrlDown ifTrue:[
1093fdd69f27 Fix for edit menu issue ( #D1863483 )
vrany
parents: 10767
diff changeset
  1793
        ^superEditMenu
1093fdd69f27 Fix for edit menu issue ( #D1863483 )
vrany
parents: 10767
diff changeset
  1794
    ].
10293
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  1795
13072
390ebcd412f8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13062
diff changeset
  1796
    "/ install the standard 'more' menu into my own menu
390ebcd412f8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13062
diff changeset
  1797
    moreMenu := superEditMenu subMenuAt: superEditMenu numberOfItems.
390ebcd412f8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13062
diff changeset
  1798
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1799
    editMenu := self class editMenu decodeAsLiteralArray.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1800
    moreMenuItem := editMenu menuItemLabeled: 'More'.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1801
    moreMenuItem submenu: moreMenu asMenu.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1802
    editMenu findGuiResourcesIn: self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1803
    ^editMenu
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1804
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1805
    "Created: / 25-12-2007 / 10:10:01 / janfrog"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1806
    "Modified: / 25-12-2007 / 19:50:53 / janfrog"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1807
    "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
  1808
    "Modified: / 08-07-2011 / 13:35:31 / cg"
10780
1093fdd69f27 Fix for edit menu issue ( #D1863483 )
vrany
parents: 10767
diff changeset
  1809
    "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
  1810
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1811
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1812
implementorsMenu
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1813
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1814
    | selectorAndSelectedText selector selectedText  implementors |
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1815
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1816
    selectedText := textView selectionAsString.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1817
    selectedText size > 0 ifTrue:[
11359
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1818
        "/ self windowGroup withWaitCursorDo:[
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1819
            selectorAndSelectedText := self extractSelectorAndSelectedTextFrom:  selectedText.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1820
            selector := selectorAndSelectedText first.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1821
            selectedText := selectorAndSelectedText second.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1822
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1823
            (selector notNil and:[selector = selectedText]) ifTrue:[
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1824
                implementors := (SystemBrowser 
11359
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1825
                                    findImplementorsOf:selectedText "Any: (Array with:selectedText)" 
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1826
                                    in:(Smalltalk allClasses) 
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1827
                                    ignoreCase:false)
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1828
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1829
            ] ifFalse:[
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1830
                implementors := (SystemBrowser 
11359
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1831
                                    findImplementorsOfAny:(Array with:selectedText with: selector) 
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1832
                                    in:(Smalltalk allClasses) 
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1833
                                    ignoreCase:false)
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1834
            ].
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1835
        "/ ] 
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1836
    ] ifFalse:[
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1837
        implementors := #().
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1838
    ].
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1839
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1840
    ^self implementorsMenu: implementors selector: (selector ? selectedText)
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1841
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1842
    "Modified: / 19-10-2008 / 08:16:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1843
    "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
  1844
    "Modified: / 05-03-2012 / 09:02:43 / cg"
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1845
!
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1846
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1847
implementorsMenu: implementors selector: selector
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1848
    | menu|
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1849
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1850
    menu := Menu new.
10465
7bb5a6157330 changed:
Claus Gittinger <cg@exept.de>
parents: 10409
diff changeset
  1851
    implementors isEmptyOrNil ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1852
        menu addItem:(MenuItem label:'No implementors found') disable
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1853
    ] ifFalse:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1854
        menu addItem:(MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1855
                    label:(selector storeString , (' (all implementors) ') asText allItalic)
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1856
                    itemValue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1857
                        self browseMethods:implementors
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1858
                            label:'Implementors of ' , selector storeString
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1859
                    ]).
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1860
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1861
        menu addSeparator.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1862
        (implementors asOrderedCollection sort:[:a :b | a mclass name < b mclass name])
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1863
        "implementors" do:[:mth |
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1864
            menu
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1865
                addItem:(MenuItem label:(selector storeString
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1866
                                , (' in ' , mth containingClass nameInBrowser asText allBold))
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1867
                        itemValue:[ self browseMethod:mth label: 'Implementor of ' , selector storeString  ])
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1868
        ]
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1869
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1870
    ^ menu
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1871
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1872
    "Modified: / 19-10-2008 / 08:16:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1873
    "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
  1874
    "Modified: / 07-03-2012 / 12:56:56 / cg"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1875
    "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
  1876
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1877
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1878
sendersMenu
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1879
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1880
    | selectorAndSelectedText selector selectedText  senders |
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1881
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1882
    selectedText := textView selectionAsString.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1883
    selectedText size > 0 ifTrue:[
11359
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1884
        "/ self windowGroup withWaitCursorDo:[
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1885
            selectorAndSelectedText := self extractSelectorAndSelectedTextFrom:  selectedText.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1886
            selector := selectorAndSelectedText first.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1887
            selectedText := selectorAndSelectedText second.
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1888
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1889
            (selector notNil and:[selector = selectedText]) ifTrue:[
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1890
                senders := (SystemBrowser 
11359
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1891
                                findSendersOf:selectedText "Any:(Array with:selectedText)" 
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1892
                                in:(Smalltalk allClasses) 
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1893
                                ignoreCase:false)
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1894
11359
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1895
            ] ifFalse:[
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1896
                senders := (SystemBrowser 
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1897
                                findSendersOfAny:(Array with:selectedText with: selector) 
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1898
                                in:(Smalltalk allClasses) 
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1899
                                ignoreCase:false)
11359
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1900
            ].
911eaee39d50 changed:
Claus Gittinger <cg@exept.de>
parents: 11353
diff changeset
  1901
        "/ ] 
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1902
    ] ifFalse:[
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1903
        senders := #().
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1904
    ].
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1905
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1906
    ^self sendersMenu: senders selector: (selector ? selectedText)
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1907
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1908
    "Modified: / 19-10-2008 / 08:16:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1909
    "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
  1910
    "Modified: / 05-03-2012 / 09:02:56 / cg"
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1911
!
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1912
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1913
sendersMenu: senders  selector: selector
11377
e995583db311 changed:
Claus Gittinger <cg@exept.de>
parents: 11359
diff changeset
  1914
    | menu shownSenderItems numCut sendersSorted|
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1915
10262
39688cd73dff Merged with JV's branch
vrany
parents: 10245
diff changeset
  1916
    menu := Menu new.
10465
7bb5a6157330 changed:
Claus Gittinger <cg@exept.de>
parents: 10409
diff changeset
  1917
    senders isEmptyOrNil ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1918
        menu addItem:(MenuItem label:'No senders found') disable
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1919
    ] ifFalse:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1920
        menu addItem:(MenuItem
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1921
                    label:(selector storeString , (' (all senders)') asText allItalic)
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1922
                    itemValue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1923
                        self browseMethods:senders
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1924
                            label:'Senders of ' , selector storeString
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1925
                    ]).
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1926
        menu addSeparator.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1927
        sendersSorted := senders asOrderedCollection
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1928
                            sort:[:a :b | a whoString < b whoString].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1929
        shownSenderItems := (senders size > 20) ifTrue:[sendersSorted copyTo:20] ifFalse:[sendersSorted].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1930
        numCut := senders size - 20.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1931
        shownSenderItems do:[:mth |
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1932
            menu
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1933
                addItem:(MenuItem label:(mth selector storeString
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1934
                                , (' in ' , mth containingClass nameInBrowser asText allBold))
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1935
                        itemValue:[ self browseMethod:mth label: 'Sender of ' , selector storeString ])
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1936
        ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1937
        numCut > 0 ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1938
            menu addSeparator.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  1939
            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
  1940
        ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1941
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1942
    ^ menu
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1943
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1944
    "Modified: / 19-10-2008 / 08:17:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1945
    "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
  1946
    "Modified: / 07-07-2011 / 14:51:54 / jv"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1947
    "Modified: / 07-03-2012 / 12:58:31 / cg"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  1948
    "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
  1949
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1950
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1951
servicesMenu
10293
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  1952
    |menu item anyService|
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  1953
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1954
    menu := Menu new.
13110
2ca621dee00c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13108
diff changeset
  1955
    item := (MenuItem label:(resources string:'Services (experimental)')) enabled:false.
2ca621dee00c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13108
diff changeset
  1956
    menu addItem:item.
2ca621dee00c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13108
diff changeset
  1957
    menu addSeparator.
10293
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  1958
13097
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  1959
    "/ disabled, because this menu is now on the gutter,
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  1960
    "/ and it makes it hard to show it again, once hidden
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  1961
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  1962
"/    item := MenuItem label:(resources string:'Show Gutter').
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  1963
"/    item indication:(self showGutterChannel).
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  1964
"/    menu addItem:item.
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  1965
"/    menu addSeparator.
10293
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  1966
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  1967
    anyService := false.
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  1968
    services do:[:service | 
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  1969
        |item|
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  1970
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  1971
        item := MenuItem label:(resources string:service label).
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  1972
        item indication:((AspectAdaptor forAspect:#enabled) subject:service).
13108
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  1973
        item hideMenuOnActivated:false.
10293
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  1974
        menu addItem:item.
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  1975
        anyService := true.
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  1976
    ].
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  1977
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  1978
    anyService ifTrue:[
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  1979
        menu addSeparator.
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  1980
    ].
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  1981
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  1982
    item := MenuItem label:(resources string:'Debug').
13108
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  1983
    item submenuChannel:[ self debugMenu ].
10293
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  1984
    menu addItem:item.
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  1985
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  1986
    ^ menu
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1987
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1988
    "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
  1989
    "Modified: / 06-10-2011 / 14:14:30 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1990
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1991
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1992
!CodeView2 methodsFor:'private'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1993
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1994
codeCompletion
14110
c671dfc959ef class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14101
diff changeset
  1995
    "/ I found this code 3 times (CodeView2, NewSystemBrowser and DebugView) - smell? 
c671dfc959ef class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14101
diff changeset
  1996
    "/ (can we move that to a utility - probably DoWhatIMeanSupport)
c671dfc959ef class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14101
diff changeset
  1997
c671dfc959ef class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14101
diff changeset
  1998
    |cls language|
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
    cls := self classHolder value.
14110
c671dfc959ef class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14101
diff changeset
  2001
    cls notNil ifTrue:[
c671dfc959ef class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14101
diff changeset
  2002
        language := cls programmingLanguage
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2003
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2004
    UserInformation handle:[:ex |
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2005
        self showInfo:(ex messageText).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2006
        ex proceed.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2007
    ] do:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2008
        self withWaitCursorDo:[
14110
c671dfc959ef class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14101
diff changeset
  2009
            DoWhatIMeanSupport codeCompletionForLanguage:language class:cls context:nil codeView:self.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2010
        ]
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2011
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2012
    ^ self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2013
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2014
    "Modified: / 04-07-2006 / 18:48:26 / fm"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2015
    "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
  2016
    "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
  2017
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2018
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2019
reallyModified
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2020
    "check for modified code by comparing the source against
14439
6d02fc4b8ca0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14369
diff changeset
  2021
     the codeView's contents.
14503
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2022
     That's the true modified value 
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2023
     (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
  2024
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2025
    |modified|
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2026
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2027
    "/ cg: why this? It does not make sense to me.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2028
    "/ either we can depend on what the textView tells me here
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2029
    "/ in which case we don't need the code below,
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2030
    "/ 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
  2031
    "/ 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
  2032
    "/ Can someone validate/verify this, please?
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2033
    textView modified ifTrue:[^true].   
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2034
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2035
     "/ 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
  2036
    Processor activeProcess
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2037
        withHigherPriorityDo:[
14503
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  2038
            modified := textView isTextDifferentFromOriginalSource.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2039
        ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2040
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2041
    ^ modified
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2042
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2043
    "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
  2044
    "Modified (format): / 05-06-2012 / 23:55:02 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2045
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2046
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2047
showInfo: message
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2048
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2049
    | app |
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2050
    (app := self topView application) ifNotNil:
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2051
        [(app respondsTo: #showInfo:) ifTrue:
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2052
            [app showInfo: message]].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2053
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2054
    "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
  2055
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2056
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2057
!CodeView2 methodsFor:'private-accessing'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2058
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2059
gutterView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2060
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2061
    ^gutterView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2062
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2063
    "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
  2064
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2065
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2066
syntaxElementSelection
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2067
    ^ syntaxElementSelection
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2068
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2069
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2070
syntaxElementSelection:anElement
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2071
    syntaxElementSelection := anElement.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2072
"/    anElement isNil ifTrue:[
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2073
"/        currentParseNodeHolder value: nil.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2074
"/"/        currentBlockNodeHolder value: nil.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2075
"/    ] ifFalse:[
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2076
"/        currentParseNodeHolder value: anElement node.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2077
"/"/        currentBlockNodeHolder value: anElement node enclosingBlock.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2078
"/    ]
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2079
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2080
    "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
  2081
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2082
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2083
syntaxElements
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2084
    ^ syntaxElements
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2085
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2086
14705
4750b6f40d9a Temporary hack - sort syntaxElements if not already/
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14674
diff changeset
  2087
syntaxElements:aCollection
4750b6f40d9a Temporary hack - sort syntaxElements if not already/
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14674
diff changeset
  2088
    aCollection notNil ifTrue:[
4750b6f40d9a Temporary hack - sort syntaxElements if not already/
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14674
diff changeset
  2089
        aCollection isSortedCollection ifFalse:[ 
4750b6f40d9a Temporary hack - sort syntaxElements if not already/
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14674
diff changeset
  2090
            aCollection sort.
4750b6f40d9a Temporary hack - sort syntaxElements if not already/
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14674
diff changeset
  2091
        ].
4750b6f40d9a Temporary hack - sort syntaxElements if not already/
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14674
diff changeset
  2092
    ].
4750b6f40d9a Temporary hack - sort syntaxElements if not already/
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14674
diff changeset
  2093
    syntaxElements := aCollection.
4750b6f40d9a Temporary hack - sort syntaxElements if not already/
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14674
diff changeset
  2094
4750b6f40d9a Temporary hack - sort syntaxElements if not already/
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14674
diff changeset
  2095
    "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
  2096
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2097
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2098
textView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2099
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2100
    ^textView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2101
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2102
    "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
  2103
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2104
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2105
textViewScroller
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2106
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2107
    ^textViewScroller
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2108
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2109
    "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
  2110
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2111
11179
dc0c7401bce0 added: #postRealize
vrany
parents: 11054
diff changeset
  2112
!CodeView2 methodsFor:'realization'!
dc0c7401bce0 added: #postRealize
vrany
parents: 11054
diff changeset
  2113
13062
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2114
disableAllServices
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2115
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2116
    services do:[:service|
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2117
        service enabled:false.
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2118
    ]
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2119
!
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2120
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2121
enableAllServices
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2122
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2123
    services do:[:service|
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2124
        service enabled:true.
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2125
    ]
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2126
!
caed0c14f32c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13057
diff changeset
  2127
11179
dc0c7401bce0 added: #postRealize
vrany
parents: 11054
diff changeset
  2128
postRealize
dc0c7401bce0 added: #postRealize
vrany
parents: 11054
diff changeset
  2129
dc0c7401bce0 added: #postRealize
vrany
parents: 11054
diff changeset
  2130
    services do:[:service|
dc0c7401bce0 added: #postRealize
vrany
parents: 11054
diff changeset
  2131
        service viewRealized.
dc0c7401bce0 added: #postRealize
vrany
parents: 11054
diff changeset
  2132
    ]
dc0c7401bce0 added: #postRealize
vrany
parents: 11054
diff changeset
  2133
dc0c7401bce0 added: #postRealize
vrany
parents: 11054
diff changeset
  2134
    "Created: / 23-01-2012 / 10:35:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
dc0c7401bce0 added: #postRealize
vrany
parents: 11054
diff changeset
  2135
! !
dc0c7401bce0 added: #postRealize
vrany
parents: 11054
diff changeset
  2136
13975
21b5fc56a638 Added Tools::CodeView2>>#flash
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13962
diff changeset
  2137
!CodeView2 methodsFor:'redrawing'!
21b5fc56a638 Added Tools::CodeView2>>#flash
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13962
diff changeset
  2138
21b5fc56a638 Added Tools::CodeView2>>#flash
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13962
diff changeset
  2139
flash
21b5fc56a638 Added Tools::CodeView2>>#flash
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13962
diff changeset
  2140
    textView flash.
21b5fc56a638 Added Tools::CodeView2>>#flash
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13962
diff changeset
  2141
21b5fc56a638 Added Tools::CodeView2>>#flash
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13962
diff changeset
  2142
    "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
  2143
!
a0bec91d2399 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 14986
diff changeset
  2144
a0bec91d2399 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 14986
diff changeset
  2145
flash: aString
a0bec91d2399 class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 14986
diff changeset
  2146
    textView flash:aString.
13975
21b5fc56a638 Added Tools::CodeView2>>#flash
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13962
diff changeset
  2147
! !
21b5fc56a638 Added Tools::CodeView2>>#flash
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13962
diff changeset
  2148
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2149
!CodeView2 methodsFor:'services'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2150
13108
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2151
breakpointService
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2152
    "that one or nil"
14844
7a0e0c3a430e class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14843
diff changeset
  2153
13108
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2154
    ^ services detect:[:any| (any isKindOf: BreakpointService)] ifNone:nil
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2155
!
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2156
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2157
registerService: aCodeViewService
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2158
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2159
    services add: aCodeViewService.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2160
    aCodeViewService registerIn: self
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2161
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2162
    "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
  2163
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2164
14843
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2165
servicesDo:aBlock
14927
b109a354435c Fixes for enabling / disabling individual CodeView2 services.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14915
diff changeset
  2166
    services notNil ifTrue:[ 
b109a354435c Fixes for enabling / disabling individual CodeView2 services.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14915
diff changeset
  2167
        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
  2168
    ]
b109a354435c Fixes for enabling / disabling individual CodeView2 services.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14915
diff changeset
  2169
b109a354435c Fixes for enabling / disabling individual CodeView2 services.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14915
diff changeset
  2170
    "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
  2171
!
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2172
13108
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2173
syntaxHighlightingService
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2174
    "that one or nil"
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2175
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2176
    ^ services detect:[:any| (any isKindOf: CodeHighlightingService)] ifNone:nil
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2177
!
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2178
13125
71954878986b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13110
diff changeset
  2179
unregisterAllServices
71954878986b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13110
diff changeset
  2180
71954878986b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13110
diff changeset
  2181
    services copy do:[:eachService | self unregisterService:eachService ].
71954878986b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13110
diff changeset
  2182
!
71954878986b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13110
diff changeset
  2183
11616
c23e4a5d3384 added: #unregisterService:
Claus Gittinger <cg@exept.de>
parents: 11606
diff changeset
  2184
unregisterService: aCodeViewService
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2185
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2186
    services remove: aCodeViewService ifAbsent:[^self].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2187
    aCodeViewService unregister.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2188
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2189
    "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
  2190
    "Created: / 19-07-2012 / 16:34:18 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2191
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2192
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2193
!CodeView2 methodsFor:'testing'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2194
14915
f7a2835e0040 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14851
diff changeset
  2195
hasOwnScrollbars
f7a2835e0040 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14851
diff changeset
  2196
    "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
  2197
     scrollbars embedded - sigh (an extra load one).
f7a2835e0040 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14851
diff changeset
  2198
     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
  2199
     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
  2200
f7a2835e0040 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14851
diff changeset
  2201
    ^ true
f7a2835e0040 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14851
diff changeset
  2202
!
f7a2835e0040 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14851
diff changeset
  2203
10722
b5c270e3971c category of: #isCodeView2
Claus Gittinger <cg@exept.de>
parents: 10708
diff changeset
  2204
isCodeView2
b5c270e3971c category of: #isCodeView2
Claus Gittinger <cg@exept.de>
parents: 10708
diff changeset
  2205
b5c270e3971c category of: #isCodeView2
Claus Gittinger <cg@exept.de>
parents: 10708
diff changeset
  2206
    ^true
b5c270e3971c category of: #isCodeView2
Claus Gittinger <cg@exept.de>
parents: 10708
diff changeset
  2207
b5c270e3971c category of: #isCodeView2
Claus Gittinger <cg@exept.de>
parents: 10708
diff changeset
  2208
    "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
  2209
!
b5c270e3971c category of: #isCodeView2
Claus Gittinger <cg@exept.de>
parents: 10708
diff changeset
  2210
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2211
isTextView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2212
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2213
    ^true
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2214
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2215
    "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
  2216
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2217
14986
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2218
!CodeView2::AnnotationShowingScrollerBackground class methodsFor:'documentation'!
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2219
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2220
documentation
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2221
"
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2222
    I am a scroller background used to show annotation positions
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2223
    (very similar to the DiffTextScrollerBackground).
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2224
    I draw little markers at positions where annotations are.
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2225
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2226
    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
  2227
"
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2228
! !
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2229
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2230
!CodeView2::AnnotationShowingScrollerBackground methodsFor:'accessing'!
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2231
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2232
annotations:something
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2233
    annotations := something.
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2234
!
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2235
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2236
textView:something
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2237
    textView := something.
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2238
! !
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2239
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2240
!CodeView2::AnnotationShowingScrollerBackground methodsFor:'drawing'!
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2241
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2242
fillRectangleX:x y:y width:w height:h in:aScroller
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2243
    |overAllHeight|
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2244
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2245
    annotations isEmptyOrNil ifTrue:[^ self ].
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2246
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2247
    overAllHeight := textView numberOfLines.
14992
d8e909bf2407 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14988
diff changeset
  2248
    overAllHeight = 0 ifTrue:[ ^ self ].
d8e909bf2407 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14988
diff changeset
  2249
14986
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2250
    annotations do:[:eachAnnotation |
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2251
        |lineNr yThumb clr1 clr2|
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2252
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2253
        (lineNr := eachAnnotation line) notNil ifTrue:[    
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2254
            yThumb := (aScroller height * (lineNr / overAllHeight)) rounded.
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2255
            (yThumb between:y-5 and:(y + h + 5)) ifTrue:[
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2256
                clr1 := Color yellow lightened lightened.
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2257
                clr2 := clr1 darkened.
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2258
                aScroller paint:clr1.
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2259
                aScroller fillRectangleX:3 y:(yThumb-5 max:0) width:aScroller width-5 height:8.
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2260
                aScroller paint:clr2.
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2261
                aScroller displayRectangleX:3 y:(yThumb-5 max:0) width:aScroller width-5 height:10.
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2262
            ].
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2263
        ].
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2264
    ]
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2265
! !
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2266
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2267
!CodeView2::AnnotationShowingScrollerBackground methodsFor:'ignored conversion'!
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2268
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2269
asFormOn:aDevice
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2270
    "superclass AbstractBackground says that I am responsible to implement this method"
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2271
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2272
    ^ self 
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2273
!
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2274
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2275
onDevice:aDevice
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2276
    "superclass AbstractBackground says that I am responsible to implement this method"
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2277
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2278
    ^ self 
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2279
! !
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2280
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2281
!CodeView2::GutterView methodsFor:'accessing'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2282
13098
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2283
menuHolder:aValueThing
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2284
    menuHolder := aValueThing
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2285
!
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2286
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2287
setTextView: aTextView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2288
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2289
    self assert: textView isNil message:'Attempting to set textView twice'.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2290
    textView := aTextView.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2291
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2292
    textView addDependent:self.
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2293
10577
ae449524a0b4 redrawing grey
Claus Gittinger <cg@exept.de>
parents: 10523
diff changeset
  2294
    "/ self backgroundPaint: textView backgroundPaint darkened lighter.
ae449524a0b4 redrawing grey
Claus Gittinger <cg@exept.de>
parents: 10523
diff changeset
  2295
    self viewBackground: (View defaultBackgroundColor). "/ textView backgroundPaint darkened lighter.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2296
    self paint: textView paint.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2297
    self font: textView font.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2298
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2299
    "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
  2300
    "Modified: / 14-12-2009 / 15:09:29 / Jindra <a>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2301
    "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
  2302
    "Modified: / 17-08-2011 / 15:15:09 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2303
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2304
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2305
setTextViewScroller:aScr
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2306
    textViewScroller := aScr.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2307
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2308
    "Created: / 07-12-2009 / 22:36:31 / Jindra <a>"
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2309
!
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2310
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2311
showLineNumbers:aBoolean
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2312
    "can be used to turn off linenumber drawing, 
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2313
     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
  2314
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2315
    showLineNumbers := aBoolean.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2316
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2317
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2318
!CodeView2::GutterView methodsFor:'accessing-dimensions'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2319
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2320
acceptButtonBottom
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2321
10791
a12cd2d06fe3 Bug fix in accept/cancel bar redraw
vrany
parents: 10788
diff changeset
  2322
    ^(self height * 0.6) ceiling.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2323
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2324
    "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
  2325
!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2326
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2327
acceptCancelRight
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2328
    ^((self paddingLeft) + self usedWidthForAcceptCancel)
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2329
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2330
    "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
  2331
    "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
  2332
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2333
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2334
cancelButtonBottom  
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2335
10791
a12cd2d06fe3 Bug fix in accept/cancel bar redraw
vrany
parents: 10788
diff changeset
  2336
    ^(self height * 0.8) ceiling.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2337
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2338
    "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
  2339
!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2340
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2341
padding
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2342
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2343
    ^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
  2344
        + self usedWidthForAcceptCancel    
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2345
        + (widthAnnotations ? 0) 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2346
        + (widthDiffInfo ? 0)
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2347
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2348
    "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
  2349
    "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
  2350
    "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
  2351
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2352
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2353
paddingLeft
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2354
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2355
    ^0"px"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2356
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2357
    "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
  2358
    "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
  2359
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2360
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2361
paddingRight
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2362
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2363
    ^3"px"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2364
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2365
    "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
  2366
    "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
  2367
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2368
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2369
preferredExtent
11467
9465ed2c4e74 comment
Claus Gittinger <cg@exept.de>
parents: 11429
diff changeset
  2370
    | font w h |
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2371
14986
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2372
    explicitExtent notNil ifTrue:[ ^ explicitExtent ].
7f39d0272ebc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14983
diff changeset
  2373
    preferredExtent notNil ifTrue:[ ^ preferredExtent ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2374
11467
9465ed2c4e74 comment
Claus Gittinger <cg@exept.de>
parents: 11429
diff changeset
  2375
    font := self font.
9465ed2c4e74 comment
Claus Gittinger <cg@exept.de>
parents: 11429
diff changeset
  2376
    w := (font widthOf:'00') + self padding.
9465ed2c4e74 comment
Claus Gittinger <cg@exept.de>
parents: 11429
diff changeset
  2377
    h := textView notNil 
9465ed2c4e74 comment
Claus Gittinger <cg@exept.de>
parents: 11429
diff changeset
  2378
            ifTrue:[textView height] 
9465ed2c4e74 comment
Claus Gittinger <cg@exept.de>
parents: 11429
diff changeset
  2379
            ifFalse:[font height * 12].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2380
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2381
    ^preferredExtent := w @ h
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2382
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2383
    "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
  2384
    "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
  2385
!
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  2386
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  2387
usedWidthForAcceptCancel
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2388
    ^ (codeView notNil and:[codeView showAcceptCancelBar]) ifTrue:[widthAcceptCancel ? 0] ifFalse:[0]
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2389
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2390
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2391
!CodeView2::GutterView methodsFor:'actions'!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2392
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2393
accept
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2394
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2395
    textView accept
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2396
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2397
    "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
  2398
!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2399
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2400
cancel
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2401
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2402
    textView cancel
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2403
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2404
    "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
  2405
!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2406
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2407
diff
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2408
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2409
    "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
  2410
!
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  2411
13108
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2412
inspectView
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2413
    self halt.
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2414
!
a403bad1bc7f codeView2 fixes
Claus Gittinger <cg@exept.de>
parents: 13105
diff changeset
  2415
13098
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2416
middleButtonMenu    
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2417
    menuHolder notNil ifTrue:[^ menuHolder value].
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2418
    codeView isNil ifTrue:[^ nil].
13097
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  2419
    ^ codeView servicesMenu
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2420
! !
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2421
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2422
!CodeView2::GutterView methodsFor:'aspects'!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2423
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2424
currentBlockNodeHolder
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2425
    "return/create the 'currentBlockNodeHolder' value holder (automatically generated)"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2426
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2427
    currentBlockNodeHolder isNil ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2428
        currentBlockNodeHolder := ValueHolder new.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2429
        currentBlockNodeHolder addDependent:self.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2430
    ].
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2431
    ^ currentBlockNodeHolder
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2432
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2433
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2434
currentBlockNodeHolder:something
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2435
    "set the 'currentBlockNodeHolder' value holder (automatically generated)"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2436
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2437
    |oldValue newValue|
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2438
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2439
    currentBlockNodeHolder notNil ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2440
        oldValue := currentBlockNodeHolder value.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2441
        currentBlockNodeHolder removeDependent:self.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2442
    ].
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2443
    currentBlockNodeHolder := something.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2444
    currentBlockNodeHolder notNil ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2445
        currentBlockNodeHolder addDependent:self.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2446
    ].
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2447
    newValue := currentBlockNodeHolder value.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2448
    oldValue ~~ newValue ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2449
        self update:#value with:newValue from:currentBlockNodeHolder.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2450
    ].
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2451
! !
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2452
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2453
!CodeView2::GutterView methodsFor:'change & update'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2454
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2455
adjustSizeForLongestLine
13098
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2456
    "recompute the required width (longest linenumber present, not shown)"
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2457
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2458
    |newNumberOfLines longestLineString textW requiredW newWidth|
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2459
13568
c251f9a016d9 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13567
diff changeset
  2460
    showLineNumbers ifFalse:[^ self].
c251f9a016d9 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13567
diff changeset
  2461
13105
4e02e8dc7d4b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13098
diff changeset
  2462
    newNumberOfLines := (textView list size max:textView cursorLine).
13098
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2463
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2464
    longestLineString := self displayedString:(newNumberOfLines max:99).
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2465
    textW := (longestLineString widthOn:self).
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2466
    requiredW := textW + self padding.
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2467
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2468
    ((requiredW > width) or:[requiredW < (width * 3 // 4)]) ifTrue:[
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2469
        "/ some hysteresis to avoid quick readjust again
13316
1f476bdeb46c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13213
diff changeset
  2470
        newWidth := (requiredW "* 1.1") rounded.
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2471
        self corner:(newWidth+1 @ 1.0).
13316
1f476bdeb46c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13213
diff changeset
  2472
13085
42d374ca3b6e class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13072
diff changeset
  2473
        [
42d374ca3b6e class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13072
diff changeset
  2474
            textView removeDependent:self.
13568
c251f9a016d9 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13567
diff changeset
  2475
            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
  2476
        ] ensure:[
42d374ca3b6e class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13072
diff changeset
  2477
            textView addDependent:self.
42d374ca3b6e class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13072
diff changeset
  2478
        ].
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2479
        self invalidate.
13098
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2480
    ] ifFalse:[
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2481
        numberOfLines ~= newNumberOfLines ifTrue:[
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2482
            self invalidate
ce4a7109bbcd class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13097
diff changeset
  2483
        ]
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2484
    ].
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2485
!
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2486
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2487
update:something with:aParameter from:changedObject
14127
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2488
    |deltaY numPixels hScrollerHeight|
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2489
10326
Claus Gittinger <cg@exept.de>
parents: 10312
diff changeset
  2490
    (changedObject == textView) ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2491
        ((something == #sizeOfContents)
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2492
        or:[ "false "(something == #visibility)"" ]) ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2493
            self adjustSizeForLongestLine.
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2494
14127
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2495
            "/ (numberOfLines ~= (textView list size max:textView cursorLine)) ifTrue:[
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2496
            "/     self invalidate.
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2497
            "/ ].
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2498
            ^ self.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2499
        ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2500
        something == #originOfContents ifTrue:[
14127
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2501
            aParameter notNil ifTrue:[
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2502
                deltaY := aParameter y.
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2503
                deltaY = 0 ifTrue:[^ self].
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2504
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2505
                numPixels := deltaY abs.
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2506
                numPixels < (height // 5) ifTrue:[
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2507
                    deltaY < 0 ifTrue:[
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2508
                        self invalidateX:0 y:0 width:width height:numPixels.
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2509
                    ] ifFalse:[
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2510
                        hScrollerHeight := 0.
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2511
                        (textViewScroller notNil
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2512
                        and:[textViewScroller horizontalScrollBar notNil]) ifTrue:[
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2513
                            hScrollerHeight := textViewScroller horizontalScrollBar height.
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2514
                        ].
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2515
                        numPixels := numPixels + 4.
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2516
                        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
  2517
                    ].
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2518
                    self repairDamage.
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2519
                    ^ self.
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2520
                ].
7bc7d22565b3 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14110
diff changeset
  2521
            ].
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2522
            self invalidateLines.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2523
            ^ self.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2524
        ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2525
        "/ something printCR.
10312
5b281e46f943 Fixes to avoid unncessary redraws of GutterView
vrany
parents: 10293
diff changeset
  2526
    ].
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2527
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2528
    (changedObject == textView reallyModifiedChannel) ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2529
        self invalidateAcceptCancelBar.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2530
        ^self.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2531
    ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2532
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2533
    super update:something with:aParameter from:changedObject
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2534
10326
Claus Gittinger <cg@exept.de>
parents: 10312
diff changeset
  2535
    "Modified (format): / 15-07-2011 / 20:14:04 / cg"
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2536
    "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
  2537
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2538
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2539
!CodeView2::GutterView methodsFor:'event handling'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2540
14843
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2541
buttonMultiPress: btn x: x y: y
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2542
    |extraSafeArea|
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2543
14963
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2544
    Processor removeTimedBlock:blockWaitingForPossibleDoubleClick.
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2545
    blockWaitingForPossibleDoubleClick := nil.
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2546
14851
eeee217e8bee class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14850
diff changeset
  2547
    "/ for the embedded accept-cancel bar, if enabled
14843
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2548
    (x <= (self paddingLeft + self usedWidthForAcceptCancel)) ifTrue:[
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2549
        textView reallyModified ifTrue:[
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2550
            (y < self acceptButtonBottom) ifTrue:[
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2551
                ^self.
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2552
            ].
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2553
            (y < self cancelButtonBottom) ifTrue:[
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2554
                ^self.            
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2555
            ].
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2556
        ].
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2557
        ^self.
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2558
    ].
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2559
14851
eeee217e8bee class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14850
diff changeset
  2560
    false ifTrue:[
eeee217e8bee class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14850
diff changeset
  2561
        "Do not allow clicking on line numbers..."
eeee217e8bee class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14850
diff changeset
  2562
        extraSafeArea := "('999' widthOn:self)" 5.
eeee217e8bee class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14850
diff changeset
  2563
        x < (self width - self paddingRight - widthDiffInfo - extraSafeArea) ifFalse:[^ self].
eeee217e8bee class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14850
diff changeset
  2564
    ].
eeee217e8bee class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14850
diff changeset
  2565
14843
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2566
    codeView notNil ifTrue:[
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2567
        ((x > (self paddingLeft + self usedWidthForAcceptCancel)) or:
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2568
            [x < (self width - self paddingRight - widthDiffInfo)]
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2569
        ) ifTrue:[
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2570
            (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
  2571
        ].
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2572
    ].
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2573
    super buttonMultiPress: btn x: x y: y
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2574
!
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2575
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2576
buttonPress: btn x: x y: y
14963
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2577
    blockWaitingForPossibleDoubleClick :=
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2578
        [
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2579
            self nonMultiButtonPress: btn x: x y: y
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2580
        ].
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2581
    Processor addTimedBlock:blockWaitingForPossibleDoubleClick afterMilliseconds:100.
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2582
!
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2583
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2584
nonMultiButtonPress: btn x: x y: y
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2585
    "this is now called delayed for a single button press
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2586
     (i.e. if there is not other click within some time)"
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2587
11520
091c7e0e435a added a save-area (line-number) into which a click does not toggle
Claus Gittinger <cg@exept.de>
parents: 11467
diff changeset
  2588
    |extraSafeArea|
091c7e0e435a added a save-area (line-number) into which a click does not toggle
Claus Gittinger <cg@exept.de>
parents: 11467
diff changeset
  2589
14851
eeee217e8bee class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14850
diff changeset
  2590
    "/ 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
  2591
    (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
  2592
        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
  2593
            (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
  2594
                self accept.
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  2595
                ^self.
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  2596
            ].
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  2597
            (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
  2598
                self cancel.
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  2599
                ^self.            
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  2600
            ].
b482d2c77040 changed to not take up screen space for the accept/cancel gutter,
Claus Gittinger <cg@exept.de>
parents: 11903
diff changeset
  2601
            self diff.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2602
        ].
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2603
        ^self.
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2604
    ].
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2605
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2606
    false ifTrue:[
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2607
        "Do not allow clicking on line numbers..."
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2608
        extraSafeArea := "('999' widthOn:self)" 5.
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2609
        x < (self width - self paddingRight - widthDiffInfo - extraSafeArea) ifFalse:[^ self].
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2610
    ].
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2611
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2612
    codeView notNil ifTrue:[
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2613
        ((x > (self paddingLeft + self usedWidthForAcceptCancel)) or:
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2614
            [x < (self width - self paddingRight - widthDiffInfo)]
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2615
        ) ifTrue:[
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2616
            (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
  2617
        ].
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2618
    ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2619
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2620
    "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
  2621
    "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
  2622
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2623
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2624
sizeChanged:how
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2625
    super sizeChanged:how.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2626
    self invalidateAcceptCancelBar.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2627
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2628
    "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
  2629
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2630
11220
82c46989af92 flybyhelp in gutter
Claus Gittinger <cg@exept.de>
parents: 11179
diff changeset
  2631
!CodeView2::GutterView methodsFor:'help'!
82c46989af92 flybyhelp in gutter
Claus Gittinger <cg@exept.de>
parents: 11179
diff changeset
  2632
14843
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2633
flyByHelpTextAt:aPointOrNil
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2634
    |lineNr bpntService servicesWithAnnotations serviceToShowHelpFor|
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2635
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2636
    codeView isNil ifTrue:[^ nil].
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2637
    bpntService := codeView breakpointService.
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2638
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2639
    aPointOrNil notNil ifTrue:[
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2640
        lineNr := codeView lineAtY:aPointOrNil y.
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2641
        lineNr notNil ifTrue:[
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2642
            "/ which service has an annotation for that line
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2643
            servicesWithAnnotations := OrderedCollection new.
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2644
            codeView servicesDo:[:eachService |
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2645
                (eachService flyByHelpTextAtLine:lineNr) notNil ifTrue:[
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2646
                    servicesWithAnnotations add:eachService.
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2647
                ].
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2648
            ].
14848
8a15194d34e6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14844
diff changeset
  2649
            "/ Transcript showCR:servicesWithAnnotations.
14843
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2650
        ].
12903
22da380892a5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12870
diff changeset
  2651
    ].
14843
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2652
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2653
    "/ if there is either ONLY a breakpoint service which has an annotation
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2654
    "/ or none has an annotation, return the breakpoint service's message
14850
f8e181db4a2f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14848
diff changeset
  2655
    (servicesWithAnnotations isEmptyOrNil
14843
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2656
    or:[ servicesWithAnnotations size == 1 and:[servicesWithAnnotations first == bpntService]]) ifTrue:[
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2657
        (bpntService notNil and:[ bpntService isEnabled ]) ifTrue:[
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2658
            serviceToShowHelpFor := bpntService
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2659
        ].
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2660
    ] ifFalse:[
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2661
        serviceToShowHelpFor := servicesWithAnnotations first
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2662
    ].
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2663
    serviceToShowHelpFor notNil ifTrue:[
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2664
        ^ serviceToShowHelpFor flyByHelpTextAtLine:lineNr
ab82df4f1f99 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14705
diff changeset
  2665
    ].
11220
82c46989af92 flybyhelp in gutter
Claus Gittinger <cg@exept.de>
parents: 11179
diff changeset
  2666
! !
82c46989af92 flybyhelp in gutter
Claus Gittinger <cg@exept.de>
parents: 11179
diff changeset
  2667
14545
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  2668
!CodeView2::GutterView methodsFor:'initialize & release'!
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2669
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2670
initialize
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2671
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2672
    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
  2673
14963
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2674
    blockWaitingForPossibleDoubleClick := nil.
7247ac7242bf class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14959
diff changeset
  2675
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2676
    showLineNumbers := true.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2677
    widthAcceptCancel := 16.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2678
    widthAnnotations := "16"8.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2679
    widthDiffInfo := 5.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2680
13962
b93f29337e6c class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13943
diff changeset
  2681
    acceptColor := Color green lighter onDevice:self graphicsDevice.
b93f29337e6c class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13943
diff changeset
  2682
    cancelColor := Color red lighter lighter onDevice:self graphicsDevice.
b93f29337e6c class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13943
diff changeset
  2683
    diffColor := Color yellow lighter lighter onDevice:self graphicsDevice.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2684
14983
4e23aedeee9a class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14963
diff changeset
  2685
    self enableMotionEvents.   "/ for per-line tooltips
4e23aedeee9a class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14963
diff changeset
  2686
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2687
    "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
  2688
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2689
14545
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  2690
release
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  2691
    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
  2692
    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
  2693
    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
  2694
        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
  2695
    ].
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  2696
    super release.
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  2697
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  2698
    "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
  2699
!
473b413f198b Added CodeView2>>release, GutterView>>release to release views from dependencies.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14521
diff changeset
  2700
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2701
setCodeView: aCodeView2
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2702
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2703
    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
  2704
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2705
    codeView addDependent: self.
10784
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  2706
    codeView reallyModifiedChannel addDependent: self.
13993
ec74fc4b84e5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13978
diff changeset
  2707
    "/ 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
  2708
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2709
    textView := aCodeView2 textView.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2710
    textView addDependent: self.
13993
ec74fc4b84e5 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13978
diff changeset
  2711
    "/ 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
  2712
    "/ self currentBlockNodeHolder: codeView currentBlockNodeHolder.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2713
    textViewScroller := aCodeView2 textViewScroller.
10577
ae449524a0b4 redrawing grey
Claus Gittinger <cg@exept.de>
parents: 10523
diff changeset
  2714
    "/ self backgroundPaint: (textView viewBackground "backgroundPaint" blendWith: (Color gray:80)).
ae449524a0b4 redrawing grey
Claus Gittinger <cg@exept.de>
parents: 10523
diff changeset
  2715
    self viewBackground: (View defaultBackgroundColor).
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2716
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2717
    "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
  2718
    "Modified: / 17-08-2011 / 15:15:55 / cg"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2719
    "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
  2720
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2721
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2722
!CodeView2::GutterView methodsFor:'queries'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2723
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2724
displayedString: line
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2725
    "get text to display in gutter for specified list line number"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2726
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2727
    ^(line asString).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2728
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2729
    "Created: / 14-12-2009 / 13:37:47 / Jindra <a>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2730
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2731
13105
4e02e8dc7d4b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13098
diff changeset
  2732
lineColorForLine:line
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2733
    "return special color for given line if required, nil otherwise"
13105
4e02e8dc7d4b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13098
diff changeset
  2734
    "used only if lineFont returns nil"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2735
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2736
    ^nil
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2737
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2738
    "Created: / 14-12-2009 / 15:01:31 / Jindra <a>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2739
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2740
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2741
lineDisplayable:line
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2742
    "true if this list line can be displayed"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2743
    ^(textView listLineIsVisible:line)
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2744
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2745
    "Created: / 14-12-2009 / 13:38:23 / Jindra <a>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2746
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2747
13105
4e02e8dc7d4b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13098
diff changeset
  2748
lineFontForLine:line
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2749
    "return special font for given line if required, nil otherwise"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2750
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2751
    ^nil
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2752
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2753
    "Created: / 14-12-2009 / 14:40:17 / Jindra <a>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2754
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2755
13566
e238ad7e24fc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13565
diff changeset
  2756
wantsFocusWithButtonPress
e238ad7e24fc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13565
diff changeset
  2757
    ^ false.
e238ad7e24fc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13565
diff changeset
  2758
!
e238ad7e24fc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13565
diff changeset
  2759
13213
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  2760
yOfTextViewLine:lineNr
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  2761
    "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
  2762
     the textView (because gutter may become higher than textView, iff
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  2763
     the textView has a horizontal scrollbar"
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  2764
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  2765
    |visibleLineNr "{ Class: SmallInteger }"|
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  2766
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2767
    "/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
  2768
    "/    to get nil!!
13213
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  2769
    shown ifFalse:[^ nil].
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  2770
    lineNr isNil ifTrue:[^ nil].
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  2771
    visibleLineNr := lineNr - textView firstLineShown + 1.
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  2772
    ^ textView yOfVisibleLine:visibleLineNr
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2773
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2774
    "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
  2775
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2776
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2777
!CodeView2::GutterView methodsFor:'redrawing'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2778
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2779
invalidateAcceptCancelBar
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2780
    | w |
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2781
13978
f4adc42d7354 Fixed some redraw problems when internal accept-cancel is disabled.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13975
diff changeset
  2782
    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
  2783
    w == 0 ifTrue:[ ^ self ].
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2784
    self
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2785
        invalidateX: 0
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2786
                  y: 0
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2787
              width: w
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2788
             height: self height.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2789
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2790
    "Created: / 10-09-2013 / 03:07:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13978
f4adc42d7354 Fixed some redraw problems when internal accept-cancel is disabled.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13975
diff changeset
  2791
    "Modified: / 21-02-2014 / 21:50:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2792
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2793
13097
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  2794
invalidateDeviceRectangle:aRectangle repairNow:doRepairNow
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  2795
    ^ super invalidateDeviceRectangle:aRectangle repairNow:doRepairNow
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  2796
!
0244f714f047 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13092
diff changeset
  2797
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2798
invalidateLines
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2799
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2800
    | x0 |
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2801
    x0 := self acceptCancelRight + 1.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2802
    self
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2803
        invalidateX: x0
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2804
                  y: 0
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2805
              width: self width - x0
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2806
             height: self height.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2807
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2808
    "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
  2809
    "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
  2810
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2811
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2812
redrawAcceptCancelBarX: x y: y width:w height:h
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2813
13978
f4adc42d7354 Fixed some redraw problems when internal accept-cancel is disabled.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13975
diff changeset
  2814
    | 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
  2815
f4adc42d7354 Fixed some redraw problems when internal accept-cancel is disabled.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13975
diff changeset
  2816
    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
  2817
    x >= acceptRight ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2818
        ^self.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2819
    ].
13978
f4adc42d7354 Fixed some redraw problems when internal accept-cancel is disabled.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13975
diff changeset
  2820
    rw := ((x + w) min: acceptRight) - x.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2821
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2822
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2823
    textView reallyModified ifFalse:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2824
        self fillRectangleX:x y:y width:rw height:h color: self viewBackground
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2825
    ] ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2826
        acceptBottom := self acceptButtonBottom.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2827
        cancelBottom := self cancelButtonBottom.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2828
        y < acceptBottom ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2829
            self fillRectangleX:x y:y width:rw height: ((y + h) min: acceptBottom) color: acceptColor.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2830
        ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2831
        (y < cancelBottom) ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2832
            self fillRectangleX:x y: acceptBottom + 1width:rw height: ((y + h) min: cancelBottom) - acceptBottom - 1color: cancelColor.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2833
        ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2834
        (y + h >= cancelBottom) ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2835
            self fillRectangleX:x y: cancelBottom + 1 width:rw height: (y + h) - cancelBottom - 1 color: diffColor.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2836
        ]
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2837
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2838
    ]
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2839
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2840
    "Created: / 07-10-2011 / 19:44:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13978
f4adc42d7354 Fixed some redraw problems when internal accept-cancel is disabled.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13975
diff changeset
  2841
    "Modified: / 21-02-2014 / 21:49:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2842
!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2843
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2844
redrawBackgroundX:x y:y width:w height:h
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2845
    "redraws gutter background"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2846
13091
076f0ec1e120 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13085
diff changeset
  2847
    |savPaint|
076f0ec1e120 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13085
diff changeset
  2848
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2849
    "background is filled with background color"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2850
    self 
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2851
        clearRectangleX:x
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2852
        y:y
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2853
        width:w
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2854
        height:h. 
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2855
13091
076f0ec1e120 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13085
diff changeset
  2856
    "separator line is drawn in grey"
076f0ec1e120 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13085
diff changeset
  2857
    savPaint := self paint.
14615
923843181919 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14590
diff changeset
  2858
    self paint:Color gray.
13091
076f0ec1e120 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13085
diff changeset
  2859
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2860
    self 
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2861
        displayLineFromX:(width - 1)
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2862
        y:y
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2863
        toX:(width - 1)
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2864
        y:(y+h).
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2865
13091
076f0ec1e120 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13085
diff changeset
  2866
    self paint:savPaint.
076f0ec1e120 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13085
diff changeset
  2867
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2868
    "Created: / 14-12-2009 / 13:15:53 / Jindra <a>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2869
    "Modified: / 14-12-2009 / 15:09:54 / Jindra <a>"
10577
ae449524a0b4 redrawing grey
Claus Gittinger <cg@exept.de>
parents: 10523
diff changeset
  2870
    "Modified: / 17-08-2011 / 15:12:47 / cg"
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  2871
    "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
  2872
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2873
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2874
redrawLine:line 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2875
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2876
    ^self redrawLine:line cleared: false.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2877
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2878
    "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
  2879
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2880
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2881
redrawLine:line cleared: cleared
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2882
    "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
  2883
    
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2884
    ^ self redrawLine:line cleared:cleared drawServices:true
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2885
!
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2886
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2887
redrawLine:line cleared:cleared drawServices:drawServices
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2888
    "redraws specified line. Returns width of drawn object.
13213
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  2889
     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
  2890
13213
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  2891
    |lineString yTop yBaseline fontAscent fontDescent
14520
777b5112f927 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14519
diff changeset
  2892
     textW requiredW oldFont newFont oldColor newColor myFont|
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2893
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2894
    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
  2895
    textView isNil ifTrue:[^ self].     "/ happens when shown in UIPainter
95c71c5bc71c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13569
diff changeset
  2896
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2897
    requiredW := self width.
14520
777b5112f927 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14519
diff changeset
  2898
    myFont := gc font.
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2899
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2900
    showLineNumbers ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2901
        lineString := self displayedString:line.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2902
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2903
        textW := (lineString widthOn:self).
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2904
        requiredW := textW + self padding.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2905
14520
777b5112f927 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14519
diff changeset
  2906
        oldFont := myFont.
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2907
        oldColor := self paint.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2908
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2909
        newFont := self lineFontForLine:line.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2910
        newFont isNil ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2911
            newFont := oldFont.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2912
            newColor := self lineColorForLine:line.
13943
510f0343785e Fixes off-by-one error when drawing annotations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13942
diff changeset
  2913
            newColor notNil ifTrue:[ self paint:newColor ].
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2914
        ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2915
        newFont ~~ oldFont ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2916
            "/ ensure that the line number lines are not higher than the text lines
14145
78c992303423 Access graphicsDevice via method send instead of instVar access
Stefan Vogel <sv@exept.de>
parents: 14127
diff changeset
  2917
            (newFont heightOn:self graphicsDevice) > (textView font heightOn:self graphicsDevice) ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2918
                newFont := textView font.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2919
            ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2920
            newFont ~~ oldFont ifTrue:[
14520
777b5112f927 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14519
diff changeset
  2921
                self font:newFont.
777b5112f927 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14519
diff changeset
  2922
                myFont := gc font.
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2923
            ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2924
        ].
11424
69b3960c7757 care for small text-font in gutterview
Claus Gittinger <cg@exept.de>
parents: 11398
diff changeset
  2925
    ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2926
13962
b93f29337e6c class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13943
diff changeset
  2927
    fontAscent := textView font ascentOn:self graphicsDevice.
b93f29337e6c class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13943
diff changeset
  2928
    fontDescent := textView font descentOn:self graphicsDevice.
13574
95c71c5bc71c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13569
diff changeset
  2929
13943
510f0343785e Fixes off-by-one error when drawing annotations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13942
diff changeset
  2930
13584
ca0a679b490d class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13582
diff changeset
  2931
    yTop := (self yOfTextViewLine:line) ? 0.
13574
95c71c5bc71c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13569
diff changeset
  2932
    yBaseline := yTop + fontAscent.
95c71c5bc71c class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13569
diff changeset
  2933
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2934
    cleared ifFalse:[
14520
777b5112f927 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14519
diff changeset
  2935
        self clearRectangleX:0 y:yBaseline - myFont ascent
13962
b93f29337e6c class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13943
diff changeset
  2936
            width:width - 2
14520
777b5112f927 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14519
diff changeset
  2937
            height:myFont ascent + myFont descent.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2938
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2939
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2940
    "/ cg: this should be done differently: services know about the
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2941
    "/ gutter, so they should respond to a special drawGutter message.
13105
4e02e8dc7d4b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13098
diff changeset
  2942
    "/ otherwise, some redraws become unusably slow (especially
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2943
    "/ with multiple fonts/colors/emphases)...
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2944
    drawServices ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2945
        "Let services draw annotations and other stuff"
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2946
        codeView notNil ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2947
            codeView
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2948
                drawLine:line in: self
14520
777b5112f927 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14519
diff changeset
  2949
                atX: self acceptCancelRight + 1 y:yBaseline width: widthAnnotations height:myFont height
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2950
                from:nil to:nil with:self paint and: self backgroundColor.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2951
        ]
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2952
    ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2953
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2954
    showLineNumbers ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2955
        self
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2956
            displayString:lineString
13943
510f0343785e Fixes off-by-one error when drawing annotations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13942
diff changeset
  2957
            x:width - widthDiffInfo - textW
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2958
            y:yBaseline.
13943
510f0343785e Fixes off-by-one error when drawing annotations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13942
diff changeset
  2959
        newFont notNil ifTrue:[
510f0343785e Fixes off-by-one error when drawing annotations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13942
diff changeset
  2960
            self font:oldFont.
510f0343785e Fixes off-by-one error when drawing annotations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13942
diff changeset
  2961
            self paint:oldColor
510f0343785e Fixes off-by-one error when drawing annotations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13942
diff changeset
  2962
        ] ifFalse:[
510f0343785e Fixes off-by-one error when drawing annotations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13942
diff changeset
  2963
            newColor notNil ifTrue:[ self paint:oldColor ].
510f0343785e Fixes off-by-one error when drawing annotations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13942
diff changeset
  2964
        ].
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2965
    ].
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  2966
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2967
    "/ 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
  2968
    "/ of accept/cancel bar !!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2969
    cleared ifFalse:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  2970
        "/ In that case it was cleared above.
13962
b93f29337e6c class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13943
diff changeset
  2971
        self redrawAcceptCancelBarX:0 y:yBaseline - gc font ascent
b93f29337e6c class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13943
diff changeset
  2972
            width:width - 2
b93f29337e6c class: Tools::CodeView2
Stefan Vogel <sv@exept.de>
parents: 13943
diff changeset
  2973
           height:gc font ascent + gc font descent.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  2974
    ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2975
    ^ requiredW.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2976
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2977
    "Modified: / 14-12-2009 / 15:30:44 / Jindra <a>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2978
    "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
  2979
    "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
  2980
    "Modified: / 14-02-2014 / 17:58:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2981
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2982
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  2983
redrawLinesFrom:start
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  2984
    "/ cg: obsolete?
10312
5b281e46f943 Fixes to avoid unncessary redraws of GutterView
vrany
parents: 10293
diff changeset
  2985
    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
  2986
        self redrawLine:line cleared:false drawServices:true.
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  2987
    ]
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  2988
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  2989
    "Created: / 06-07-2011 / 17:25:36 / jv"
10312
5b281e46f943 Fixes to avoid unncessary redraws of GutterView
vrany
parents: 10293
diff changeset
  2990
    "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
  2991
!
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  2992
13374
4185e24179b7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13316
diff changeset
  2993
redrawVisibleLine:line 
4185e24179b7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13316
diff changeset
  2994
    |absLine|
4185e24179b7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13316
diff changeset
  2995
4185e24179b7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13316
diff changeset
  2996
    (absLine := textView visibleLineToListLine:line) notNil ifTrue:[
4185e24179b7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13316
diff changeset
  2997
        self redrawLine:absLine cleared: false.
4185e24179b7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13316
diff changeset
  2998
    ].
4185e24179b7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13316
diff changeset
  2999
4185e24179b7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13316
diff changeset
  3000
    "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
  3001
!
4185e24179b7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13316
diff changeset
  3002
13105
4e02e8dc7d4b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13098
diff changeset
  3003
redrawX:x y:y width:w height:h
13213
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  3004
    |firstLine lastLine yBot|
8beb5ac28bf7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13208
diff changeset
  3005
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3006
    self redrawBackgroundX:x y:y width:w height:h.
10793
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  3007
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  3008
    (codeView notNil and:[codeView showAcceptCancelBar]) ifTrue:[    
10793
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  3009
        self redrawAcceptCancelBarX:x y:y width:w height:h.
c19380a197aa Added channel for controlling visibility of accept/cancel
vrany
parents: 10791
diff changeset
  3010
    ].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3011
13575
a3a8f530bf16 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13574
diff changeset
  3012
    "/ textview may be nil, if Gutter is shown in the UIPainter!!
a3a8f530bf16 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13574
diff changeset
  3013
    textView notNil ifTrue:[
a3a8f530bf16 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13574
diff changeset
  3014
        numberOfLines := (textView list size max:textView cursorLine).
a3a8f530bf16 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13574
diff changeset
  3015
        yBot := y + h.
a3a8f530bf16 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13574
diff changeset
  3016
        firstLine := textView visibleLineToAbsoluteLine:(textView visibleLineOfY:y).
a3a8f530bf16 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13574
diff changeset
  3017
        lastLine := textView visibleLineToAbsoluteLine:(textView visibleLineOfY:yBot-1).
a3a8f530bf16 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13574
diff changeset
  3018
        lastLine := lastLine min:numberOfLines.
a3a8f530bf16 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13574
diff changeset
  3019
a3a8f530bf16 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13574
diff changeset
  3020
        firstLine to:lastLine do: [:line | 
a3a8f530bf16 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13574
diff changeset
  3021
            self redrawLine:line cleared:true drawServices:true.
a3a8f530bf16 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13574
diff changeset
  3022
        ].
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  3023
    ]
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3024
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3025
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3026
!CodeView2::TextView methodsFor:'accessing'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3027
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3028
changedDiffText
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3029
    ^ changedDiffText
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3030
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3031
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3032
changedDiffText:something
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3033
    changedDiffText := something.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3034
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3035
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3036
changedLines
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3037
    ^ changedLines
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3038
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3039
    "Created: / 26-04-2010 / 20:30:32 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3040
    "Modified: / 26-04-2010 / 21:48:13 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3041
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3042
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3043
changedLines:something 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3044
    changedLines := something.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3045
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3046
    "Created: / 26-04-2010 / 20:30:19 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3047
    "Modified: / 02-05-2010 / 19:13:32 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3048
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3049
15130
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
  3050
codeView
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
  3051
    ^ codeView
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
  3052
!
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
  3053
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3054
contents: text
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3055
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3056
    super contents: text.
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3057
    reallyModifiedChannel value: false.
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3058
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3059
    "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
  3060
!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3061
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3062
contents: text clear: clearPrevious
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3063
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3064
    | savedListOriginal |
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3065
    savedListOriginal := listOriginal.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3066
    super contents: text.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3067
    listOriginal := savedListOriginal.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3068
    self updateReallyModified.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3069
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3070
    "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
  3071
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3072
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3073
deletedLines
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3074
    ^  deletedLines
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3075
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3076
    "Modified: / 26-04-2010 / 21:48:23 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3077
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3078
11597
Claus Gittinger <cg@exept.de>
parents: 11559
diff changeset
  3079
deletedLines:something 
Claus Gittinger <cg@exept.de>
parents: 11559
diff changeset
  3080
    deletedLines := something.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3081
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3082
    "Modified: / 26-04-2010 / 21:48:54 / Jakub <zelenja7@fel.cvut.cz>"
11597
Claus Gittinger <cg@exept.de>
parents: 11559
diff changeset
  3083
    "Modified (format): / 17-07-2012 / 18:56:44 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3084
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3085
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3086
diffMode
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3087
    ^ diffMode
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3088
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3089
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3090
diffMode:something
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3091
    diffMode := something.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3092
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3093
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3094
emptyLines
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3095
    ^ emptyLines
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3096
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3097
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3098
emptyLines:something
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3099
    emptyLines := something.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3100
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3101
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3102
fontAscent
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3103
    ^fontAscent notNil ifTrue:[fontAscent] ifFalse:[super fontAscent]
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3104
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3105
    "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
  3106
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3107
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3108
insertedLines
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3109
    ^  insertedLines
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3110
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3111
    "Modified: / 26-04-2010 / 21:48:27 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3112
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3113
11597
Claus Gittinger <cg@exept.de>
parents: 11559
diff changeset
  3114
insertedLines:something 
Claus Gittinger <cg@exept.de>
parents: 11559
diff changeset
  3115
    insertedLines := something.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3116
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3117
    "Modified: / 26-04-2010 / 21:48:59 / Jakub <zelenja7@fel.cvut.cz>"
11597
Claus Gittinger <cg@exept.de>
parents: 11559
diff changeset
  3118
    "Modified (format): / 17-07-2012 / 18:56:50 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3119
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3120
10245
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  3121
modifiedChannel: aValueHolder
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  3122
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  3123
    super modifiedChannel: aValueHolder
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  3124
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  3125
    "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
  3126
!
1a1b298637d1 Attempt to fix the accept/cancel bar - no success.
vrany
parents: 10224
diff changeset
  3127
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3128
originDiffText
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3129
    ^ originDiffText
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3130
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3131
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3132
originDiffText:something
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3133
    originDiffText := something.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3134
!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3135
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3136
reallyModified
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3137
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3138
    ^self reallyModifiedChannel value
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3139
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3140
    "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
  3141
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3142
11393
fb1c9eb2aab7 category of:20 methods
Claus Gittinger <cg@exept.de>
parents: 11377
diff changeset
  3143
!CodeView2::TextView methodsFor:'accessing-colors'!
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3144
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3145
colorChanged
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3146
    ^ Color redByte:240 greenByte: 192 blueByte: 192
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3147
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3148
    "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
  3149
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3150
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3151
colorDeleted
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3152
    ^ self colorInserted.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3153
    "/^ Color pink
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3154
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3155
    "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
  3156
    "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
  3157
    "Modified (format): / 17-07-2012 / 18:57:14 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3158
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3159
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3160
colorInserted
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3161
    ^ Color redByte: 239 greenByte: 225 blueByte: 152
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3162
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3163
    "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
  3164
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3165
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3166
!CodeView2::TextView methodsFor:'accessing-contents'!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3167
10784
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3168
list:aCollection expandTabs:expand scanForNonStrings:scan includesNonStrings:nonStrings
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3169
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3170
    super list:aCollection expandTabs:expand scanForNonStrings:scan includesNonStrings:nonStrings.
13517
7cf990f83349 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13456
diff changeset
  3171
10784
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3172
    listOriginal := aCollection copy.
10834
b25dd8ee319b changed: #initialize
vrany
parents: 10793
diff changeset
  3173
    reallyModifiedChannel value: false.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3174
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3175
    "/JV: used to be notifyLines... but that method
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3176
    "/    leaves suppressNotifications to true, which is not what
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3177
    "/    we want!!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3178
    self updateReallyModified.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3179
    codeView linesModifiedFrom: 1 to: list size.
10784
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3180
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3181
    "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
  3182
    "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
  3183
!
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3184
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3185
setList:aCollection expandTabs:expandTabs redraw:doRedraw
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3186
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3187
    super setList:aCollection expandTabs:expandTabs redraw:doRedraw.
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3188
    listOriginal := aCollection copy.
10834
b25dd8ee319b changed: #initialize
vrany
parents: 10793
diff changeset
  3189
    reallyModifiedChannel value: false.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3190
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3191
    "/JV: used to be notifyLines... but that method
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3192
    "/    leaves suppressNotifications to true, which is not what
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3193
    "/    we want!!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3194
    self updateReallyModified.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3195
    codeView linesModifiedFrom: 1 to: list size.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3196
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3197
    "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
  3198
    "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
  3199
! !
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3200
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3201
!CodeView2::TextView methodsFor:'accessing-look'!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3202
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3203
lineSpacing
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3204
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3205
    ^lineSpacing
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3206
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3207
    "Modified: / 22-05-1996 / 12:22:29 / cg"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3208
    "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
  3209
! !
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3210
10785
vrany
parents: 10784
diff changeset
  3211
!CodeView2::TextView methodsFor:'accessing-state'!
vrany
parents: 10784
diff changeset
  3212
vrany
parents: 10784
diff changeset
  3213
beUnmodified
vrany
parents: 10784
diff changeset
  3214
vrany
parents: 10784
diff changeset
  3215
    self modifiedChannel value: false.
vrany
parents: 10784
diff changeset
  3216
    reallyModifiedChannel value: false.
vrany
parents: 10784
diff changeset
  3217
    listOriginal := list copy.
vrany
parents: 10784
diff changeset
  3218
vrany
parents: 10784
diff changeset
  3219
    "Created: / 08-10-2011 / 12:51:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
vrany
parents: 10784
diff changeset
  3220
!
vrany
parents: 10784
diff changeset
  3221
vrany
parents: 10784
diff changeset
  3222
isModified
vrany
parents: 10784
diff changeset
  3223
vrany
parents: 10784
diff changeset
  3224
    ^self modified
vrany
parents: 10784
diff changeset
  3225
vrany
parents: 10784
diff changeset
  3226
    "Created: / 08-10-2011 / 12:52:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
vrany
parents: 10784
diff changeset
  3227
!
vrany
parents: 10784
diff changeset
  3228
vrany
parents: 10784
diff changeset
  3229
isReallyModified
vrany
parents: 10784
diff changeset
  3230
vrany
parents: 10784
diff changeset
  3231
    ^self reallyModified
vrany
parents: 10784
diff changeset
  3232
vrany
parents: 10784
diff changeset
  3233
    "Created: / 08-10-2011 / 12:52:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
vrany
parents: 10784
diff changeset
  3234
! !
vrany
parents: 10784
diff changeset
  3235
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3236
!CodeView2::TextView methodsFor:'bit blitting'!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3237
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3238
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
  3239
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3240
    "/ If doing a vertical scroll, optimized Gutter redraw by
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3241
    "/ copying gutter's image...
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3242
    (scrollInProgress and:[aDrawable == self]) ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3243
        "/ Vertical scroll?
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3244
        ((srcY ~= dstY) and:[srcX = dstX]) ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3245
            "/ Do copy in gutter, but not accept-cancel bar!!
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3246
            | x0 |
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3247
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3248
            x0 := gutterView acceptCancelRight.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3249
            gutterView
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3250
                copyFrom:gutterView
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3251
                       x:x0
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3252
                       y:srcY
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3253
                     toX:x0
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3254
                       y:dstY
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3255
                   width:(gutterView width - x0)
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3256
                  height:h
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3257
                   async:false
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3258
        ]
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3259
    ].
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3260
    ^ super
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3261
        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
  3262
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3263
    "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
  3264
! !
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3265
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3266
!CodeView2::TextView methodsFor:'channels'!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3267
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3268
reallyModifiedChannel
13567
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  3269
    "return the valueHolder holding true if text was really modified.
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  3270
     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
  3271
     to trigger another change notification with every keystroke (for the syntaxHighighter).
e708e9c886e8 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13566
diff changeset
  3272
     This may be (now) considered a very bad hack"
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3273
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3274
    ^ reallyModifiedChannel
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3275
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3276
    "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
  3277
!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3278
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3279
reallyModifiedChannel: aValueModel
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3280
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3281
    |prev|
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3282
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3283
    prev := reallyModifiedChannel.
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3284
    prev notNil ifTrue:[
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3285
        gutterView notNil ifTrue:[
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3286
            reallyModifiedChannel removeDependent: gutterView.
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3287
        ]
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3288
    ].
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3289
    reallyModifiedChannel := aValueModel.
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3290
    self setupChannel:aValueModel for:nil withOld:prev.
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3291
    gutterView notNil ifTrue:[
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3292
        reallyModifiedChannel addDependent: gutterView.
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3293
    ]
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3294
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3295
    "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
  3296
! !
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3297
12354
8aac48d63ded changed default for Jan's quick menus to use the ALT button isntead
Claus Gittinger <cg@exept.de>
parents: 12347
diff changeset
  3298
!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
  3299
8aac48d63ded changed default for Jan's quick menus to use the ALT button isntead
Claus Gittinger <cg@exept.de>
parents: 12347
diff changeset
  3300
isQuickMenuModifierPressed
8aac48d63ded changed default for Jan's quick menus to use the ALT button isntead
Claus Gittinger <cg@exept.de>
parents: 12347
diff changeset
  3301
    UserPreferences current codeView2QuickSendersAndImplementorsOnControl ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3302
        ^ 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
  3303
    ].
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3304
    ^ 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
  3305
!
8aac48d63ded changed default for Jan's quick menus to use the ALT button isntead
Claus Gittinger <cg@exept.de>
parents: 12347
diff changeset
  3306
8aac48d63ded changed default for Jan's quick menus to use the ALT button isntead
Claus Gittinger <cg@exept.de>
parents: 12347
diff changeset
  3307
isQuickMenuModifierReleased
8aac48d63ded changed default for Jan's quick menus to use the ALT button isntead
Claus Gittinger <cg@exept.de>
parents: 12347
diff changeset
  3308
    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
  3309
        ^ 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
  3310
    ].
8aac48d63ded changed default for Jan's quick menus to use the ALT button isntead
Claus Gittinger <cg@exept.de>
parents: 12347
diff changeset
  3311
    ^ 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
  3312
! !
8aac48d63ded changed default for Jan's quick menus to use the ALT button isntead
Claus Gittinger <cg@exept.de>
parents: 12347
diff changeset
  3313
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3314
!CodeView2::TextView methodsFor:'drawing'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3315
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3316
backgroundForVisibleLine:visLineNr default:bg
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3317
    | lineNr |
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3318
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3319
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3320
    diffMode ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3321
        lineNr := self visibleLineToListLine:visLineNr.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3322
        (insertedLines notEmptyOrNil and:[insertedLines includes:lineNr]) ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3323
            ^self colorInserted
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3324
        ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3325
        (changedLines notEmptyOrNil and:[changedLines includes:lineNr]) ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3326
            ^self colorChanged
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3327
        ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3328
        (deletedLines notEmptyOrNil and:[deletedLines includes:lineNr]) ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3329
            ^self colorDeleted
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3330
        ].
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3331
    ].
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3332
    ^ bg
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3333
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3334
    "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
  3335
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3336
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3337
drawFromVisibleLine:startVisLineNr to:endVisLineNr with:fg and:bg
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3338
    "draw a visible line range in fg/bg"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3339
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3340
    diffMode ifFalse:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3341
        super drawFromVisibleLine:startVisLineNr to:endVisLineNr with:fg and:bg.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3342
        ^self.
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3343
    ].
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3344
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3345
    startVisLineNr to: endVisLineNr do:[:visLineNr|
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3346
        self drawVisibleLine: visLineNr with:fg and:bg
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3347
    ]
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3348
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3349
    "Modified: / 15-12-1999 / 23:19:39 / cg"
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3350
    "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
  3351
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3352
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3353
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
  3354
    super
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3355
        drawLine:line
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3356
        fromX:x
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3357
        inVisible:visLineNr
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3358
        with:fg
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3359
        and:(self backgroundForVisibleLine:visLineNr default:bg).
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3360
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3361
    "Created: / 05-04-2010 / 12:07:07 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3362
    "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
  3363
    "Modified: / 17-03-2012 / 10:05:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3364
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3365
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3366
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
  3367
    super
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3368
        drawLine:lineStringArg
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3369
        inVisible:visLineNr
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3370
        col:col
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3371
        with:fg
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3372
        and:(self backgroundForVisibleLine:visLineNr default:bg).
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3373
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3374
    "Created: / 05-04-2010 / 11:49:42 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3375
    "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
  3376
    "Modified: / 17-03-2012 / 10:04:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3377
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3378
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3379
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
  3380
    super
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3381
        drawLine:lineStringArg
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3382
        inVisible:visLineNr
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3383
        from:startCol
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3384
        to:endColOrNil
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3385
        with:fg
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3386
        and:(self backgroundForVisibleLine:visLineNr default:bg).
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3387
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3388
    "Created: / 05-04-2010 / 11:54:54 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3389
    "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
  3390
    "Modified: / 17-03-2012 / 10:04:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3391
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3392
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3393
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
  3394
    super
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3395
        drawLine:lineString
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3396
        inVisible:visLineNr
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3397
        from:startCol
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3398
        with:fg
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3399
        and:(self backgroundForVisibleLine:visLineNr default:bg).
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3400
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3401
    "Created: / 05-04-2010 / 11:54:26 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3402
    "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
  3403
    "Modified: / 17-03-2012 / 10:04:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3404
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3405
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3406
drawVisibleLine:visLineNr with:fg and:bg
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3407
    super
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3408
        drawVisibleLine:visLineNr
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3409
        with:fg
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3410
        and:(self backgroundForVisibleLine:visLineNr default:bg).
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3411
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3412
    "Created: / 05-04-2010 / 11:49:42 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3413
    "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
  3414
    "Modified: / 17-03-2012 / 10:04:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3415
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3416
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3417
redrawLines
13374
4185e24179b7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13316
diff changeset
  3418
    "redraw diff lines"
4185e24179b7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13316
diff changeset
  3419
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3420
    |i pom|
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3421
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3422
    diffMode ifFalse:[^self].
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3423
    true ifTrue:[^self].
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3424
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3425
    pom := self hasSelection.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3426
    (pom) ifTrue:[ ^ self. ].
12992
d01df8476209 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12980
diff changeset
  3427
14369
0c65610024eb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14321
diff changeset
  3428
    "/ cg: how about 
0c65610024eb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14321
diff changeset
  3429
    "/      deletedLines select:[:l | l size > 0] thenDo:[...] ?
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3430
    i := 1.
14369
0c65610024eb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14321
diff changeset
  3431
    [ i <= (deletedLines size) ] whileTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3432
        ((deletedLines at:i) > 0) ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3433
            super
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3434
                drawVisibleLine:(deletedLines at:i)
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3435
                with:fgColor
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3436
                and:self colorDeleted.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3437
        ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3438
        i := i + 1.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3439
    ].
14369
0c65610024eb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14321
diff changeset
  3440
0c65610024eb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14321
diff changeset
  3441
    "/ cg: how about 
0c65610024eb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14321
diff changeset
  3442
    "/      insertedLines select:[:l | l size > 0] thenDo:[...] ?
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3443
    i := 1.
14369
0c65610024eb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14321
diff changeset
  3444
    [ i <= (insertedLines size) ] whileTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3445
        ((insertedLines at:i) > 0) ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3446
            super
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3447
                drawVisibleLine:(insertedLines at:i)
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3448
                with:fgColor
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3449
                and:self colorInserted.
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
        i := i + 1.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3452
    ].
14369
0c65610024eb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14321
diff changeset
  3453
0c65610024eb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14321
diff changeset
  3454
    "/ cg: how about 
0c65610024eb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14321
diff changeset
  3455
    "/      changedLines select:[:l | l size > 0] thenDo:[...] ?
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3456
    i := 1.
14369
0c65610024eb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14321
diff changeset
  3457
    [ i <= (changedLines size) ] whileTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3458
        ((changedLines at:i) > 0) ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3459
            super
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3460
                drawVisibleLine:(changedLines at:i)
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3461
                with:fgColor
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3462
                and:self colorChanged.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3463
        ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3464
        i := i + 1.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3465
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3466
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3467
    "Created: / 26-04-2010 / 21:04:31 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3468
    "Modified: / 22-06-2010 / 23:28:30 / Jakub <zelenja7@fel.cvut.cz>"
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  3469
    "Modified: / 17-03-2012 / 09:27:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3470
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3471
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3472
!CodeView2::TextView methodsFor:'editing'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3473
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3474
contentsChanged
13051
0fcebb7687b4 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13039
diff changeset
  3475
    "this one is sent, whenever contents changes its size"
0fcebb7687b4 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13039
diff changeset
  3476
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3477
    super contentsChanged.
13057
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3478
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3479
"/    codeView diffMode ifTrue:[
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3480
"/        changedDiffText ifTrue:[
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3481
"/            codeView recomputeDiff:self.
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3482
"/        ] ifFalse:[
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3483
"/            changedDiffText := true.
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3484
"/        ].  
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3485
"/    ]
c3a27ef337d6 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13051
diff changeset
  3486
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3487
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3488
    "Created: / 22-06-2010 / 23:13:24 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3489
    "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
  3490
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3491
10971
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3492
deleteCharBeforeCursor
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3493
    "delete single character to the left of cursor and move cursor to left"
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3494
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3495
    "BIG FAT WARNING: This method is copied from TextEditView,
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3496
    the fix should be there, but someone smarter should review it
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3497
    before the patch will be pushed up"
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3498
12787
80349f0b6041 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12783
diff changeset
  3499
    |soCol wasOn lineNrAboveCursor ln originalLine prevTab|
10971
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3500
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3501
    wasOn := self hideCursor.
12787
80349f0b6041 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12783
diff changeset
  3502
12783
b52f85ed724e class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12782
diff changeset
  3503
    "JV@2012-01-06: Do not play with autoindent iff cursor is at the very beginning of the line"
12787
80349f0b6041 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12783
diff changeset
  3504
    (autoIndent 
80349f0b6041 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12783
diff changeset
  3505
    and:[cursorCol ~~ 1
80349f0b6041 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12783
diff changeset
  3506
    and:[ (tabPositions includes:cursorCol) 
80349f0b6041 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12783
diff changeset
  3507
    ]]) ifTrue:[
10971
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3508
        prevTab := (self prevTabBefore:cursorCol) max:1.
12782
08209e5c83aa class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12708
diff changeset
  3509
        "JV@2011-12-10: The list can be shorter than cursorLine,
10971
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3510
         trailing because empty lines are not physically in the list."
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3511
        (list size >= cursorLine) ifTrue:[
12787
80349f0b6041 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12783
diff changeset
  3512
            ln := originalLine := (list at:cursorLine) ? ''.
10971
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3513
        ] ifFalse:[        
12787
80349f0b6041 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12783
diff changeset
  3514
            ln := originalLine := ''.
10971
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3515
        ].    
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3516
        ln size < prevTab ifTrue:[
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3517
            ln := ln , (String new:prevTab withAll:Character space).
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3518
        ].
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3519
        (ln copyTo:prevTab) isBlank ifTrue:[
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3520
            (ln copyFrom:prevTab+1) isBlank ifTrue:[
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3521
                cursorCol > prevTab ifTrue:[
12787
80349f0b6041 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12783
diff changeset
  3522
                    self st80EditMode ifTrue:[
80349f0b6041 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12783
diff changeset
  3523
                        "/ ensure that there is no conflict here: st80EditMode will
80349f0b6041 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12783
diff changeset
  3524
                        "/ not allow a cursor position beyond the end of line,
80349f0b6041 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12783
diff changeset
  3525
                        "/ so avoid that cursorLine:col: will force us to the beginning of the line
80349f0b6041 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12783
diff changeset
  3526
                        originalLine size < prevTab ifTrue:[
12797
7428626b7c4a class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12787
diff changeset
  3527
                            self at:cursorLine put:ln
12787
80349f0b6041 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12783
diff changeset
  3528
                        ]
80349f0b6041 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12783
diff changeset
  3529
                    ].
10971
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3530
                    self cursorLine:cursorLine col:prevTab.
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3531
                    wasOn ifTrue:[ self showCursor ].
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3532
                    ^  self
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3533
                ].
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3534
            ] ifFalse:[
12787
80349f0b6041 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12783
diff changeset
  3535
                "/ (ln copyFrom:prevTab+1 to:cursorCol-1) isBlank ifTrue:[
12782
08209e5c83aa class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12708
diff changeset
  3536
                    self deleteFromLine:cursorLine col:prevTab toLine:cursorLine col:cursorCol-1.
08209e5c83aa class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12708
diff changeset
  3537
                    self cursorLine:cursorLine col:prevTab.
08209e5c83aa class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12708
diff changeset
  3538
                    wasOn ifTrue:[ self showCursor ].
08209e5c83aa class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12708
diff changeset
  3539
                    ^  self.
12787
80349f0b6041 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12783
diff changeset
  3540
                "/ ]
10971
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3541
            ]
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3542
        ].
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3543
    ].
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3544
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3545
"/        (autoIndent
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3546
"/    and:[cursorCol  ~~ 1
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3547
"/    and:[cursorLine <= (list size)]])
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3548
"/     ifTrue:[
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3549
"/        soCol := (self leftIndentForLine:cursorLine) + 1.
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3550
"/
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3551
"/        (cursorCol == soCol and:[soCol > 1]) ifTrue:[
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3552
"/            ln := list at:cursorLine.
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3553
"/            (ln notNil and:[(ln indexOfNonSeparatorStartingAt:1) < soCol]) ifTrue:[
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3554
"/                soCol := 1
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3555
"/            ]
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3556
"/        ]
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3557
"/    ] ifFalse:[
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3558
        soCol := 1.
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3559
"/    ].
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3560
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3561
    (cursorCol ~~ soCol and:[cursorCol ~~ 1]) ifTrue:[
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3562
        "
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3563
         somewhere in the middle of a line
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3564
        "
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3565
        self cursorLeft.
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3566
        self deleteCharAtLine:cursorLine col:cursorCol.
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3567
    ] ifFalse:[
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3568
        "
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3569
         at begin of line - merge with previous line;
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3570
         except for the very first line.
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3571
        "
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3572
        (cursorLine == 1) ifFalse:[
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3573
            lineNrAboveCursor := self validateCursorLine:(cursorLine - 1).
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3574
            lineNrAboveCursor < cursorLine ifTrue:[
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3575
                (lineNrAboveCursor > 0 and:[lineNrAboveCursor > list size]) ifTrue:[
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3576
                    "/ we are beyond the end of the text.
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3577
                    "/ move the cursor to the previous line.
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3578
                    self cursorLine:lineNrAboveCursor col:1.
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3579
                ] ifFalse:[
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3580
                    self mergeLine:lineNrAboveCursor removeBlanks:false.
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3581
                ]
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3582
            ]
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3583
        ]
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3584
    ].
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3585
    wasOn ifTrue:[ self showCursor ]
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3586
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3587
    "Modified: / 16-01-1998 / 22:33:04 / cg"
11054
4a047a923805 fix for autoindent: deleting line when at the very beggining of the line
vrany
parents: 10977
diff changeset
  3588
    "Modified: / 06-01-2012 / 12:42:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10971
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3589
!
aee24a2ac4fd Patch for #deleteCharBeforeCursor, should be moved to TextEditView
vrany
parents: 10970
diff changeset
  3590
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3591
getNewOriginText
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3592
    |i size pole pom text helperText|
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3593
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3594
    i := 1.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3595
    pole := list.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3596
    size := list size.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3597
    text:=''.
10877
1ed55c34722d changed:
Claus Gittinger <cg@exept.de>
parents: 10844
diff changeset
  3598
    emptyLines isNil ifTrue:[emptyLines := #()].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3599
    [ i <= size ] whileTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3600
        pom := emptyLines indexOf:i.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3601
        (pom = 0) ifFalse:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3602
            helperText := pole at:i.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3603
            (helperText = '') ifFalse:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3604
                (helperText isNil)ifTrue:[helperText:=''].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3605
                helperText:=helperText,Character cr.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3606
                text := text asString , helperText asString.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3607
            ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3608
        ] ifTrue:[
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3609
            helperText := pole at:i.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3610
            (helperText isNil)ifTrue:[helperText:=''].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3611
            helperText:=helperText,Character cr.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3612
            text := text asString , helperText asString.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3613
        ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3614
    i:=i+1.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3615
    ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3616
^text
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3617
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3618
    "Created: / 22-06-2010 / 22:33:27 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3619
    "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
  3620
    "Modified: / 18-11-2011 / 14:58:22 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3621
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3622
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3623
!CodeView2::TextView methodsFor:'editing-basic'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3624
10708
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3625
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
  3626
    "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
  3627
10731
5904065850c6 Fixed notification in #basicDeleteChars...
vrany
parents: 10728
diff changeset
  3628
    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
  3629
    self notifyLinesModifiedFrom: lineNr to: lineNr.
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3630
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3631
    "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
  3632
!
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3633
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3634
basicDeleteFromLine:startLineNr toLine:endLineNr 
10728
463a51112b1d Possibly redraw-bug fix
vrany
parents: 10723
diff changeset
  3635
463a51112b1d Possibly redraw-bug fix
vrany
parents: 10723
diff changeset
  3636
    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
  3637
    self notifyLinesDeletedFrom:startLineNr to:endLineNr.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3638
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3639
    "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
  3640
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3641
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3642
basicDeleteLineWithoutRedraw:lineNr
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3643
10728
463a51112b1d Possibly redraw-bug fix
vrany
parents: 10723
diff changeset
  3644
    super basicDeleteLineWithoutRedraw:lineNr.
463a51112b1d Possibly redraw-bug fix
vrany
parents: 10723
diff changeset
  3645
    self notifyLinesDeletedFrom: lineNr to: lineNr.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3646
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3647
    "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
  3648
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3649
10708
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3650
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
  3651
    "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
  3652
     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
  3653
10728
463a51112b1d Possibly redraw-bug fix
vrany
parents: 10723
diff changeset
  3654
    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
  3655
    self notifyLinesModifiedFrom: lineNr to: lineNr.
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3656
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3657
    "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
  3658
!
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3659
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3660
basicMergeLine:lineNr removeBlanks:removeBlanks
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3661
10728
463a51112b1d Possibly redraw-bug fix
vrany
parents: 10723
diff changeset
  3662
    super basicMergeLine:lineNr removeBlanks:removeBlanks.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3663
    self notifyLinesDeletedFrom: lineNr + 1 to: lineNr + 1.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3664
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3665
    "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
  3666
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3667
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3668
basicSplitLine:lineNr before:colNr
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3669
10728
463a51112b1d Possibly redraw-bug fix
vrany
parents: 10723
diff changeset
  3670
    super basicSplitLine:lineNr before:colNr.
463a51112b1d Possibly redraw-bug fix
vrany
parents: 10723
diff changeset
  3671
    self notifyLinesInsertedFrom: lineNr +1 to: lineNr + 1.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3672
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3673
    "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
  3674
!
a484c4cad7e0 fix in paste in autoIndent mode
vrany
parents: 10973
diff changeset
  3675
14439
6d02fc4b8ca0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14369
diff changeset
  3676
basicWithoutRedrawInsertLines:lines from:start to:end before:lineNr
6d02fc4b8ca0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14369
diff changeset
  3677
    super basicWithoutRedrawInsertLines:lines from:start to:end before:lineNr.
6d02fc4b8ca0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14369
diff changeset
  3678
    self updateReallyModified.
6d02fc4b8ca0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14369
diff changeset
  3679
!
6d02fc4b8ca0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14369
diff changeset
  3680
6d02fc4b8ca0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14369
diff changeset
  3681
basicWithoutRedrawInsertStringWithoutCRs:aString atLine:lineNr col:colNr
6d02fc4b8ca0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14369
diff changeset
  3682
    super basicWithoutRedrawInsertStringWithoutCRs:aString atLine:lineNr col:colNr.
6d02fc4b8ca0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14369
diff changeset
  3683
    self updateReallyModified.
6d02fc4b8ca0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14369
diff changeset
  3684
!
6d02fc4b8ca0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14369
diff changeset
  3685
10977
a484c4cad7e0 fix in paste in autoIndent mode
vrany
parents: 10973
diff changeset
  3686
insertLines:someText from:start to:end before:lineNr
a484c4cad7e0 fix in paste in autoIndent mode
vrany
parents: 10973
diff changeset
  3687
a484c4cad7e0 fix in paste in autoIndent mode
vrany
parents: 10973
diff changeset
  3688
    "/JV@2011-12-20: HACK, the super implementation should
a484c4cad7e0 fix in paste in autoIndent mode
vrany
parents: 10973
diff changeset
  3689
    "/not use leftIndent...when pasting. Following is a workaround"
14959
b92ba3696c7f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14927
diff changeset
  3690
    self withAutoIndent:false do:[
12787
80349f0b6041 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12783
diff changeset
  3691
        super insertLines:someText from:start to:end before:lineNr.
80349f0b6041 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12783
diff changeset
  3692
    ]
10977
a484c4cad7e0 fix in paste in autoIndent mode
vrany
parents: 10973
diff changeset
  3693
a484c4cad7e0 fix in paste in autoIndent mode
vrany
parents: 10973
diff changeset
  3694
    "Created: / 20-12-2011 / 15:32:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3695
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3696
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3697
!CodeView2::TextView methodsFor:'event handling'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3698
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3699
buttonMotion:button x:x y:y
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3700
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3701
    (codeView buttonMotion:button x:x y:y in: self)
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3702
        ifFalse:[super buttonMotion:button x:x y:y].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3703
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3704
    "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
  3705
    "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
  3706
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3707
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3708
buttonPress: button x: x y: y
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3709
    | ctrlDown  |
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3710
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3711
    (codeView buttonPress:button x:x y:y in: self)
12870
798d611cfd62 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12869
diff changeset
  3712
        ifFalse:[super buttonPress:button x:x y:y].
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3713
    "
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3714
    ((ctrlDown := self sensor ctrlDown) and: [ codeView syntaxElementSelection notNil]) 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3715
        ifTrue: [codeView buttonPressInTextView: button x:x y:y ctrlDown: ctrlDown].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3716
    super 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3717
        buttonPress: button
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3718
        x: x
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3719
        y: y
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3720
    "
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: / 14-02-2010 / 18:12:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3723
    "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
  3724
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3725
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  3726
buttonRelease: button x: x y: y
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  3727
    (codeView buttonRelease:button x:x y:y in: self)
12870
798d611cfd62 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12869
diff changeset
  3728
        ifFalse:[super buttonRelease:button x:x y:y].
12868
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  3729
!
79e40dd37b08 faster quick senders menu.
Claus Gittinger <cg@exept.de>
parents: 12797
diff changeset
  3730
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3731
exposeX:x y:y width:w height:h 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3732
    super 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3733
        exposeX:x
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3734
        y:y
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3735
        width:w
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3736
        height:h.
13374
4185e24179b7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13316
diff changeset
  3737
4185e24179b7 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13316
diff changeset
  3738
    "/ if in diffmode...
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3739
    self redrawLines.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3740
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3741
    "Created: / 05-04-2010 / 10:07:50 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3742
    "Modified: / 02-05-2010 / 18:41:07 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3743
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3744
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3745
keyPress:key x:x y:y
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3746
    (codeView keyPress:key x:x y:y in: self)
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3747
        ifFalse:[super keyPress:key x:x y:y].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3748
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3749
    "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
  3750
    "Modified: / 05-04-2010 / 09:55:52 / Jakub <zelenja7@fel.cvut.cz>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3751
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3752
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3753
keyRelease: key x: x y: y
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3754
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3755
    (codeView keyRelease:key x:x y:y in: self)
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3756
        ifFalse:[super keyRelease:key x:x y:y].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3757
    "
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3758
    (key = #Control_L) ifTrue:
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3759
        [ codeView highlightClear. self redraw ].
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3760
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3761
    ^ super 
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3762
        keyRelease: key
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3763
        x: x
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3764
        y: y
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3765
    "
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3766
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3767
    "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
  3768
    "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
  3769
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3770
10970
dc9da0fc38ef Small improvement for auto-indent (when enabled, not by default)
vrany
parents: 10967
diff changeset
  3771
!CodeView2::TextView methodsFor:'formatting'!
dc9da0fc38ef Small improvement for auto-indent (when enabled, not by default)
vrany
parents: 10967
diff changeset
  3772
dc9da0fc38ef Small improvement for auto-indent (when enabled, not by default)
vrany
parents: 10967
diff changeset
  3773
leftIndentForLine:lineNr
dc9da0fc38ef Small improvement for auto-indent (when enabled, not by default)
vrany
parents: 10967
diff changeset
  3774
dc9da0fc38ef Small improvement for auto-indent (when enabled, not by default)
vrany
parents: 10967
diff changeset
  3775
    | lang |
dc9da0fc38ef Small improvement for auto-indent (when enabled, not by default)
vrany
parents: 10967
diff changeset
  3776
    lang := codeView language.
10973
44ccdbc1fb0a fix in #leftIndentForLine: for view with nil language
vrany
parents: 10972
diff changeset
  3777
    "Bit hacky here, should ask language some language toolbox
44ccdbc1fb0a fix in #leftIndentForLine: for view with nil language
vrany
parents: 10972
diff changeset
  3778
    for formatting helper, that should do it..."
44ccdbc1fb0a fix in #leftIndentForLine: for view with nil language
vrany
parents: 10972
diff changeset
  3779
    (lang notNil and:[lang isSmalltalk]) ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3780
        | line lineNo indent |
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3781
        lineNo := lineNr.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3782
        [lineNo ~~ 1] whileTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3783
            lineNo  := lineNo - 1.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3784
            line := self listAt:lineNo.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3785
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3786
            line notNil ifTrue:[
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3787
                indent := line indexOfNonSeparatorStartingAt:1.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3788
                "beggining od block"
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3789
                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
  3790
                    | 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
  3791
1359a8b36fe9 Fix in #leftIndentForLine: ignore whitespace at the end of the line.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14638
diff changeset
  3792
                    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
  3793
                    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
  3794
                    [ 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
  3795
                        (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
  3796
                            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
  3797
                        ] ifFalse:[ 
14674
71ed373e94bc Oops, fixed stc compilation problem.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14672
diff changeset
  3798
                            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
  3799
                        ].
1359a8b36fe9 Fix in #leftIndentForLine: ignore whitespace at the end of the line.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14638
diff changeset
  3800
                    ].
1359a8b36fe9 Fix in #leftIndentForLine: ignore whitespace at the end of the line.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14638
diff changeset
  3801
                    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
  3802
                        lastChar == $[ ifTrue:[
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3803
                            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
  3804
                        ] ifFalse:[
1359a8b36fe9 Fix in #leftIndentForLine: ignore whitespace at the end of the line.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14638
diff changeset
  3805
                            "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
  3806
                            (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
  3807
                                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
  3808
                            ]
1359a8b36fe9 Fix in #leftIndentForLine: ignore whitespace at the end of the line.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14638
diff changeset
  3809
                        ].
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3810
                    ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3811
                ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3812
                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
  3813
                    ^ indent - 1
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3814
                ]
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3815
            ]
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3816
        ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3817
        ^0.
10970
dc9da0fc38ef Small improvement for auto-indent (when enabled, not by default)
vrany
parents: 10967
diff changeset
  3818
    ].
dc9da0fc38ef Small improvement for auto-indent (when enabled, not by default)
vrany
parents: 10967
diff changeset
  3819
    ^super leftIndentForLine:lineNr
dc9da0fc38ef Small improvement for auto-indent (when enabled, not by default)
vrany
parents: 10967
diff changeset
  3820
dc9da0fc38ef Small improvement for auto-indent (when enabled, not by default)
vrany
parents: 10967
diff changeset
  3821
    "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
  3822
    "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
  3823
! !
dc9da0fc38ef Small improvement for auto-indent (when enabled, not by default)
vrany
parents: 10967
diff changeset
  3824
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3825
!CodeView2::TextView methodsFor:'initialization'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3826
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3827
initialize
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3828
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3829
    super initialize.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3830
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3831
    changedDiffText := true.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3832
    diffMode := false.
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3833
    suppressNotifications := false.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3834
    reallyModifiedChannel := false asValue.
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3835
    scrollInProgress := false.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3836
10630
d59bc761de55 fixed: #sendersMenu:selector:
Claus Gittinger <cg@exept.de>
parents: 10577
diff changeset
  3837
    self enableMotionEvents.
d59bc761de55 fixed: #sendersMenu:selector:
Claus Gittinger <cg@exept.de>
parents: 10577
diff changeset
  3838
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3839
    "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
  3840
    "Modified: / 06-07-2011 / 17:46:31 / jv"
10630
d59bc761de55 fixed: #sendersMenu:selector:
Claus Gittinger <cg@exept.de>
parents: 10577
diff changeset
  3841
    "Modified: / 21-08-2011 / 10:09:29 / cg"
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  3842
    "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
  3843
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3844
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3845
setCodeView: aCodeView2
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3846
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3847
    codeView := aCodeView2.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3848
    codeView addDependent: self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3849
    gutterView := aCodeView2 gutterView.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3850
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3851
    "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
  3852
    "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
  3853
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3854
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3855
setGutterView: aGutterView
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3856
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3857
    self assert: gutterView isNil message:'Attempting to set gutterView twice'.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3858
    gutterView := aGutterView.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3859
    gutterView setTextView: self.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3860
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3861
    "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
  3862
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3863
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3864
!CodeView2::TextView methodsFor:'menu & menu actions'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3865
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3866
accept
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3867
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3868
    super accept.
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3869
    reallyModifiedChannel value: false.
10785
vrany
parents: 10784
diff changeset
  3870
    listOriginal := list copy.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3871
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3872
    "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
  3873
!
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3874
10784
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3875
cancel
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3876
10785
vrany
parents: 10784
diff changeset
  3877
    self list: listOriginal
10784
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3878
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3879
    "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
  3880
!
5a99ae3ce36a Fixes in built-in accept/cancel bar
vrany
parents: 10783
diff changeset
  3881
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3882
editMenu
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3883
11398
84d3987c0155 better search (for variables)
Claus Gittinger <cg@exept.de>
parents: 11393
diff changeset
  3884
    ^ codeView editMenu
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3885
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3886
    "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
  3887
    "Modified (format): / 08-03-2012 / 12:30:22 / cg"
84d3987c0155 better search (for variables)
Claus Gittinger <cg@exept.de>
parents: 11393
diff changeset
  3888
!
84d3987c0155 better search (for variables)
Claus Gittinger <cg@exept.de>
parents: 11393
diff changeset
  3889
84d3987c0155 better search (for variables)
Claus Gittinger <cg@exept.de>
parents: 11393
diff changeset
  3890
searchVariableVisible
84d3987c0155 better search (for variables)
Claus Gittinger <cg@exept.de>
parents: 11393
diff changeset
  3891
    "search variable option in searchbox visible?"
84d3987c0155 better search (for variables)
Claus Gittinger <cg@exept.de>
parents: 11393
diff changeset
  3892
84d3987c0155 better search (for variables)
Claus Gittinger <cg@exept.de>
parents: 11393
diff changeset
  3893
    ^ true
84d3987c0155 better search (for variables)
Claus Gittinger <cg@exept.de>
parents: 11393
diff changeset
  3894
84d3987c0155 better search (for variables)
Claus Gittinger <cg@exept.de>
parents: 11393
diff changeset
  3895
    "Created: / 08-03-2012 / 14:01:51 / cg"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3896
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3897
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3898
!CodeView2::TextView methodsFor:'notification'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3899
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3900
notifyLinesDeletedFrom: startLine to: endLine
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3901
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3902
    self updateReallyModified.
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3903
    suppressNotifications ifTrue:[^self].
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3904
    codeView linesDeletedFrom: startLine to: endLine.
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3905
    suppressNotifications := true.
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3906
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3907
    "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
  3908
    "Modified: / 06-07-2011 / 17:47:05 / jv"
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3909
    "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
  3910
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3911
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3912
notifyLinesInsertedFrom: startLine to: endLine
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3913
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3914
    self updateReallyModified.
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3915
    suppressNotifications ifTrue:[^self].
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3916
    codeView linesInsertedFrom: startLine to: endLine.
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3917
    suppressNotifications := true.
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  3918
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3919
    "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
  3920
    "Modified: / 06-07-2011 / 17:47:20 / jv"
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3921
    "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
  3922
!
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3923
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3924
notifyLinesModifiedFrom: startLine to: endLine
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3925
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3926
    self updateReallyModified.
10708
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3927
    suppressNotifications ifTrue:[^self].
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3928
    codeView linesModifiedFrom: startLine to: endLine.
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3929
    suppressNotifications := true.
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3930
dd79e944752e Fixes for syntax highlighting and code navigation. Now it should work fine debugger.
vrany
parents: 10689
diff changeset
  3931
    "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
  3932
    "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
  3933
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3934
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3935
!CodeView2::TextView methodsFor:'private'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3936
14503
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  3937
isTextDifferentFromOriginalSource
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3938
    "check for modified code by comparing the source against
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  3939
     the codeViews contents.
14503
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  3940
     That's the true modified value 
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  3941
     (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
  3942
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  3943
    |different changedSource originalSource 
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  3944
     lastLineOfChangedSource lastLineOfOriginalSource
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  3945
     originalL changedL checkIfDifferent|
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  3946
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  3947
    "/ 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
  3948
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  3949
    different := false.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  3950
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  3951
    "/ cg: don't do that (collecting original/changedSource); 
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  3952
    "/ 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
  3953
"/        changedSource := list ? #().
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  3954
"/        changedSource := changedSource collect:[:line | line isEmptyOrNil ifTrue:[nil] ifFalse:[line]].
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  3955
"/        [changedSource size > 0 and:[changedSource last isNil]] whileTrue:[
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  3956
"/            changedSource := changedSource removeLast.
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  3957
"/        ].
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  3958
"/
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  3959
"/        originalSource := listOriginal ? #() "self model value ? ''".
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  3960
"/        originalSource := originalSource collect:[:line | line isEmptyOrNil ifTrue:[nil] ifFalse:[line]].
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  3961
"/        [originalSource size > 0 and:[originalSource last isNil]] whileTrue:[
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  3962
"/            originalSource := originalSource removeLast
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  3963
"/        ].
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  3964
"/        originalSource size ~~ changedSource size ifTrue:[
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  3965
"/            modified := true.
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  3966
"/        ] ifFalse:[
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  3967
"/            | i stopIndex |
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  3968
"/
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  3969
"/            i := 1.
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  3970
"/            stopIndex := originalSource size + 1.            
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  3971
"/            [ modified not and:[ i < stopIndex ] ] whileTrue:[
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  3972
"/                | originalL changedL |
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  3973
"/
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  3974
"/                originalL := ((originalSource at: i) ? '') string.
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  3975
"/                changedL :=  ((changedSource  at: i) ? '') string.                
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  3976
"/                originalL ~= changedL ifTrue:[
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  3977
"/                    originalL withoutTrailingSeparators ~= changedL withoutTrailingSeparators ifTrue:[
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  3978
"/                        modified := true.
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  3979
"/                    ]
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  3980
"/                ].
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  3981
"/                i := i + 1.
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  3982
"/            ]
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  3983
"/        ].
14503
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  3984
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  3985
    list size ~~ listOriginal size ifTrue:[
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  3986
        ^ true
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  3987
    ].
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  3988
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  3989
    "/ instead, do everything without collecting a new stringcollection.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  3990
    changedSource := list ? #().
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  3991
    lastLineOfChangedSource := changedSource size.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  3992
    [lastLineOfChangedSource > 0 and:[(changedSource at:lastLineOfChangedSource) isEmptyOrNil]] whileTrue:[
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  3993
        lastLineOfChangedSource := lastLineOfChangedSource - 1.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  3994
    ].        
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  3995
    originalSource := listOriginal ? #().
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  3996
    lastLineOfOriginalSource := originalSource size.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  3997
    [lastLineOfOriginalSource > 0 and:[(originalSource at:lastLineOfOriginalSource) isEmptyOrNil]] whileTrue:[
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  3998
        lastLineOfOriginalSource := lastLineOfOriginalSource - 1.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  3999
    ].        
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4000
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4001
    lastLineOfOriginalSource ~~ lastLineOfChangedSource ifTrue:[
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4002
        ^ true.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4003
    ].
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4004
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4005
    checkIfDifferent :=
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4006
        [:lNr |
14590
45e301c7bb21 Fix in CodeView2::TextView>>isTextDifferentFromOriginalSource
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14549
diff changeset
  4007
14504
5b86ded001c0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14503
diff changeset
  4008
            lNr > originalSource size ifTrue:[
5b86ded001c0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14503
diff changeset
  4009
                originalL := ''.
5b86ded001c0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14503
diff changeset
  4010
            ] ifFalse:[
5b86ded001c0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14503
diff changeset
  4011
                originalL := ((originalSource at: lNr) ? '') string.
5b86ded001c0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14503
diff changeset
  4012
            ].
14511
f6dfead0637f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14506
diff changeset
  4013
            lNr > changedSource size ifTrue:[
14504
5b86ded001c0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14503
diff changeset
  4014
                changedL := ''.
5b86ded001c0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14503
diff changeset
  4015
            ] ifFalse:[
14511
f6dfead0637f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14506
diff changeset
  4016
                changedL :=  ((changedSource at: lNr) ? '') string.                
14504
5b86ded001c0 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14503
diff changeset
  4017
            ].
14503
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4018
            originalL ~= changedL ifTrue:[
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4019
                originalL withoutTrailingSeparators ~= changedL withoutTrailingSeparators ifTrue:[
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4020
                    ^ true.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4021
                ]
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4022
            ].
12347
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4023
        ].
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4024
14503
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4025
    "/ 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
  4026
    "/ 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
  4027
    (cursorLine notNil and:[cursorLine > 0]) ifTrue:[
14503
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4028
        checkIfDifferent value:cursorLine.
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  4029
    ].
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  4030
14503
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4031
    1 to:lastLineOfOriginalSource do:checkIfDifferent.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4032
    ^ false
14590
45e301c7bb21 Fix in CodeView2::TextView>>isTextDifferentFromOriginalSource
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14549
diff changeset
  4033
45e301c7bb21 Fix in CodeView2::TextView>>isTextDifferentFromOriginalSource
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14549
diff changeset
  4034
    "Modified: / 07-07-2014 / 11:11:57 / jv"
14503
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4035
!
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4036
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4037
superEditMenu
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4038
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4039
    ^super editMenu
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4040
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4041
    "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
  4042
!
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
updateReallyModified
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4045
    "check for modified code by comparing the source against
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4046
     the codeViews contents.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4047
     Thats the true modified value (in case user undid its changes,
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4048
     and the displayed text is actually original"
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4049
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4050
    |modified|
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4051
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4052
    reallyModifiedChannel isNil ifTrue:[^self].
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4053
    "JV@2011-10-27: Idea is not to do anything if nobody is
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4054
     interested. Not sure if it is a good idea, thought."
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4055
    reallyModifiedChannel dependents isEmptyOrNil ifTrue:[^self].
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4056
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4057
    "/ 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
  4058
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4059
    modified := self isTextDifferentFromOriginalSource.
9042b4647515 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14495
diff changeset
  4060
10781
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  4061
    reallyModifiedChannel value: modified
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  4062
f9ad38e58704 Added built-in accept/cancel bar.
vrany
parents: 10780
diff changeset
  4063
    "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
  4064
    "Modified: / 08-10-2011 / 11:10:01 / cg"
10844
cbb5f5dd900a Performance fix in CodeView2::TextView>>updateReallyModified
vrany
parents: 10834
diff changeset
  4065
    "Modified: / 28-10-2011 / 09:23:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4066
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4067
11903
5b027fc44ff8 +supportsSyntaxElements query
Claus Gittinger <cg@exept.de>
parents: 11769
diff changeset
  4068
!CodeView2::TextView methodsFor:'queries'!
5b027fc44ff8 +supportsSyntaxElements query
Claus Gittinger <cg@exept.de>
parents: 11769
diff changeset
  4069
13625
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4070
editedClass
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4071
    |cls|
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4072
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4073
    (cls := codeView classHolder value) notNil ifTrue:[
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4074
        ^ cls
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4075
    ].
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4076
    ^ super editedClass
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4077
!
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4078
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4079
editedMethod
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4080
    |cls|
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4081
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4082
    (cls := codeView methodHolder value) notNil ifTrue:[
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4083
        ^ cls
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4084
    ].
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4085
    ^ super editedMethod
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4086
!
33f926cd64ff class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13587
diff changeset
  4087
11903
5b027fc44ff8 +supportsSyntaxElements query
Claus Gittinger <cg@exept.de>
parents: 11769
diff changeset
  4088
supportsSyntaxElements
14506
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4089
    "syntax elements are a byproduct of the syntax highlighter;
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4090
     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
  4091
     and parts of a keyword message's selector.
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4092
     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
  4093
     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
  4094
     deal correctly with same-named blockvars of different blocks"
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4095
11903
5b027fc44ff8 +supportsSyntaxElements query
Claus Gittinger <cg@exept.de>
parents: 11769
diff changeset
  4096
    ^ true
12980
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4097
!
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4098
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4099
syntaxElementAtPosition:position
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4100
    "is there is a syntax element at position?
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4101
     If so, return the element; otherwise, return nil"
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4102
14506
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4103
    |syntaxElements el|
12980
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4104
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4105
    syntaxElements := codeView syntaxElements.
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4106
    syntaxElements isEmptyOrNil ifTrue:[^ nil].
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4107
    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
  4108
    el isNil ifTrue:[^ nil].
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4109
    ^ el.
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4110
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4111
    "Created: / 08-03-2012 / 14:21:52 / cg"
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4112
!
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4113
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4114
syntaxElementForSelectedVariable
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4115
    "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
  4116
     If so, return the element; otherwise, return nil"
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4117
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4118
    |element startPosition endPosition|
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4119
14506
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4120
    self selectionAsString isEmptyOrNil ifTrue:[
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4121
        "/ ^ nil.
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4122
        element := self syntaxElementForVariableUnderCursor.
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4123
    ] ifFalse:[
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4124
        startPosition := self characterPositionOfLine:selectionStartLine col:selectionStartCol.
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4125
        endPosition := self characterPositionOfLine:selectionEndLine col:selectionEndCol.
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4126
        element := self syntaxElementAtPosition:startPosition.
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4127
    ].
12980
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4128
    element isNil ifTrue:[^ nil].
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4129
    (element start = startPosition and:[element stop = endPosition]) ifFalse:[^ nil].
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4130
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4131
    element isNil ifTrue:[^ nil].
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4132
    element isVariableOrSelf ifFalse:[^ nil].
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4133
    ^ element
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4134
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4135
    "Created: / 08-03-2012 / 14:21:15 / cg"
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4136
!
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4137
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4138
syntaxElementForSelectorUnderCursor
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4139
    "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
  4140
     If so, return the element; otherwise, return nil"
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4141
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4142
    |elementUnderCursor |
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4143
14506
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4144
    elementUnderCursor := self syntaxElementUnderCursor.
12980
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4145
    elementUnderCursor isNil ifTrue:[^ nil].
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4146
    elementUnderCursor isSelector ifFalse:[^ nil].
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4147
    ^ elementUnderCursor.
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4148
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4149
    "Created: / 08-03-2012 / 12:44:03 / cg"
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4150
!
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4151
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4152
syntaxElementForVariableUnderCursor
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4153
    "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
  4154
     If so, return the element; otherwise, return nil"
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
    |elementUnderCursor |
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4157
14506
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4158
    elementUnderCursor := self syntaxElementUnderCursor.
12980
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4159
    elementUnderCursor isNil ifTrue:[^ nil].
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4160
    elementUnderCursor isVariableOrSelf ifFalse:[^ nil].
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4161
    ^ elementUnderCursor.
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4162
78f5bc887da1 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 12968
diff changeset
  4163
    "Created: / 08-03-2012 / 12:44:03 / cg"
14506
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4164
!
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4165
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4166
syntaxElementUnderCursor
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4167
    "is there is a syntax element under the cursor?
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4168
     If so, return the element; otherwise, return nil"
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4169
1a4bcb9cf4fb class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14504
diff changeset
  4170
    ^ self syntaxElementAtPosition:(self characterPositionOfCursor).
11903
5b027fc44ff8 +supportsSyntaxElements query
Claus Gittinger <cg@exept.de>
parents: 11769
diff changeset
  4171
! !
5b027fc44ff8 +supportsSyntaxElements query
Claus Gittinger <cg@exept.de>
parents: 11769
diff changeset
  4172
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4173
!CodeView2::TextView methodsFor:'scrolling'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4174
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  4175
basicScrollTo:anOrigin redraw:doRedraw
13942
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  4176
    | savedScrollIProgress |
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  4177
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  4178
    savedScrollIProgress := scrollInProgress. 
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  4179
    scrollInProgress := true.
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  4180
    [
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  4181
        super scrollTo:anOrigin redraw:doRedraw
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  4182
    ] ensure:[ 
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  4183
        scrollInProgress := savedScrollIProgress. 
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  4184
    ].
30541c144f9f class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13936
diff changeset
  4185
    "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
  4186
!
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  4187
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4188
originChanged:delta
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4189
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4190
    super originChanged:delta.
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4191
13105
4e02e8dc7d4b class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 13098
diff changeset
  4192
    "/ gutterView invalidate.
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4193
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4194
    "Created: / 07-12-2009 / 21:50:49 / Jindra <a>"
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4195
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4196
13813
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  4197
scrollTo:anOrigin redraw:doRedraw
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  4198
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  4199
    codeView scrollTo:anOrigin redraw:doRedraw in: self.
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  4200
    self basicScrollTo:anOrigin redraw:doRedraw
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  4201
576b071baeea merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13625
diff changeset
  4202
    "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
  4203
    "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
  4204
    "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
  4205
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4206
10224
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4207
!CodeView2::TextView methodsFor:'undo & again'!
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4208
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4209
nonUndoableDo: aBlock
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4210
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4211
    super nonUndoableDo: aBlock.
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4212
    suppressNotifications := false.
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4213
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4214
    "Created: / 06-07-2011 / 17:48:27 / jv"
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4215
!
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4216
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4217
undoableDo: aBlock info: into
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4218
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4219
    super undoableDo: aBlock info: into.
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4220
    suppressNotifications := false.
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4221
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4222
    "Created: / 06-07-2011 / 17:48:49 / jv"
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4223
! !
eb799692952b More improvements in BreakpointService
vrany
parents: 10072
diff changeset
  4224
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4225
!CodeView2 class methodsFor:'documentation'!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4226
10293
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  4227
version
15130
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
  4228
    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeView2.st,v 1.182 2015-01-31 02:00:20 cg Exp $'
10293
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  4229
!
7dec857f35f6 added: #debugMenu
Claus Gittinger <cg@exept.de>
parents: 10290
diff changeset
  4230
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4231
version_CVS
15130
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
  4232
    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeView2.st,v 1.182 2015-01-31 02:00:20 cg Exp $'
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4233
!
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4234
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4235
version_SVN
15130
1e1510171b15 class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 14997
diff changeset
  4236
    ^ '$Id: Tools__CodeView2.st,v 1.182 2015-01-31 02:00:20 cg Exp $'
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4237
! !
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4238
12347
21f8dcbabcbc class: Tools::CodeView2
Claus Gittinger <cg@exept.de>
parents: 11988
diff changeset
  4239
9985
76318fc4fb70 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  4240
CodeView2 initialize!