NewChangesBrowser.st
author Claus Gittinger <cg@exept.de>
Sat, 10 Jul 1999 12:43:40 +0200
changeset 2250 dc7a9ae0d6bb
parent 1938 ce74385df068
child 2740 6b8666356abb
permissions -rw-r--r--
*** empty log message ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
     1
ToolApplicationModel subclass:#NewChangesBrowser
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
     2
	instanceVariableNames:'changes changeFileName skipSignal changeFileTimestamp
ffea21e237ed revised
tz
parents: 1545
diff changeset
     3
		autoUpdateBlock filterCompletionBlock editingClassSource modified'
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
     4
	classVariableNames:'AutoUpdate CompressSnapshotInfo CategoryColumn DeltaInfoColumn
1568
b37202441764 revised
tz
parents: 1556
diff changeset
     5
		TypeColumn TimeStampColumn PositionsColumn PrivateAsSeparate'
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
     6
	poolDictionaries:''
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
     7
	category:'Interface-Browsers'
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
     8
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
     9
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    10
Object subclass:#Change
1568
b37202441764 revised
tz
parents: 1556
diff changeset
    11
	instanceVariableNames:'delta string type timeStamp category chunk lastPosition position
b37202441764 revised
tz
parents: 1556
diff changeset
    12
		className followUp'
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    13
	classVariableNames:''
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    14
	poolDictionaries:''
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    15
	privateIn:NewChangesBrowser
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    16
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    17
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    18
!NewChangesBrowser class methodsFor:'documentation'!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    19
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    20
documentation
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    21
"
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    22
    The future Changes Browser.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    23
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    24
    [start with:]
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
    25
	NewChangesBrowser open
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
    26
	NewChangesBrowser openOnFile:aFileName
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    27
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    28
    [author:]
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
    29
	Thomas Zwick, eXept Software AG
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    30
"
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    31
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    32
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    33
! !
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    34
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    35
!NewChangesBrowser class methodsFor:'instance creation'!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    36
1938
ce74385df068 added #openOn:;
Claus Gittinger <cg@exept.de>
parents: 1888
diff changeset
    37
openOn:aFileName
ce74385df068 added #openOn:;
Claus Gittinger <cg@exept.de>
parents: 1888
diff changeset
    38
    "opens a Changes Browser with the changes of the aFileName"
ce74385df068 added #openOn:;
Claus Gittinger <cg@exept.de>
parents: 1888
diff changeset
    39
ce74385df068 added #openOn:;
Claus Gittinger <cg@exept.de>
parents: 1888
diff changeset
    40
    ^self openOnFile:aFileName
ce74385df068 added #openOn:;
Claus Gittinger <cg@exept.de>
parents: 1888
diff changeset
    41
ce74385df068 added #openOn:;
Claus Gittinger <cg@exept.de>
parents: 1888
diff changeset
    42
    "Created: / 17.10.1998 / 14:41:28 / cg"
ce74385df068 added #openOn:;
Claus Gittinger <cg@exept.de>
parents: 1888
diff changeset
    43
!
ce74385df068 added #openOn:;
Claus Gittinger <cg@exept.de>
parents: 1888
diff changeset
    44
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    45
openOnFile:aFileName
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
    46
    "opens a Changes Browser with the changes of the aFileName"
ffea21e237ed revised
tz
parents: 1545
diff changeset
    47
ffea21e237ed revised
tz
parents: 1545
diff changeset
    48
    ^self new 
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
    49
	changeFileName:aFileName;
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
    50
	open
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    51
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    52
! !
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    53
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    54
!NewChangesBrowser class methodsFor:'accessing'!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    55
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    56
autoSelectNext
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
    57
    "returns true here, makes a Delete operation automatically
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    58
     select the next change"
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    59
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    60
    ^ true
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    61
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    62
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    63
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    64
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    65
label
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
    66
    "returns my label"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    67
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    68
    ^'Changes Browser'
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    69
! !
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    70
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    71
!NewChangesBrowser class methodsFor:'help specs'!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    72
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    73
helpSpec
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    74
    "This resource specification was automatically generated
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    75
     by the UIHelpTool of ST/X."
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    76
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    77
    "Do not manually edit this!! If it is corrupted,
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    78
     the UIHelpTool may not be able to read the specification."
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    79
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    80
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    81
     UIHelpTool openOnClass:NewChangesBrowser    
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    82
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    83
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    84
    <resource: #help>
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    85
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    86
    ^super helpSpec addPairsFrom:#(
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    87
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    88
#applyAll
1650
c0c3fb153fc7 help texts;
Claus Gittinger <cg@exept.de>
parents: 1647
diff changeset
    89
'Apply all changes.'
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    90
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    91
#applyForClassToEnd
1650
c0c3fb153fc7 help texts;
Claus Gittinger <cg@exept.de>
parents: 1647
diff changeset
    92
'Apply changes to the end which affect this class.'
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    93
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    94
#applyFromLastSnapshot
1650
c0c3fb153fc7 help texts;
Claus Gittinger <cg@exept.de>
parents: 1647
diff changeset
    95
'Apply changes from the last snapshot to the end.'
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    96
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    97
#applyLine
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    98
'Apply the selected change.'
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
    99
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   100
#applyToEnd
1650
c0c3fb153fc7 help texts;
Claus Gittinger <cg@exept.de>
parents: 1647
diff changeset
   101
'Apply all changes from the selected one to the end.'
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   102
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
   103
#deleteAll
1650
c0c3fb153fc7 help texts;
Claus Gittinger <cg@exept.de>
parents: 1647
diff changeset
   104
'Deletes all changes.'
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
   105
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   106
#deleteCompress
1650
c0c3fb153fc7 help texts;
Claus Gittinger <cg@exept.de>
parents: 1647
diff changeset
   107
'Deletes all obsolete changes.'
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   108
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   109
#deleteCompressForClass
1650
c0c3fb153fc7 help texts;
Claus Gittinger <cg@exept.de>
parents: 1647
diff changeset
   110
'Deletes obsolete changes for this class, leaving the last one.'
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   111
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   112
#deleteForClassToEnd
1650
c0c3fb153fc7 help texts;
Claus Gittinger <cg@exept.de>
parents: 1647
diff changeset
   113
'Deletes changes for this class from the selection to the end.'
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   114
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   115
#deleteLine
1650
c0c3fb153fc7 help texts;
Claus Gittinger <cg@exept.de>
parents: 1647
diff changeset
   116
'Deletes the selected change.'
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   117
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   118
#deleteToEnd
1650
c0c3fb153fc7 help texts;
Claus Gittinger <cg@exept.de>
parents: 1647
diff changeset
   119
'Deletes changes from the selected one to the end.'
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   120
1556
tz
parents: 1554
diff changeset
   121
#fileLoad
1650
c0c3fb153fc7 help texts;
Claus Gittinger <cg@exept.de>
parents: 1647
diff changeset
   122
'Opens a dialog for selecting and loading another changes file.'
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   123
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   124
#fileReload
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   125
'Reloads the changes file (undo your modifications).'
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   126
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   127
#fileSave
1650
c0c3fb153fc7 help texts;
Claus Gittinger <cg@exept.de>
parents: 1647
diff changeset
   128
'Saves the list of changes into the current changes file.'
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   129
1556
tz
parents: 1554
diff changeset
   130
#filterField
1650
c0c3fb153fc7 help texts;
Claus Gittinger <cg@exept.de>
parents: 1647
diff changeset
   131
'Matching patterns filtering the changes (separate patterns by blanks).'
1556
tz
parents: 1554
diff changeset
   132
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   133
#settingsAutoUpdate
1650
c0c3fb153fc7 help texts;
Claus Gittinger <cg@exept.de>
parents: 1647
diff changeset
   134
'Toggle automatic update.'
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   135
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   136
#settingsColumns
1650
c0c3fb153fc7 help texts;
Claus Gittinger <cg@exept.de>
parents: 1647
diff changeset
   137
'Configure which columns are shown in the list.'
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   138
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   139
#settingsColumnsCategory
1650
c0c3fb153fc7 help texts;
Claus Gittinger <cg@exept.de>
parents: 1647
diff changeset
   140
'Toggle display of the changes category in the list.'
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   141
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   142
#settingsColumnsDeltaInfo
1650
c0c3fb153fc7 help texts;
Claus Gittinger <cg@exept.de>
parents: 1647
diff changeset
   143
'Toggle display of the delta-info in the list.'
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   144
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   145
#settingsColumnsPosition
1650
c0c3fb153fc7 help texts;
Claus Gittinger <cg@exept.de>
parents: 1647
diff changeset
   146
'Togle display of the changes file-position in the list.'
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   147
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   148
#settingsColumnsTimeStamp
1650
c0c3fb153fc7 help texts;
Claus Gittinger <cg@exept.de>
parents: 1647
diff changeset
   149
'Toggle display of the changes time stamp in the list.'
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   150
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   151
#settingsColumnsType
1650
c0c3fb153fc7 help texts;
Claus Gittinger <cg@exept.de>
parents: 1647
diff changeset
   152
'Toggle display of the change-type in the list.'
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   153
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
   154
#settingsPrivateAsSeparate
1650
c0c3fb153fc7 help texts;
Claus Gittinger <cg@exept.de>
parents: 1647
diff changeset
   155
'Toggle if changes for private private are included when applying, deleting, or compressing for a class.'
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
   156
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   157
#testCompareWithCurrentVersion
1650
c0c3fb153fc7 help texts;
Claus Gittinger <cg@exept.de>
parents: 1647
diff changeset
   158
'Opens a info dialog showing the difference between the changes code and the method current code.'
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   159
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   160
#testFindLastSnapshot
1650
c0c3fb153fc7 help texts;
Claus Gittinger <cg@exept.de>
parents: 1647
diff changeset
   161
'Searches backward for the latest snapshot entry.'
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   162
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   163
#testFindNextSnapshot
1650
c0c3fb153fc7 help texts;
Claus Gittinger <cg@exept.de>
parents: 1647
diff changeset
   164
'Searches forward for the next snapshot entry.'
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   165
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   166
)
1650
c0c3fb153fc7 help texts;
Claus Gittinger <cg@exept.de>
parents: 1647
diff changeset
   167
c0c3fb153fc7 help texts;
Claus Gittinger <cg@exept.de>
parents: 1647
diff changeset
   168
    "Modified: / 19.5.1998 / 17:59:39 / cg"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   169
! !
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   170
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   171
!NewChangesBrowser class methodsFor:'image specs'!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   172
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   173
applyFromLastSnapshotIcon
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   174
    "This resource specification was automatically generated
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   175
     by the ImageEditor of ST/X."
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   176
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   177
    "Do not manually edit this!! If it is corrupted,
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   178
     the ImageEditor may not be able to read the specification."
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   179
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   180
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   181
     ImageEditor openOnClass:self andSelector:#applyFromLastSnapshotIcon
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   182
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   183
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   184
    <resource: #image>
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   185
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   186
    ^Icon
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   187
	constantNamed:#'NewChangesBrowser applyFromLastSnapshotIcon'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   188
	ifAbsentPut:[(Depth4Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@QDQ<@@@@@@@@@@AH"H@@@@@@@@@@@D"H @@@@@@@@@@@RH"@@@@@@@@@@@AH"H@@@@@@@@@@@@@@@@@@@@@@@@@<@@@@@@@@@@@@@@@@@@@@@@@;.;.; @@@@@@@@C.;.;.@@@@@@@@@@@@@@8@@N@@@@C?????C @@@N@@@O????<@@@8@@@@@@@@@C0@@@@8@@O????<O@@C @@@@?????0@@@@C @@@@@@@O@@@N@@@@DQDQDP<@C @@@@@_??DQ@@@@@@@@@A????D@@@@@@@@@DQDQDP@@@@C @@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 255 255 255 0 0 0 255 0 0 0 255 0 255 255 255 255 0 255 0 255 127 0 0 0 127 0 0 0 127 0 127 127 127 127 0 127 0 127 127 127 127 170 170 170]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@C<@@C<@@C<@@C<@@C<@@A<@@D@@?<@@?<@@?<LC?<\C?<\C?<8O?08O?10O?10??C ??[@??_@?<^@?<_@?<_@') ; yourself); yourself]!
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   189
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   190
applyIcon
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   191
    "This resource specification was automatically generated
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   192
     by the ImageEditor of ST/X."
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   193
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   194
    "Do not manually edit this!! If it is corrupted,
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   195
     the ImageEditor may not be able to read the specification."
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   196
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   197
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   198
     ImageEditor openOnClass:self andSelector:#applyIcon
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   199
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   200
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   201
    <resource: #image>
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   202
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   203
    ^Icon
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   204
	constantNamed:#'NewChangesBrowser applyIcon'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   205
	ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'UUUUUUUPUUUUUUUPUUUUUUU[UUUUUUUPP@@@@@@QQUUUUUTPQUUUUUTVQ**UUUTPQUUUUUTPQUUUUUTXQ***UUTPQ**UUUTPQ*****TPQ***%UTPQ****)TPQUUUUUTPQUUUUUTUP@@@@@@PUUUUUUUPUUUUUUUPUUUUUUUPUUUUUUUP') ; colorMapFromArray:#[0 0 0 255 255 255 170 170 170 255 0 0]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8_??8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]!
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   206
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   207
applyToEndIcon
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   208
    "This resource specification was automatically generated
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   209
     by the ImageEditor of ST/X."
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   210
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   211
    "Do not manually edit this!! If it is corrupted,
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   212
     the ImageEditor may not be able to read the specification."
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   213
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   214
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   215
     ImageEditor openOnClass:self andSelector:#applyToEndIcon
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   216
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   217
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   218
    <resource: #image>
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   219
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   220
    ^Icon
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   221
	constantNamed:#'NewChangesBrowser applyToEndIcon'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   222
	ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@B** H@@@B** H@@@@@@ @@@@**( @@@@**(@J@@@@@H@@@@O??H@@@@O??@@@@@@@C@H@@C??3@@ @C??0@ @@@@@0@B@@UUT0B@K@UUT@@H@@@@D@H@CEUUDB@@JG?U@@@@MG?=@@@@@EUU@@B@@@@@@@@@H') ; colorMapFromArray:#[0 0 0 255 255 255 127 127 127 170 170 170]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@C?0@C?0@C?0@O?0@O?0@O?0@??@@??@@??LC?<\C?<\C?<8O?08O?10O?10??C ??[@??_@?<^@?<_@?<_@') ; yourself); yourself]!
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   223
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   224
compressIcon
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   225
    "This resource specification was automatically generated
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   226
     by the ImageEditor of ST/X."
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   227
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   228
    "Do not manually edit this!! If it is corrupted,
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   229
     the ImageEditor may not be able to read the specification."
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   230
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   231
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   232
     ImageEditor openOnClass:self andSelector:#compressIcon
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   233
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   234
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   235
    <resource: #image>
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   236
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   237
    ^Icon
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   238
	constantNamed:#'NewChangesBrowser compressIcon'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   239
	ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@????<@@@:***(@@@8@@@8@@@8@@@8@@@@@@@8@@@@@@@8A@@@@@@8@@:**0@8HC**+@@8@@@@@@@8H@@@@@@8@@@@@@@8@@@@@@@8@@@@@@@8@@C????8@@C****(@@@@@@@@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@') ; colorMapFromArray:#[0 0 0 124 124 124 170 170 170 255 255 255]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@??0A??8A??8A??8A8A8G>A8@@A8G?98O?18_?!!8??A8@@A8G>A8@0A8C??8C??8C??8C??0@0@@D2@@G>@@D2@@') ; yourself); yourself]!
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   240
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   241
deleteIcon
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   242
    "This resource specification was automatically generated
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   243
     by the ImageEditor of ST/X."
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   244
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   245
    "Do not manually edit this!! If it is corrupted,
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   246
     the ImageEditor may not be able to read the specification."
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   247
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   248
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   249
     ImageEditor openOnClass:self andSelector:#deleteIcon
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   250
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   251
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   252
    <resource: #image>
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   253
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   254
    ^Icon
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   255
	constantNamed:#'NewChangesBrowser deleteIcon'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   256
	ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@AUUUU@@OA??UU@@@AUUUU@@@AUUUU@B@A???U@H@A??5U@@@A???0@@@AUUUB@B@@@@@@@@@@@@@A@BK@@@@A_:@@@@@AO2G@@@@AL2@@@@@AL2C@@@@AL2@@@@@AL2@@@@@AL2H@@@@AL2@@@@@A\:@@@@@H_8 @@@@@@@H') ; colorMapFromArray:#[0 0 0 255 255 255 127 127 127 170 170 170]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'_?<@_?<@_?<P_?<P_?<X_?<X_?<H_? H_?O<_?XL@@_<@@_<@@_<@@_<@@_<@@_<@@_<@@_<@@_<@@_<@@_<@@G0') ; yourself); yourself]!
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   257
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   258
deleteToEndIcon
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   259
    "This resource specification was automatically generated
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   260
     by the ImageEditor of ST/X."
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   261
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   262
    "Do not manually edit this!! If it is corrupted,
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   263
     the ImageEditor may not be able to read the specification."
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   264
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   265
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   266
     ImageEditor openOnClass:self andSelector:#deleteToEndIcon
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   267
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   268
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   269
    <resource: #image>
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   270
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   271
    ^Icon
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   272
	constantNamed:#'NewChangesBrowser deleteToEndIcon'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   273
	ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@B** @@O@B** @@@@@@@ @@@@??< @B@@??<@@H@@@@L@@@@EUUL@@@@G?U@B@B@G?=@@@@@EUU@A@BK@@@@A_:@@@@@AO2G@@@@AL2@@@@@AL2C@@@@AL2@@@@@AL2@@@@@AL2H@@@@AL2@@@@@A\:@@@@@H_8 @@@@@@@H') ; colorMapFromArray:#[0 0 0 255 255 255 127 127 127 170 170 170]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'C?0@C?0@C?0PO?0PO?0XO?0X??@H??@H??O<?<XL?<_<?<_<@@_<@@_<@@_<@@_<@@_<@@_<@@_<@@_<@@_<@@G0') ; yourself); yourself]!
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   274
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   275
findLastSnapshotIcon
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   276
    "This resource specification was automatically generated
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   277
     by the ImageEditor of ST/X."
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   278
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   279
    "Do not manually edit this!! If it is corrupted,
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   280
     the ImageEditor may not be able to read the specification."
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   281
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   282
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   283
     ImageEditor openOnClass:self andSelector:#findLastSnapshotIcon
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   284
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   285
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   286
    <resource: #image>
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   287
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   288
    ^Icon
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   289
	constantNamed:#'NewChangesBrowser findLastSnapshotIcon'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   290
	ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@EUUUW@A@F***(@@@F***(@@@F***(@@@F***(@@@F***(@@@F***(@@@F***(@A@F***(@M@F***(@H@F***(@@@F***(@@@F***(@I@L@@@@@@@@@@@@@A@P@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@') ; colorMapFromArray:#[0 0 0 255 255 255 255 0 0 170 170 170]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'C??@C??@C??@C??@C??@C??@C??@C??@C??@C??@C??@C??@C??@C??B@@@B@C@B@G B@O0@@_8@@G @@G @@G @') ; yourself); yourself]!
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   291
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   292
findNextSnapshotIcon
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   293
    "This resource specification was automatically generated
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   294
     by the ImageEditor of ST/X."
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   295
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   296
    "Do not manually edit this!! If it is corrupted,
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   297
     the ImageEditor may not be able to read the specification."
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   298
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   299
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   300
     ImageEditor openOnClass:self andSelector:#findNextSnapshotIcon
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   301
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   302
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   303
    <resource: #image>
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   304
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   305
    ^Icon
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   306
	constantNamed:#'NewChangesBrowser findNextSnapshotIcon'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   307
	ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@DA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@B@@@@@@@@@@@@@@@E@@@@@@@@@EUUUW@N@F***(@@@F***(@@@F***(@@@F***(@@@F***(@@@F***(@@@V***(@H@F***(@@@F***(@@@F***(@@@F***(@@@F***(@@@L@@@@@@') ; colorMapFromArray:#[0 0 0 255 255 255 255 0 0 170 170 170]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@G @@G @@G @@_8@@O0@@G @@C@@@@@@C??@C??@C??@C??@C??@C??BC??BC??BC??BC??@C??@C??@C??@C??@') ; yourself); yourself]! !
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   308
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   309
!NewChangesBrowser class methodsFor:'interface specs'!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   310
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   311
windowSpec
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   312
    "This resource specification was automatically generated
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   313
     by the UIPainter of ST/X."
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   314
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   315
    "Do not manually edit this!! If it is corrupted,
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   316
     the UIPainter may not be able to read the specification."
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   317
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   318
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   319
     UIPainter new openOnClass:NewChangesBrowser andSelector:#windowSpec
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   320
     NewChangesBrowser new openInterface:#windowSpec
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   321
     NewChangesBrowser open
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   322
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   323
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   324
    <resource: #canvas>
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   325
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   326
    ^
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   327
     
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   328
       #(#FullSpec
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   329
	  #window: 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   330
	   #(#WindowSpec
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   331
	      #name: 'Changes Browser'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   332
	      #layout: #(#LayoutFrame 53 0 92 0 687 0 583 0)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   333
	      #label: 'Changes Browser'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   334
	      #min: #(#Point 10 10)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   335
	      #max: #(#Point 1152 900)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   336
	      #bounds: #(#Rectangle 53 92 688 584)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   337
	      #menu: #menu
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   338
	      #usePreferredExtent: false
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   339
	  )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   340
	  #component: 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   341
	   #(#SpecCollection
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   342
	      #collection: 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   343
	       #(
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   344
		 #(#MenuPanelSpec
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   345
		    #name: 'menuToolbarView'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   346
		    #layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 32 0)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   347
		    #menu: #menuToolbar
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   348
		    #style: #(#FontDescription #helvetica #medium #roman 10)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   349
		    #showSeparatingLines: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   350
		)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   351
		 #(#VariableVerticalPanelSpec
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   352
		    #name: 'variableVerticalPanel1'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   353
		    #layout: #(#LayoutFrame 0 0.0 34 0 0 1.0 -26 1.0)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   354
		    #component: 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   355
		     #(#SpecCollection
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   356
			#collection: 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   357
			 #(
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   358
			   #(#ViewSpec
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   359
			      #name: 'Box1'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   360
			      #component: 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   361
			       #(#SpecCollection
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   362
				  #collection: 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   363
				   #(
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   364
				     #(#DataSetSpec
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   365
					#name: 'changesDataSetView'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   366
					#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 -28 1.0)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   367
					#model: #selectionOfChange
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   368
					#menu: #menuTable
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   369
					#hasHorizontalScrollBar: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   370
					#hasVerticalScrollBar: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   371
					#miniScrollerHorizontal: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   372
					#dataList: #listOfChanges
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   373
					#useIndex: false
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   374
					#has3Dsepartors: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   375
					#doubleClickSelector: #doBrowseClass
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   376
					#columnHolder: #listOfChangeColumns
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   377
					#valueChangeSelector: #changeSelected:
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   378
				    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   379
				     #(#ViewSpec
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   380
					#name: 'Box2'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   381
					#layout: #(#LayoutFrame 0 0.0 -28 1 0 1.0 0 1.0)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   382
					#component: 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   383
					 #(#SpecCollection
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   384
					    #collection: 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   385
					     #(
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   386
					       #(#LabelSpec
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   387
						  #name: 'filterLabel'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   388
						  #layout: #(#AlignmentOrigin 37 0 13 0.0 1 0.5)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   389
						  #label: 'Filter:'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   390
						  #style: #(#FontDescription #helvetica #medium #roman 10)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   391
						  #adjust: #left
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   392
					      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   393
					       #(#InputFieldSpec
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   394
						  #name: 'filterField'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   395
						  #layout: #(#LayoutFrame 41 0.0 3 0 250 0 25 0)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   396
						  #activeHelpKey: #filterField
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   397
						  #model: #valueOfFilter
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   398
						  #immediateAccept: false
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   399
					      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   400
					       #(#ProgressIndicatorSpec
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   401
						  #name: 'readProgressIndicator'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   402
						  #layout: #(#LayoutFrame 41 0 3 0 250 0 25 0)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   403
						  #model: #valueOfReadProgress
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   404
						  #foregroundColor: #(#Color 0.0 60.0 60.0)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   405
					      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   406
					       #(#ActionButtonSpec
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   407
						  #name: 'allButton'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   408
						  #layout: #(#LayoutFrame 258 0.0 2 0.0 268 0 13 0)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   409
						  #label: ' '
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   410
						  #model: #doFilter:
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   411
					      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   412
					       #(#LabelSpec
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   413
						  #name: 'allLabel'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   414
						  #layout: #(#LayoutFrame 273 0 0 0.0 310 0 14 0)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   415
						  #label: '= all'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   416
						  #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   417
						  #style: #(#FontDescription #helvetica #medium #roman 10)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   418
						  #adjust: #left
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   419
					      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   420
					       #(#ActionButtonSpec
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   421
						  #name: 'methodChangesButton'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   422
						  #layout: #(#LayoutFrame 359 0.0 2 0.0 369 0 13 0)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   423
						  #label: ' '
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   424
						  #backgroundColor: #(#Color 100.0 100.0 100.0)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   425
						  #model: #doFilterType:
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   426
						  #actionValue: 'method'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   427
					      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   428
					       #(#LabelSpec
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   429
						  #name: 'methodChangesLabel'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   430
						  #layout: #(#LayoutFrame 373 0 0 0.0 458 0 14 0)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   431
						  #label: '= method'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   432
						  #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   433
						  #style: #(#FontDescription #helvetica #medium #roman 10)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   434
						  #adjust: #left
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   435
					      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   436
					       #(#ActionButtonSpec
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   437
						  #name: 'classChangesButton'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   438
						  #layout: #(#LayoutFrame 455 0.0 2 0.0 465 0 13 0)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   439
						  #label: ' '
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   440
						  #backgroundColor: #(#Color 50.0008 50.0008 50.0008)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   441
						  #model: #doFilterType:
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   442
						  #actionValue: 'class'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   443
					      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   444
					       #(#LabelSpec
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   445
						  #name: 'classChangesLabel'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   446
						  #layout: #(#LayoutFrame 470 0 0 0.0 580 0 14 0)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   447
						  #label: '= class change'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   448
						  #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   449
						  #style: #(#FontDescription #helvetica #medium #roman 10)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   450
						  #adjust: #left
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   451
					      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   452
					       #(#ActionButtonSpec
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   453
						  #name: 'snapshotButton'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   454
						  #layout: #(#LayoutFrame 258 0.0 16 0.0 268 0 27 0)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   455
						  #label: ' '
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   456
						  #backgroundColor: #(#Color 100.0 0.0 0.0)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   457
						  #model: #doFilterType:
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   458
						  #actionValue: 'image'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   459
					      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   460
					       #(#LabelSpec
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   461
						  #name: 'snapshotLabel'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   462
						  #layout: #(#LayoutFrame 273 0 14 0.0 355 0 28 0)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   463
						  #label: '= snapshot'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   464
						  #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   465
						  #style: #(#FontDescription #helvetica #medium #roman 10)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   466
						  #adjust: #left
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   467
					      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   468
					       #(#ActionButtonSpec
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   469
						  #name: 'fileInButton'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   470
						  #layout: #(#LayoutFrame 359 0.0 16 0.0 369 0 27 0)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   471
						  #label: ' '
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   472
						  #backgroundColor: #(#Color 0.0 80.0 80.0)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   473
						  #model: #doFilterSourceType:
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   474
						  #actionValue: '* file*'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   475
					      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   476
					       #(#LabelSpec
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   477
						  #name: 'fileInLabel'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   478
						  #layout: #(#LayoutFrame 374 0 14 0.0 440 0 28 0)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   479
						  #label: '= fileIn'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   480
						  #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   481
						  #style: #(#FontDescription #helvetica #medium #roman 10)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   482
						  #adjust: #left
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   483
					      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   484
					       #(#ActionButtonSpec
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   485
						  #name: 'checkInButton'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   486
						  #layout: #(#LayoutFrame 455 0.0 16 0.0 465 0 27 0)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   487
						  #label: ' '
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   488
						  #backgroundColor: #(#Color 0.0 0.0 100.0)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   489
						  #model: #doFilterSourceType:
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   490
						  #actionValue: '* checkin*'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   491
					      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   492
					       #(#LabelSpec
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   493
						  #name: 'checkInLabel'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   494
						  #layout: #(#LayoutFrame 470 0 14 0.0 550 0 28 0)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   495
						  #label: '= checkIn'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   496
						  #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   497
						  #style: #(#FontDescription #helvetica #medium #roman 10)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   498
						  #adjust: #left
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   499
					      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   500
					    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   501
					)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   502
				    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   503
				  )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   504
			      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   505
			  )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   506
			   #(#WorkspaceSpec
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   507
			      #name: 'changeTextEditor'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   508
			      #model: #valueOfChangeText
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   509
			      #hasHorizontalScrollBar: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   510
			      #hasVerticalScrollBar: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   511
			      #miniScrollerHorizontal: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   512
			      #isReadOnly: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   513
			  )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   514
			)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   515
		    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   516
		    #handles: #(#Any 0.5 1.0)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   517
		)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   518
		 #(#UISubSpecification
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   519
		    #name: 'windowSpecForInfoBar'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   520
		    #layout: #(#LayoutFrame 0 0.0 -24 1 0 1.0 0 1.0)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   521
		    #majorKey: #ToolApplicationModel
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   522
		    #minorKey: #windowSpecForInfoBar
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   523
		)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   524
	      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   525
	  )
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   526
      )
1647
44936f6d17ed geometry
Claus Gittinger <cg@exept.de>
parents: 1644
diff changeset
   527
1653
5994b3c5207c national strings
Claus Gittinger <cg@exept.de>
parents: 1650
diff changeset
   528
    "Modified: / 19.5.1998 / 18:58:47 / cg"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   529
! !
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   530
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   531
!NewChangesBrowser class methodsFor:'list specs'!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   532
1641
4c430e7eb617 table columns formatted
tz
parents: 1636
diff changeset
   533
tableColumnsForChangeAttributes
4c430e7eb617 table columns formatted
tz
parents: 1636
diff changeset
   534
    "This resource specification was automatically generated
4c430e7eb617 table columns formatted
tz
parents: 1636
diff changeset
   535
     by the DataSetBuilder of ST/X."
4c430e7eb617 table columns formatted
tz
parents: 1636
diff changeset
   536
4c430e7eb617 table columns formatted
tz
parents: 1636
diff changeset
   537
    "Do not manually edit this!! If it is corrupted,
4c430e7eb617 table columns formatted
tz
parents: 1636
diff changeset
   538
     the DataSetBuilder may not be able to read the specification."
4c430e7eb617 table columns formatted
tz
parents: 1636
diff changeset
   539
4c430e7eb617 table columns formatted
tz
parents: 1636
diff changeset
   540
    "
4c430e7eb617 table columns formatted
tz
parents: 1636
diff changeset
   541
     DataSetBuilder new openOnClass:NewChangesBrowser andSelector:#tableColumnsForChangeAttributes
4c430e7eb617 table columns formatted
tz
parents: 1636
diff changeset
   542
    "
4c430e7eb617 table columns formatted
tz
parents: 1636
diff changeset
   543
4c430e7eb617 table columns formatted
tz
parents: 1636
diff changeset
   544
    <resource: #tableColumns>
4c430e7eb617 table columns formatted
tz
parents: 1636
diff changeset
   545
4c430e7eb617 table columns formatted
tz
parents: 1636
diff changeset
   546
4c430e7eb617 table columns formatted
tz
parents: 1636
diff changeset
   547
    ^ #(
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   548
	#(#DataSetColumnSpec
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   549
	   #rendererType: #rowSelector
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   550
	   #backgroundSelector: #listColor
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   551
	   #showSelectionHighLighted: false
1641
4c430e7eb617 table columns formatted
tz
parents: 1636
diff changeset
   552
       )
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   553
	#(#DataSetColumnSpec
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   554
	   #label: 'Change'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   555
	   #id: #change
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   556
	   #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   557
	   #labelAlignment: #left
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   558
	   #model: #string
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   559
	   #canSelect: false
1641
4c430e7eb617 table columns formatted
tz
parents: 1636
diff changeset
   560
       )
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   561
	#(#DataSetColumnSpec
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   562
	   #label: 'Category'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   563
	   #id: #category
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   564
	   #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   565
	   #labelAlignment: #left
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   566
	   #model: #category
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   567
	   #canSelect: false
1641
4c430e7eb617 table columns formatted
tz
parents: 1636
diff changeset
   568
       )
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   569
	#(#DataSetColumnSpec
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   570
	   #label: 'Delta Info'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   571
	   #id: #deltaInfo
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   572
	   #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   573
	   #labelAlignment: #left
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   574
	   #model: #delta
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   575
	   #canSelect: false
1641
4c430e7eb617 table columns formatted
tz
parents: 1636
diff changeset
   576
       )
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   577
	#(#DataSetColumnSpec
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   578
	   #label: 'Time Stamp'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   579
	   #id: #timeStamp
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   580
	   #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   581
	   #labelAlignment: #left
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   582
	   #model: #timeStamp
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   583
	   #canSelect: false
1641
4c430e7eb617 table columns formatted
tz
parents: 1636
diff changeset
   584
       )
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   585
	#(#DataSetColumnSpec
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   586
	   #label: 'Type'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   587
	   #id: #type
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   588
	   #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   589
	   #labelAlignment: #left
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   590
	   #model: #type
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   591
	   #canSelect: false
1641
4c430e7eb617 table columns formatted
tz
parents: 1636
diff changeset
   592
       )
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   593
	#(#DataSetColumnSpec
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   594
	   #label: 'Position'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   595
	   #id: #position
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   596
	   #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   597
	   #labelAlignment: #left
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   598
	   #model: #positions
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   599
	   #canSelect: false
1641
4c430e7eb617 table columns formatted
tz
parents: 1636
diff changeset
   600
       )
4c430e7eb617 table columns formatted
tz
parents: 1636
diff changeset
   601
     )
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   602
! !
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   603
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   604
!NewChangesBrowser class methodsFor:'menu specs'!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   605
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   606
menu
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   607
    "This resource specification was automatically generated
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   608
     by the MenuEditor of ST/X."
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   609
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   610
    "Do not manually edit this!! If it is corrupted,
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   611
     the MenuEditor may not be able to read the specification."
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   612
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   613
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   614
     MenuEditor new openOnClass:NewChangesBrowser andSelector:#menu
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   615
     (Menu new fromLiteralArrayEncoding:(NewChangesBrowser menu)) startUp
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   616
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   617
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   618
    <resource: #menu>
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   619
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   620
    ^
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   621
     
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   622
       #(#Menu
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   623
          
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   624
	   #(
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   625
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   626
		#label: 'About'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   627
		#translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   628
		#activeHelpKey: #about
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   629
		#labelImage: #(#ResourceRetriever nil #menuIcon)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   630
		#submenuChannel: #menuAbout
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   631
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   632
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   633
		#label: 'File'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   634
		#translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   635
		#activeHelpKey: #file
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   636
		#submenu: 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   637
		 #(#Menu
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   638
                    
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   639
		     #(
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   640
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   641
			  #label: 'Reload'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   642
			  #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   643
			  #value: #doReload
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   644
			  #activeHelpKey: #fileReload
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   645
			  #enabled: #valueOfNotReading
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   646
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   647
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   648
			  #label: '-'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   649
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   650
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   651
			  #label: 'Load...'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   652
			  #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   653
			  #value: #doLoad
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   654
			  #activeHelpKey: #fileLoad
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   655
			  #enabled: #valueOfNotSaving
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   656
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   657
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   658
			  #label: '-'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   659
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   660
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   661
			  #label: 'Save'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   662
			  #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   663
			  #value: #doSave
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   664
			  #activeHelpKey: #fileSave
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   665
			  #enabled: #valueOfNotReading
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   666
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   667
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   668
			  #label: '-'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   669
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   670
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   671
			  #label: 'Browse Class'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   672
			  #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   673
			  #value: #doBrowseClass
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   674
			  #activeHelpKey: #fileBrowseClass
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   675
			  #enabled: #valueOfHavingChangeSelection
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   676
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   677
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   678
			  #label: '-'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   679
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   680
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   681
			  #label: 'Exit'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   682
			  #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   683
			  #value: #closeRequest
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   684
			  #activeHelpKey: #fileExit
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   685
			  #enabled: #valueOfNotSaving
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   686
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   687
		    ) nil
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   688
		    nil
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   689
		)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   690
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   691
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   692
		#label: 'Apply'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   693
		#translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   694
		#submenu: 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   695
		 #(#Menu
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   696
                    
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   697
		     #(
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   698
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   699
			  #label: 'Change'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   700
			  #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   701
			  #value: #doApply
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   702
			  #activeHelpKey: #applyLine
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   703
			  #enabled: #valueOfHavingChangeSelection
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   704
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   705
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   706
			  #label: '-'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   707
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   708
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   709
			  #label: 'All'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   710
			  #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   711
			  #value: #doApplyAll
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   712
			  #activeHelpKey: #applyAll
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   713
			  #enabled: #valueOfNotReading
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   714
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   715
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   716
			  #label: 'To End'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   717
			  #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   718
			  #value: #doApplyToEnd
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   719
			  #activeHelpKey: #applyToEnd
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   720
			  #enabled: #valueOfHavingSelection
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   721
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   722
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   723
			  #label: 'All for Class'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   724
			  #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   725
			  #value: #doApplyAllForClass
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   726
			  #activeHelpKey: #applyForClassToEnd
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   727
			  #enabled: #valueOfHavingChangeSelection
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   728
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   729
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   730
			  #label: 'For Class to End'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   731
			  #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   732
			  #value: #doApplyForClassToEnd
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   733
			  #activeHelpKey: #applyForClassToEnd
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   734
			  #enabled: #valueOfHavingChangeSelection
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   735
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   736
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   737
			  #label: '-'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   738
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   739
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   740
			  #label: 'From last Snapshot'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   741
			  #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   742
			  #value: #doApplyFromLastSnapshot
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   743
			  #activeHelpKey: #applyFromLastSnapshot
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   744
			  #enabled: #valueOfNotReading
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   745
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   746
		    ) nil
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   747
		    nil
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   748
		)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   749
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   750
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   751
		#label: 'Delete'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   752
		#translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   753
		#activeHelpKey: #edit
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   754
		#submenu: 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   755
		 #(#Menu
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   756
                    
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   757
		     #(
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   758
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   759
			  #label: 'Change'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   760
			  #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   761
			  #value: #doDelete
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   762
			  #activeHelpKey: #deleteLine
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   763
			  #enabled: #valueOfHavingSelection
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   764
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   765
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   766
			  #label: '-'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   767
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   768
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   769
			  #label: 'All'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   770
			  #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   771
			  #value: #doDeleteAll
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   772
			  #activeHelpKey: #deleteAll
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   773
			  #enabled: #valueOfNotReading
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   774
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   775
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   776
			  #label: 'To End'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   777
			  #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   778
			  #value: #doDeleteToEnd
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   779
			  #activeHelpKey: #deleteToEnd
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   780
			  #enabled: #valueOfHavingSelection
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   781
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   782
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   783
			  #label: 'All for Class'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   784
			  #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   785
			  #value: #doDeleteAllForClass
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   786
			  #activeHelpKey: #applyForClassToEnd
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   787
			  #enabled: #valueOfHavingChangeSelection
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   788
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   789
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   790
			  #label: 'For Class to End'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   791
			  #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   792
			  #value: #doDeleteForClassToEnd
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   793
			  #activeHelpKey: #deleteForClassToEnd
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   794
			  #enabled: #valueOfHavingChangeSelection
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   795
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   796
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   797
			  #label: '-'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   798
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   799
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   800
			  #label: 'Compress'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   801
			  #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   802
			  #value: #doCompress
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   803
			  #activeHelpKey: #deleteCompress
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   804
			  #enabled: #valueOfNotReading
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   805
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   806
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   807
			  #label: 'Compress for Class'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   808
			  #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   809
			  #value: #doCompressForClass
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   810
			  #activeHelpKey: #deleteCompressForClass
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   811
			  #enabled: #valueOfHavingChangeSelection
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   812
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   813
		    ) nil
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   814
		    nil
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   815
		)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   816
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   817
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   818
		#label: 'Test'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   819
		#translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   820
		#activeHelpKey: #test
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   821
		#submenu: 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   822
		 #(#Menu
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   823
                    
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   824
		     #(
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   825
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   826
			  #label: 'Find last Snapshot'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   827
			  #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   828
			  #value: #doFindSnapshot:
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   829
			  #activeHelpKey: #testFindLastSnapshot
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   830
			  #enabled: #valueOfHavingSelection
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   831
			  #argument: 'last'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   832
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   833
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   834
			  #label: 'Find next Snapshot'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   835
			  #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   836
			  #value: #doFindSnapshot:
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   837
			  #activeHelpKey: #testFindNextSnapshot
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   838
			  #enabled: #valueOfHavingSelection
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   839
			  #argument: 'next'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   840
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   841
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   842
			  #label: '-'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   843
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   844
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   845
			  #label: 'Compare with Current Version'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   846
			  #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   847
			  #value: #doCompare
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   848
			  #activeHelpKey: #testCompareWithCurrentVersion
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   849
			  #enabled: #valueOfHavingChangeSelection
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   850
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   851
		    ) nil
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   852
		    nil
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   853
		)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   854
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   855
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   856
		#label: 'Settings'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   857
		#translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   858
		#activeHelpKey: #settings
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   859
		#submenu: 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   860
		 #(#Menu
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   861
                    
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   862
		     #(
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   863
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   864
			  #label: 'Auto Update'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   865
			  #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   866
			  #activeHelpKey: #settingsAutoUpdate
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   867
			  #enabled: #valueOfNotReading
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   868
			  #indication: #autoUpdateMode:
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   869
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   870
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   871
			  #label: '-'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   872
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   873
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   874
			  #label: 'Private Classes as Separate'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   875
			  #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   876
			  #activeHelpKey: #settingsPrivateAsSeparate
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   877
			  #enabled: #valueOfNotReading
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   878
			  #indication: #privateAsSeparate:
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   879
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   880
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   881
			  #label: '-'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   882
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   883
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   884
			  #label: 'Columns'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   885
			  #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   886
			  #activeHelpKey: #settingsColumns
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   887
			  #submenu: 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   888
			   #(#Menu
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   889
                              
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   890
			       #(
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   891
				 #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   892
				    #label: 'Category'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   893
				    #activeHelpKey: #settingsColumnsCategory
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   894
				    #indication: #categoryColumn:
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   895
				)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   896
				 #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   897
				    #label: 'Delta Info'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   898
				    #activeHelpKey: #settingsColumnsDeltaInfo
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   899
				    #indication: #deltaInfoColumn:
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   900
				)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   901
				 #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   902
				    #label: 'Type'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   903
				    #activeHelpKey: #settingsColumnsType
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   904
				    #indication: #typeColumn:
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   905
				)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   906
				 #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   907
				    #label: 'Time Stamp'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   908
				    #activeHelpKey: #settingsColumnsTimeStamp
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   909
				    #indication: #timeStampColumn:
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   910
				)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   911
				 #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   912
				    #label: 'Positions'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   913
				    #activeHelpKey: #settingsColumnsPosition
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   914
				    #indication: #positionsColumn:
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   915
				)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   916
			      ) nil
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   917
			      nil
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   918
			  )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   919
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   920
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   921
			  #label: '-'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   922
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   923
		       #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   924
			  #label: 'Fonts'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   925
			  #translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   926
			  #enabled: #valueOfNotReading
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   927
			  #submenuChannel: #menuFont
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   928
		      )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   929
		    ) nil
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   930
		    nil
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   931
		)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   932
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   933
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   934
		#label: 'History'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   935
		#translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   936
		#submenuChannel: #menuHistory
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   937
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   938
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   939
		#label: 'Help'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   940
		#translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   941
		#startGroup: #right
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   942
		#activeHelpKey: #help
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   943
		#submenuChannel: #menuHelp
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   944
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   945
	  ) nil
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   946
	  nil
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   947
      )
1650
c0c3fb153fc7 help texts;
Claus Gittinger <cg@exept.de>
parents: 1647
diff changeset
   948
1653
5994b3c5207c national strings
Claus Gittinger <cg@exept.de>
parents: 1650
diff changeset
   949
    "Modified: / 19.5.1998 / 18:17:27 / cg"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   950
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   951
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   952
menuTable
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   953
    "This resource specification was automatically generated
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   954
     by the MenuEditor of ST/X."
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   955
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   956
    "Do not manually edit this!! If it is corrupted,
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   957
     the MenuEditor may not be able to read the specification."
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   958
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   959
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   960
     MenuEditor new openOnClass:NewChangesBrowser andSelector:#menuTable
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   961
     (Menu new fromLiteralArrayEncoding:(NewChangesBrowser menuTable)) startUp
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   962
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   963
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   964
    <resource: #menu>
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   965
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   966
    ^
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   967
     
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   968
       #(#Menu
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
   969
          
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   970
	   #(
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   971
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   972
		#label: 'Apply'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   973
		#translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   974
		#value: #doApply
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   975
		#activeHelpKey: #applyLine
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   976
		#enabled: #valueOfHavingChangeSelection
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   977
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   978
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   979
		#label: 'Apply To End'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   980
		#translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   981
		#value: #doApplyToEnd
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   982
		#activeHelpKey: #applyToEnd
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   983
		#enabled: #valueOfHavingSelection
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   984
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   985
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   986
		#label: 'Apply All For Class'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   987
		#translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   988
		#value: #doApplyAllForClass
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   989
		#activeHelpKey: #applyForClassToEnd
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   990
		#enabled: #valueOfHavingChangeSelection
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   991
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   992
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   993
		#label: 'Apply For Class To End'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   994
		#translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   995
		#value: #doApplyForClassToEnd
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   996
		#activeHelpKey: #applyForClassToEnd
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   997
		#enabled: #valueOfHavingChangeSelection
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   998
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
   999
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1000
		#label: '-'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1001
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1002
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1003
		#label: 'Delete'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1004
		#translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1005
		#value: #doDelete
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1006
		#activeHelpKey: #deleteLine
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1007
		#enabled: #valueOfHavingSelection
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1008
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1009
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1010
		#label: 'Delete To End'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1011
		#translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1012
		#value: #doDeleteToEnd
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1013
		#activeHelpKey: #deleteToEnd
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1014
		#enabled: #valueOfHavingSelection
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1015
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1016
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1017
		#label: 'Delete All For Class'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1018
		#translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1019
		#value: #doDeleteAllForClass
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1020
		#activeHelpKey: #applyForClassToEnd
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1021
		#enabled: #valueOfHavingChangeSelection
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1022
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1023
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1024
		#label: 'Delete For Class To End'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1025
		#translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1026
		#value: #doDeleteForClassToEnd
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1027
		#activeHelpKey: #deleteForClassToEnd
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1028
		#enabled: #valueOfHavingChangeSelection
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1029
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1030
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1031
		#label: '-'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1032
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1033
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1034
		#label: 'Browse Class'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1035
		#translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1036
		#value: #doBrowseClass
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1037
		#activeHelpKey: #fileBrowseClass
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1038
		#enabled: #valueOfHavingChangeSelection
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1039
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1040
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1041
		#label: '-'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1042
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1043
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1044
		#label: 'Compress For Class'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1045
		#translateLabel: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1046
		#value: #doCompressForClass
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1047
		#activeHelpKey: #deleteCompressForClass
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1048
		#enabled: #valueOfHavingChangeSelection
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1049
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1050
	  ) nil
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1051
	  nil
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1052
      )
1650
c0c3fb153fc7 help texts;
Claus Gittinger <cg@exept.de>
parents: 1647
diff changeset
  1053
c0c3fb153fc7 help texts;
Claus Gittinger <cg@exept.de>
parents: 1647
diff changeset
  1054
    "Modified: / 19.5.1998 / 18:03:59 / cg"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1055
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1056
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1057
menuToolbar
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1058
    "This resource specification was automatically generated
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1059
     by the MenuEditor of ST/X."
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1060
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1061
    "Do not manually edit this!! If it is corrupted,
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1062
     the MenuEditor may not be able to read the specification."
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1063
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1064
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1065
     MenuEditor new openOnClass:NewChangesBrowser andSelector:#menuToolbar
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1066
     (Menu new fromLiteralArrayEncoding:(NewChangesBrowser menuToolbar)) startUp
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1067
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1068
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1069
    <resource: #menu>
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1070
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1071
    ^
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1072
     
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1073
       #(#Menu
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1074
          
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1075
	   #(
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1076
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1077
		#label: 'Load'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1078
		#isButton: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1079
		#value: #doLoad
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1080
		#activeHelpKey: #fileLoad
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1081
		#enabled: #valueOfNotReading
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1082
		#labelImage: #(#ResourceRetriever #Icon #loadIcon)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1083
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1084
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1085
		#label: 'Save'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1086
		#isButton: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1087
		#value: #doSave
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1088
		#activeHelpKey: #fileSave
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1089
		#enabled: #valueOfNotSaving
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1090
		#labelImage: #(#ResourceRetriever #Icon #saveIcon)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1091
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1092
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1093
		#label: ''
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1094
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1095
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1096
		#label: 'Compress'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1097
		#isButton: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1098
		#value: #doCompress
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1099
		#activeHelpKey: #deleteCompress
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1100
		#enabled: #valueOfNotReading
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1101
		#labelImage: #(#ResourceRetriever nil #compressIcon)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1102
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1103
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1104
		#label: ''
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1105
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1106
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1107
		#label: 'Apply'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1108
		#isButton: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1109
		#value: #doApply
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1110
		#activeHelpKey: #applyLine
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1111
		#enabled: #valueOfHavingChangeSelection
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1112
		#labelImage: #(#ResourceRetriever nil #applyIcon)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1113
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1114
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1115
		#label: 'Apply To End'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1116
		#isButton: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1117
		#value: #doApplyToEnd
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1118
		#activeHelpKey: #applyToEnd
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1119
		#enabled: #valueOfHavingSelection
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1120
		#labelImage: #(#ResourceRetriever nil #applyToEndIcon)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1121
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1122
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1123
		#label: 'Apply From Last Snapshot'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1124
		#isButton: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1125
		#value: #doApplyFromLastSnapshot
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1126
		#activeHelpKey: #applyFromLastSnapshot
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1127
		#enabled: #valueOfNotReading
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1128
		#labelImage: #(#ResourceRetriever nil #applyFromLastSnapshotIcon)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1129
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1130
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1131
		#label: ''
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1132
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1133
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1134
		#label: 'Delete'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1135
		#isButton: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1136
		#value: #doDelete
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1137
		#activeHelpKey: #deleteLine
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1138
		#enabled: #valueOfHavingSelection
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1139
		#labelImage: #(#ResourceRetriever nil #deleteIcon)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1140
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1141
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1142
		#label: 'Delete To End'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1143
		#isButton: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1144
		#value: #doDeleteToEnd
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1145
		#activeHelpKey: #deleteToEnd
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1146
		#enabled: #valueOfHavingSelection
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1147
		#labelImage: #(#ResourceRetriever nil #deleteToEndIcon)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1148
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1149
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1150
		#label: ''
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1151
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1152
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1153
		#label: 'Find Last Snapshot'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1154
		#isButton: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1155
		#value: #doFindSnapshot:
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1156
		#activeHelpKey: #testFindLastSnapshot
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1157
		#enabled: #valueOfHavingSelection
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1158
		#argument: 'last'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1159
		#labelImage: #(#ResourceRetriever nil #findLastSnapshotIcon)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1160
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1161
	     #(#MenuItem
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1162
		#label: 'Find Next Snapshot'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1163
		#isButton: true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1164
		#value: #doFindSnapshot:
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1165
		#activeHelpKey: #testFindNextSnapshot
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1166
		#enabled: #valueOfHavingSelection
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1167
		#argument: 'next'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1168
		#labelImage: #(#ResourceRetriever nil #findNextSnapshotIcon)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1169
	    )
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1170
	  ) nil
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1171
	  nil
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1172
      )
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1173
! !
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1174
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1175
!NewChangesBrowser methodsFor:'accesssing - columns'!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1176
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1177
categoryColumn
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1178
    "returns whether the column for the category attribute of the changes is shown"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1179
1553
eaeafd6f8cbe checkin from browser
tz
parents: 1546
diff changeset
  1180
    ^CategoryColumn ? (CategoryColumn := false)
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1181
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1182
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1183
categoryColumn: aBoolean
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1184
    "sets whether the column for the category attribute of the changes is shown"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1185
1653
5994b3c5207c national strings
Claus Gittinger <cg@exept.de>
parents: 1650
diff changeset
  1186
    self changeColumn: #category add: (CategoryColumn := aBoolean)
5994b3c5207c national strings
Claus Gittinger <cg@exept.de>
parents: 1650
diff changeset
  1187
5994b3c5207c national strings
Claus Gittinger <cg@exept.de>
parents: 1650
diff changeset
  1188
    "Modified: / 19.5.1998 / 20:30:13 / cg"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1189
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1190
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1191
deltaInfoColumn
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1192
    "returns whether the column for the delta info attribute of the changes is shown"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1193
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1194
    ^DeltaInfoColumn ? (DeltaInfoColumn := false)
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1195
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1196
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1197
deltaInfoColumn: aBoolean
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1198
    "sets whether the column for the delta info attribute of the changes is shown; and updates"
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1199
1653
5994b3c5207c national strings
Claus Gittinger <cg@exept.de>
parents: 1650
diff changeset
  1200
    self changeColumn: #deltaInfo add: (DeltaInfoColumn := aBoolean).
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1201
    (self window notNil and: [DeltaInfoColumn]) ifTrue: [self doReload]
1653
5994b3c5207c national strings
Claus Gittinger <cg@exept.de>
parents: 1650
diff changeset
  1202
5994b3c5207c national strings
Claus Gittinger <cg@exept.de>
parents: 1650
diff changeset
  1203
    "Modified: / 19.5.1998 / 20:30:21 / cg"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1204
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1205
1568
b37202441764 revised
tz
parents: 1556
diff changeset
  1206
positionsColumn
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1207
    "returns whether the column for the position attribute of the changes is shown"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1208
1568
b37202441764 revised
tz
parents: 1556
diff changeset
  1209
    ^PositionsColumn ? (PositionsColumn := false)
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1210
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1211
1568
b37202441764 revised
tz
parents: 1556
diff changeset
  1212
positionsColumn: aBoolean
b37202441764 revised
tz
parents: 1556
diff changeset
  1213
    "sets whether the column for the positions attribute of the changes is shown"
b37202441764 revised
tz
parents: 1556
diff changeset
  1214
1653
5994b3c5207c national strings
Claus Gittinger <cg@exept.de>
parents: 1650
diff changeset
  1215
    self changeColumn: #position add: (PositionsColumn := aBoolean)
5994b3c5207c national strings
Claus Gittinger <cg@exept.de>
parents: 1650
diff changeset
  1216
5994b3c5207c national strings
Claus Gittinger <cg@exept.de>
parents: 1650
diff changeset
  1217
    "Modified: / 19.5.1998 / 20:30:37 / cg"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1218
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1219
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1220
timeStampColumn
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1221
    "returns whether the column for the time stamp attribute of the changes is shown"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1222
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1223
    ^TimeStampColumn ? (TimeStampColumn := false)
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1224
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1225
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1226
timeStampColumn: aBoolean
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1227
    "sets whether the column for the time stamp attribute of the changes is shown"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1228
1653
5994b3c5207c national strings
Claus Gittinger <cg@exept.de>
parents: 1650
diff changeset
  1229
    self changeColumn: #timeStamp add: (TimeStampColumn := aBoolean)
5994b3c5207c national strings
Claus Gittinger <cg@exept.de>
parents: 1650
diff changeset
  1230
5994b3c5207c national strings
Claus Gittinger <cg@exept.de>
parents: 1650
diff changeset
  1231
    "Modified: / 19.5.1998 / 20:30:42 / cg"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1232
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1233
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1234
typeColumn
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1235
    "returns whether the column for the type attribute of the changes is shown"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1236
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1237
    ^TypeColumn ? (TypeColumn := false)
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1238
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1239
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1240
typeColumn: aBoolean
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1241
    "sets whether the column for the type attribute of the changes is shown"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1242
1653
5994b3c5207c national strings
Claus Gittinger <cg@exept.de>
parents: 1650
diff changeset
  1243
    self changeColumn: #type add: (TypeColumn := aBoolean)
5994b3c5207c national strings
Claus Gittinger <cg@exept.de>
parents: 1650
diff changeset
  1244
5994b3c5207c national strings
Claus Gittinger <cg@exept.de>
parents: 1650
diff changeset
  1245
    "Modified: / 19.5.1998 / 20:30:46 / cg"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1246
! !
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1247
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1248
!NewChangesBrowser methodsFor:'accesssing - views'!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1249
1568
b37202441764 revised
tz
parents: 1556
diff changeset
  1250
changeTextEditor
b37202441764 revised
tz
parents: 1556
diff changeset
  1251
    "returns the view of the changeTextEditor"
b37202441764 revised
tz
parents: 1556
diff changeset
  1252
b37202441764 revised
tz
parents: 1556
diff changeset
  1253
    ^builder componentAt: #changeTextEditor
b37202441764 revised
tz
parents: 1556
diff changeset
  1254
b37202441764 revised
tz
parents: 1556
diff changeset
  1255
b37202441764 revised
tz
parents: 1556
diff changeset
  1256
b37202441764 revised
tz
parents: 1556
diff changeset
  1257
!
b37202441764 revised
tz
parents: 1556
diff changeset
  1258
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1259
filterField
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1260
    "returns the view of the filterField"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1261
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1262
    ^builder componentAt: #filterField
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1263
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1264
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1265
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1266
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1267
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1268
filterLabel
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1269
    "returns the view of the filterLabel"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1270
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1271
    ^builder componentAt: #filterLabel
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1272
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1273
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1274
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1275
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1276
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1277
readProgressIndicator
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1278
    "returns the view of the readProgressIndicator"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1279
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1280
    ^builder componentAt: #readProgressIndicator
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1281
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1282
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1283
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1284
! !
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1285
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1286
!NewChangesBrowser methodsFor:'aspects'!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1287
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1288
listOfChangeColumns
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1289
    "initializes (during the startup) and returns the value holder for the columns"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1290
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1291
    |holder|
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1292
    (holder := builder bindingAt:#listOfChangeColumns) isNil ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1293
	builder aspectAt:#listOfChangeColumns put:(holder := List new).
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1294
	self changeColumn: nil add: true.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1295
	self changeColumn: #change add: true.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1296
	self categoryColumn: self categoryColumn.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1297
	self timeStampColumn: self timeStampColumn.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1298
	self typeColumn: self typeColumn.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1299
	self deltaInfoColumn: self deltaInfoColumn.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1300
	self positionsColumn: self positionsColumn.
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1301
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1302
    ^ holder
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1303
1653
5994b3c5207c national strings
Claus Gittinger <cg@exept.de>
parents: 1650
diff changeset
  1304
    "Modified: / 19.5.1998 / 20:30:31 / cg"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1305
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1306
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1307
listOfChanges
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1308
    "returns the value holder for the changes"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1309
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1310
    |holder| 
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1311
    (holder := builder bindingAt:#listOfChanges) isNil ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1312
	builder aspectAt:#listOfChanges put:(holder := List new)
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1313
    ].   
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1314
    ^ holder
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1315
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1316
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1317
selectionOfChange
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1318
    "returns the value holder for the selected change"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1319
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1320
    |holder|
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1321
    (holder := builder bindingAt:#selectionOfChange) isNil ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1322
	builder aspectAt:#selectionOfChange put:(holder :=  ValueHolder new).
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1323
    ].                                           
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1324
    ^ holder
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1325
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1326
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1327
valueOfChangeText
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1328
    "returns the value holder for the source code of the selected change"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1329
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1330
    |holder|
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1331
    (holder := builder bindingAt:#valueOfChangeText) isNil ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1332
	builder aspectAt:#valueOfChangeText put:(holder :=  ValueHolder new).
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1333
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1334
    ^ holder
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1335
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1336
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1337
valueOfFilter
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1338
    "returns the value holder for the string of the filter"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1339
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1340
    |holder|
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1341
    (holder := builder bindingAt:#valueOfFilter) isNil ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1342
	builder aspectAt:#valueOfFilter put:(holder :=  ValueHolder new).
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1343
	holder addDependent: self
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1344
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1345
    ^ holder
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1346
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1347
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1348
valueOfHavingChangeSelection
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1349
    "returns whether the selected change can be applied as value holder"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1350
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1351
    |holder|
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1352
    (holder := builder bindingAt:#valueOfHavingChangeSelection) isNil ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1353
	builder aspectAt:#valueOfHavingChangeSelection put:(holder :=  false asValue).
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1354
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1355
    ^ holder
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1356
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1357
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1358
valueOfHavingSelection
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1359
    "returns whether a change is selected as value holder"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1360
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1361
    |holder|
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1362
    (holder := builder bindingAt:#valueOfHavingSelection) isNil ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1363
	builder aspectAt:#valueOfHavingSelection put:(holder :=  false asValue).
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1364
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1365
    ^ holder
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1366
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1367
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1368
valueOfNotReading
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1369
    "returns whether it is not reading or compressing as value holder"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1370
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1371
    |holder|
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1372
    (holder := builder bindingAt:#valueOfReading) isNil ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1373
	builder aspectAt:#valueOfReading put:(holder :=  true asValue).
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1374
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1375
    ^ holder
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1376
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1377
1568
b37202441764 revised
tz
parents: 1556
diff changeset
  1378
valueOfNotSaving
b37202441764 revised
tz
parents: 1556
diff changeset
  1379
    "returns whether it is not saving as value holder"
b37202441764 revised
tz
parents: 1556
diff changeset
  1380
b37202441764 revised
tz
parents: 1556
diff changeset
  1381
    |holder|
b37202441764 revised
tz
parents: 1556
diff changeset
  1382
    (holder := builder bindingAt:#valueOfNotSaving) isNil ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1383
	builder aspectAt:#valueOfNotSaving put:(holder :=  true asValue).
1568
b37202441764 revised
tz
parents: 1556
diff changeset
  1384
    ].
b37202441764 revised
tz
parents: 1556
diff changeset
  1385
    ^ holder
b37202441764 revised
tz
parents: 1556
diff changeset
  1386
!
b37202441764 revised
tz
parents: 1556
diff changeset
  1387
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1388
valueOfReadProgress
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1389
    "returns the stage of reading or compressing as value holder"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1390
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1391
    |holder|
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1392
    (holder := builder bindingAt:#valueOfReadProgress) isNil ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1393
	builder aspectAt:#valueOfReadProgress put:(holder :=  ValueHolder with: 0).
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1394
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1395
    ^ holder
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1396
! !
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1397
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1398
!NewChangesBrowser methodsFor:'callbacks'!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1399
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1400
changeSelected: lineNr
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1401
    "fetches the source code of the change and shows it in the codeView"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1402
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1403
    |aStream sawExcla chunk selectedRow changeNr|
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1404
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1405
    lineNr == 0 ifTrue: [^nil].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1406
    changeNr := changes indexOf: (self listOfChanges at: lineNr).
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1407
    aStream := self streamForChange: (changes at: changeNr).
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1408
    aStream isNil ifTrue:[^ self].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1409
    sawExcla := aStream peekFor:(aStream class chunkSeparator).
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1410
    chunk := aStream nextChunk.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1411
    sawExcla ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1412
	chunk := aStream nextChunk
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1413
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1414
    aStream close.        
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1415
    self valueOfChangeText value:chunk.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1416
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1417
    self updateChannels
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1418
! !
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1419
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1420
!NewChangesBrowser methodsFor:'change & update'!
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1421
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1422
update:something with:aParameter from:changedObject
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1423
    "evaluates the filterCompletionBlock after returning the filter string"
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1424
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1425
    super update:something with:aParameter from:changedObject.
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1426
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1427
    changedObject == self valueOfFilter 
1568
b37202441764 revised
tz
parents: 1556
diff changeset
  1428
    ifTrue: 
1636
14e3ccc3e7c6 use Workspace
tz
parents: 1569
diff changeset
  1429
    [                           
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1430
	filterCompletionBlock value: changedObject value. 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1431
	self listOfChanges size > 0 ifTrue: [self addToHistory: changedObject value -> #doFilter:] 
1568
b37202441764 revised
tz
parents: 1556
diff changeset
  1432
    ]
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1433
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1434
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1435
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1436
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1437
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1438
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1439
!
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1440
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1441
updateChannels
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1442
    "updates my channels"
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1443
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1444
    |change|           
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1445
    (change := self selectionOfChange value) notNil
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1446
    ifTrue:
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1447
    [
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1448
	self valueOfHavingSelection value: true.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1449
	self valueOfHavingChangeSelection value: 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1450
	    ((change type = 'method') or: [(change type = 'class')])
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1451
    ]
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1452
    ifFalse:
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1453
    [
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1454
	self valueOfHavingSelection value: false.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1455
	self valueOfHavingChangeSelection value: false
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1456
    ]
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1457
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1458
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1459
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1460
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1461
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1462
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1463
! !
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1464
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1465
!NewChangesBrowser methodsFor:'compiler interface'!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1466
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1467
wantChangeLog
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1468
    "sent by the compiler to ask if a changeLog entry should
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1469
     be written. Return false here."
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1470
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1471
    ^ false
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1472
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1473
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1474
! !
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1475
1568
b37202441764 revised
tz
parents: 1556
diff changeset
  1476
!NewChangesBrowser methodsFor:'error handling'!
b37202441764 revised
tz
parents: 1556
diff changeset
  1477
b37202441764 revised
tz
parents: 1556
diff changeset
  1478
correctableError:aString position:relPos to:relEndPos from:aCompiler
b37202441764 revised
tz
parents: 1556
diff changeset
  1479
    "compiler notifys us of an error - this should really not happen since
b37202441764 revised
tz
parents: 1556
diff changeset
  1480
     changes ought to be correct (did someone edit the changes file ??).
b37202441764 revised
tz
parents: 1556
diff changeset
  1481
     Show the bad change in the codeView and let codeView hilight the error;
b37202441764 revised
tz
parents: 1556
diff changeset
  1482
     no corrections allowed here therefore return false"
b37202441764 revised
tz
parents: 1556
diff changeset
  1483
b37202441764 revised
tz
parents: 1556
diff changeset
  1484
    self error:aString position:relPos to:relEndPos from:aCompiler.
b37202441764 revised
tz
parents: 1556
diff changeset
  1485
    ^ false
b37202441764 revised
tz
parents: 1556
diff changeset
  1486
!
b37202441764 revised
tz
parents: 1556
diff changeset
  1487
b37202441764 revised
tz
parents: 1556
diff changeset
  1488
error:aString position:relPos to:relEndPos from:aCompiler
b37202441764 revised
tz
parents: 1556
diff changeset
  1489
    "compiler notifys us of an error - this should really not happen since
b37202441764 revised
tz
parents: 1556
diff changeset
  1490
     changes ought to be correct (did someone edit the changes file ??).
b37202441764 revised
tz
parents: 1556
diff changeset
  1491
     Show the bad change in the codeView and let codeView hilight the error"
b37202441764 revised
tz
parents: 1556
diff changeset
  1492
b37202441764 revised
tz
parents: 1556
diff changeset
  1493
    |action|
b37202441764 revised
tz
parents: 1556
diff changeset
  1494
b37202441764 revised
tz
parents: 1556
diff changeset
  1495
    (skipSignal notNil) ifTrue:[
b37202441764 revised
tz
parents: 1556
diff changeset
  1496
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1497
	self changeTextEditor highlightingErrorPosition:relPos to:relEndPos do:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1498
	    |box|
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1499
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1500
	    "
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1501
	     start dialog - make certain cleanup is done
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1502
	    "
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1503
	    action := OptionBox 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1504
			  request:aString
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1505
			  label:'Error'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1506
			  form:(WarningBox iconBitmap)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1507
			  buttonLabels:#('cancel' 'skip' 'continue')
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1508
			  values:#(#abort #skip #continue)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1509
			  default:#continue.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1510
	].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1511
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1512
	action == #abort ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1513
	    Object abortSignal raise.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1514
	    ^ false
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1515
	].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1516
	action == #skip ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1517
	    skipSignal raise.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1518
	    ^ false
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1519
	].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1520
	^  false 
1568
b37202441764 revised
tz
parents: 1556
diff changeset
  1521
    ].
b37202441764 revised
tz
parents: 1556
diff changeset
  1522
    ^self changeTextEditor error:aString position:relPos to:relEndPos from:aCompiler
b37202441764 revised
tz
parents: 1556
diff changeset
  1523
b37202441764 revised
tz
parents: 1556
diff changeset
  1524
!
b37202441764 revised
tz
parents: 1556
diff changeset
  1525
b37202441764 revised
tz
parents: 1556
diff changeset
  1526
warning:aString position:relPos to:relEndPos from:aCompiler
b37202441764 revised
tz
parents: 1556
diff changeset
  1527
    "compiler notifys us of a warning - ignore it"
b37202441764 revised
tz
parents: 1556
diff changeset
  1528
b37202441764 revised
tz
parents: 1556
diff changeset
  1529
    ^ self
b37202441764 revised
tz
parents: 1556
diff changeset
  1530
b37202441764 revised
tz
parents: 1556
diff changeset
  1531
! !
b37202441764 revised
tz
parents: 1556
diff changeset
  1532
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1533
!NewChangesBrowser methodsFor:'help'!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1534
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1535
defaultInfoLabel
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1536
    "returns the default label for the info bar"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1537
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1538
    changeFileName asFilename exists ifTrue: [^changeFileName].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1539
    ^'No change file name defined.'
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1540
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1541
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1542
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1543
! !
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1544
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1545
!NewChangesBrowser methodsFor:'initialization'!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1546
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1547
initialize
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1548
    "initializes the instance variables"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1549
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1550
    super initialize.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1551
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1552
    changes           := List new.
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1553
    self changeFileName: ObjectMemory nameForChanges. 
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1554
    AutoUpdate        := AutoUpdate ? false.                                     
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1555
    PrivateAsSeparate := PrivateAsSeparate ? false.
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1556
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1557
    ObjectMemory addDependent:self.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1558
! !
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1559
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1560
!NewChangesBrowser methodsFor:'menu modes'!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1561
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1562
autoUpdateMode
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1563
    "returns whether autoUpdate is on/off"
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1564
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1565
    ^AutoUpdate
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1566
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1567
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1568
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1569
autoUpdateMode: aMode
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1570
    "sets the autoUpdate to aMode"
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1571
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1572
    AutoUpdate := aMode
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1573
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1574
!
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1575
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1576
privateAsSeparate
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1577
    "returns whether private classes are handled as separate changes"
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1578
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1579
    ^PrivateAsSeparate
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1580
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1581
!
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1582
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1583
privateAsSeparate: aMode
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1584
    "sets the PrivateAsSeparate to aMode"
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1585
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1586
    PrivateAsSeparate := aMode
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1587
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1588
! !
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1589
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1590
!NewChangesBrowser methodsFor:'private'!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1591
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1592
applyChange:aChange
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1593
    "applies aChange"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1594
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1595
    |aStream nm applyAction changeNr|
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1596
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1597
    aStream := self streamForChange:aChange.
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1598
    aStream isNil ifTrue:[^ self].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1599
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1600
    nm := self classNameOfChange:aChange.
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1601
    nm notNil ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1602
	|cls|
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1603
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1604
	cls := Smalltalk at:(nm asSymbol) ifAbsent:[].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1605
	cls notNil ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1606
	    cls isLoaded ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1607
		cls autoload
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1608
	    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1609
	]
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1610
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1611
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1612
    applyAction := [
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1613
	|sig|
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1614
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1615
	(skipSignal notNil) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1616
	    sig := skipSignal
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1617
	] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1618
	    sig := Object abortSignal
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1619
	].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1620
	sig catch:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1621
	    |reader doItChunk methodsForChunk|
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1622
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1623
	    "/ a followup methodsFor: chunk...
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1624
	    aChange followUp ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1625
		methodsForChunk := aChange chunk.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1626
	    ] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1627
		doItChunk := aStream nextChunk.   "/ an empty chunk sometimes...
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1628
		doItChunk notEmpty ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1629
		    Compiler evaluate:doItChunk notifying:self.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1630
		] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1631
		    methodsForChunk := aStream nextChunk.   "/ the real one
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1632
		]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1633
	    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1634
	    methodsForChunk notNil ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1635
		Class methodRedefinitionSignal handle:[:ex |
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1636
		    ex proceedWith:#keep
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1637
		] do:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1638
		    reader := Compiler evaluate:methodsForChunk notifying:self.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1639
		    reader fileInFrom:aStream notifying:self passChunk:false single:true.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1640
		]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1641
	    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1642
	].
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1643
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1644
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1645
    "/
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1646
    "/ if I am showing the changes file, dont update it
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1647
    "/
1877
f0dbf0801e4d care for pathName being the same, where the change-fileName is not
Claus Gittinger <cg@exept.de>
parents: 1798
diff changeset
  1648
    changeFileName asFilename pathName = ObjectMemory nameForChanges asFilename pathName ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1649
	Class withoutUpdatingChangesDo:applyAction
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1650
    ] ifFalse:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1651
	applyAction value
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1652
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1653
    aStream close
1877
f0dbf0801e4d care for pathName being the same, where the change-fileName is not
Claus Gittinger <cg@exept.de>
parents: 1798
diff changeset
  1654
f0dbf0801e4d care for pathName being the same, where the change-fileName is not
Claus Gittinger <cg@exept.de>
parents: 1798
diff changeset
  1655
    "Modified: / 8.9.1998 / 12:48:01 / cg"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1656
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1657
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1658
autoSelectChange:aChange
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1659
    "selects aChange"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1660
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1661
    self class autoSelectNext ifTrue:[         
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1662
	((self listOfChanges indexOf: aChange) <= self listOfChanges size) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1663
	    self selectionOfChange value: aChange.  
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1664
	    self changeSelected:(self listOfChanges indexOf: aChange).
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1665
	    self updateChannels.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1666
	    ^ self
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1667
	]
1569
96d29b2efc76 revised
tz
parents: 1568
diff changeset
  1668
    ].         
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1669
    self updateChannels.
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1670
    self unselectChange
1569
96d29b2efc76 revised
tz
parents: 1568
diff changeset
  1671
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1672
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1673
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1674
autoSelectLast
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1675
    "selects the last change"
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1676
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1677
    self autoSelectChange: (self listOfChanges at: self listOfChanges size ifAbsent: nil).
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1678
    self updateChannels.
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1679
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1680
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1681
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1682
autoSelectOrEnd:aChange
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1683
    "selects aChange or the last"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1684
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1685
    |last|
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1686
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1687
    last := self listOfChanges size.
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1688
    aChange notNil ifTrue:[  
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1689
	self autoSelectChange:aChange
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1690
    ] ifFalse:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1691
	self selectionOfChange value: (self listOfChanges at: last ifAbsent: nil).
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1692
	self changeSelected: last
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1693
    ].
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1694
    self updateChannels
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1695
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1696
1653
5994b3c5207c national strings
Claus Gittinger <cg@exept.de>
parents: 1650
diff changeset
  1697
changeColumn: aColumnId add: addOrRemove
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1698
    "adds or removes a attribute column to the table"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1699
1569
96d29b2efc76 revised
tz
parents: 1568
diff changeset
  1700
    |newListOfChangeColumns|
96d29b2efc76 revised
tz
parents: 1568
diff changeset
  1701
96d29b2efc76 revised
tz
parents: 1568
diff changeset
  1702
    newListOfChangeColumns := self listOfChangeColumns asOrderedCollection.
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1703
    addOrRemove
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1704
    ifTrue:
1569
96d29b2efc76 revised
tz
parents: 1568
diff changeset
  1705
    [    
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1706
	newListOfChangeColumns add: 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1707
	    ((self class tableColumnsForChangeAttributes 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1708
		collect: [:i| i decodeAsLiteralArray]) 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1709
		    detect: [:column| column id = aColumnId])
1568
b37202441764 revised
tz
parents: 1556
diff changeset
  1710
    ]
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1711
    ifFalse:
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1712
    [
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1713
	newListOfChangeColumns remove: 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1714
	    (self listOfChangeColumns detect: [:column| column id = aColumnId] ifNone: nil) ifAbsent: nil
1553
eaeafd6f8cbe checkin from browser
tz
parents: 1546
diff changeset
  1715
    ].
1569
96d29b2efc76 revised
tz
parents: 1568
diff changeset
  1716
    self listOfChangeColumns contents: newListOfChangeColumns.
1553
eaeafd6f8cbe checkin from browser
tz
parents: 1546
diff changeset
  1717
    self autoSelectLast
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1718
1653
5994b3c5207c national strings
Claus Gittinger <cg@exept.de>
parents: 1650
diff changeset
  1719
    "Modified: / 19.5.1998 / 20:32:53 / cg"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1720
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1721
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1722
changeFileName:aFileName
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1723
    "sets the name of the file with the changes"
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1724
1938
ce74385df068 added #openOn:;
Claus Gittinger <cg@exept.de>
parents: 1888
diff changeset
  1725
    changeFileName := aFileName asFilename name.
ce74385df068 added #openOn:;
Claus Gittinger <cg@exept.de>
parents: 1888
diff changeset
  1726
"/ (Filename currentDirectory asAbsoluteFilename construct: aFileName) name.
ce74385df068 added #openOn:;
Claus Gittinger <cg@exept.de>
parents: 1888
diff changeset
  1727
ce74385df068 added #openOn:;
Claus Gittinger <cg@exept.de>
parents: 1888
diff changeset
  1728
    "Modified: / 17.10.1998 / 14:43:01 / cg"
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1729
!
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1730
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1731
checkClassIsLoaded:aClass
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1732
    "returns true if aClass is loaded"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1733
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1734
    |cls|
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1735
    aClass isMeta ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1736
	cls := aClass soleInstance
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1737
    ] ifFalse:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1738
	cls := aClass
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1739
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1740
    cls isLoaded ifFalse:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1741
	(self confirm:(cls name , ' is an autoloaded class.\I can only compare the methods texts if its loaded first.\\Load the class first ?') withCRs)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1742
	ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1743
	    cls autoload
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1744
	]
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1745
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1746
    ^ cls isLoaded
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1747
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1748
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1749
checkIfFileHasChanged
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1750
    "checks if changes file has changed"
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1751
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1752
    |f info|
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1753
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1754
    Processor removeTimedBlock:autoUpdateBlock.   
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1755
    f := changeFileName asFilename.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1756
    (info := f info) isNil ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1757
	self newLabel:'unaccessable'
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1758
    ] ifFalse:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1759
	(info modified) > changeFileTimestamp ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1760
	    self newLabel:'outdated'.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1761
	    AutoUpdate ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1762
		self doReload
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1763
	    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1764
	] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1765
	    self newLabel:''
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1766
	]
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1767
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1768
    Processor addTimedBlock:autoUpdateBlock afterSeconds:5.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1769
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1770
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1771
classNameOfChange:aChange
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1772
    "returns the classname of aChange 
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1773
     (for classChanges (i.e. xxx class), the non-metaClassName (i.e. xxx) is returned)"
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1774
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1775
    |name|
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1776
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1777
    name := self fullClassNameOfChange:aChange.
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1778
    name isNil ifTrue:[^ nil].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1779
    (name endsWith:' class') ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1780
	^ name copyWithoutLast:6
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1781
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1782
    ^ name
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1783
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1784
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1785
compareChange:aChange
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1786
    "compares aChange with the current version"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1787
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1788
    |aStream chunk sawExcla parseTree thisClass cat oldSource newSource
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1789
     parser sel oldMethod outcome showDiff d t1 t2 selector isLoaded
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1790
     method beep|
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1791
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1792
    aStream := self streamForChange:aChange.
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1793
    aStream isNil ifTrue:[^ self].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1794
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1795
    showDiff := false.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1796
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1797
    aChange followUp ifFalse:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1798
	sawExcla := aStream peekFor:(aStream class chunkSeparator).
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1799
	chunk := aStream nextChunk.
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1800
    ] ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1801
	chunk := aChange chunk.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1802
	sawExcla := true.
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1803
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1804
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1805
    beep := false.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1806
    sawExcla ifFalse:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1807
	outcome := 'Cannot compare this change\(i.e. this is not a method change)!!'.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1808
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1809
	parseTree := Parser parseExpression:chunk.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1810
	(parseTree notNil and:[parseTree isMessage]) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1811
	    ((selector := parseTree selector) == #removeSelector:) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1812
		thisClass := (parseTree receiver evaluate).
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1813
		thisClass isBehavior ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1814
		    (self checkClassIsLoaded:thisClass) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1815
			selector := (parseTree arg1 evaluate).
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1816
			(thisClass includesSelector:selector) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1817
			    outcome := 'Change removes the #' , selector , ' method from ' , thisClass name.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1818
			] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1819
			    outcome := 'Change has no effect\(there is no method for #' , selector , ' in ' , thisClass name , ')'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1820
			]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1821
		    ] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1822
			beep := true.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1823
			outcome := 'Cannot compare this change (compare requires class to be loaded)!!'.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1824
		    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1825
		]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1826
	    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1827
	    selector == #category: ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1828
		parseTree receiver isMessage ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1829
		    parseTree receiver selector == #compiledMethodAt: ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1830
			(method := parseTree receiver evaluate) isMethod ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1831
			    method category = parseTree arg1 evaluate ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1832
				outcome := 'Change has no effect\(same category)'.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1833
			    ] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1834
				outcome := 'Category is different (''' , method category , ''' vs. ''' , parseTree arg1 evaluate , ''')'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1835
			    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1836
			] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1837
			    beep := true.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1838
			    outcome := 'There is no such method!!'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1839
			]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1840
		    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1841
		]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1842
	    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1843
	]
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1844
    ] ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1845
	parseTree := Parser parseExpression:chunk.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1846
	(parseTree notNil 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1847
	 and:[parseTree ~~ #Error
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1848
	 and:[parseTree isMessage]]) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1849
	    (parseTree selector == #methodsFor:) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1850
		thisClass := (parseTree receiver evaluate).
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1851
		thisClass isBehavior ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1852
		    (isLoaded := self checkClassIsLoaded:thisClass) ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1853
			outcome := 'Cannot compare this change\(compare requires class to be loaded)!!'.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1854
		    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1855
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1856
		    cat := parseTree arg1 evaluate.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1857
		    newSource := aStream nextChunk.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1858
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1859
		    parser := Parser parseMethod:newSource in:thisClass.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1860
		    (parser notNil and:[parser ~~ #Error]) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1861
			sel := parser selector.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1862
			oldMethod := thisClass compiledMethodAt:sel.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1863
			oldMethod notNil ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1864
			    (oldMethod category = cat) ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1865
				Transcript showCR:'Category changed.'.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1866
			    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1867
			    oldSource := oldMethod source.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1868
			    (oldSource = newSource) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1869
				outcome := 'Same source.'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1870
			    ] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1871
				oldSource isNil ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1872
				    beep := true.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1873
				    outcome := 'No source for compare.'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1874
				] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1875
				    "/
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1876
				    "/ compare for tabulator <-> space changes
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1877
				    "/ before showing diff...
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1878
				    "/
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1879
				    t1 := oldSource asCollectionOfLines collect:[:s | s withTabsExpanded].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1880
				    t2 := newSource asCollectionOfLines collect:[:s | s withTabsExpanded].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1881
				    t1 = t2 ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1882
					outcome := 'Same source.'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1883
				    ] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1884
					outcome := 'Source changed!!'.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1885
					showDiff := true.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1886
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1887
					"/
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1888
					"/ check if only historyLine diffs
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1889
					"/
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1890
					(HistoryManager notNil 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1891
					and:[HistoryManager isActive]) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1892
					    (HistoryManager withoutHistoryLines:newSource)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1893
					    =
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1894
					    (HistoryManager withoutHistoryLines:oldSource)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1895
					    ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1896
						outcome := 'Same source (history only).'.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1897
						showDiff := false.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1898
					    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1899
					].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1900
				    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1901
				]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1902
			    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1903
			] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1904
			    isLoaded ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1905
				beep := true.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1906
				outcome := 'Method does not exist!!'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1907
			    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1908
			]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1909
		    ] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1910
			outcome := 'Change unparsable!!'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1911
		    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1912
		    (showDiff and:[oldSource notNil and:[newSource notNil]]) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1913
			d := DiffTextView 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1914
				openOn:oldSource label:'Current version (in image)'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1915
				and:newSource label:'Change version'.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1916
			d label:'method differences'.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1917
		    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1918
		] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1919
		    beep := true.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1920
		    outcome := 'Class does not exist!!'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1921
		]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1922
	    ] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1923
		beep := true.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1924
		outcome := 'Not comparable!!'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1925
	    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1926
	] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1927
	    beep := true.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1928
	    outcome := 'Not comparable!!'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1929
	]
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1930
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1931
    aStream close.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1932
    showDiff ifFalse:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1933
	beep ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1934
	    self warn:outcome withCRs.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1935
	] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1936
	    self information:outcome withCRs.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1937
	]
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1938
    ]
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1939
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1940
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1941
compressForClass:aClassNameOrNil
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  1942
    "compresses the list of changes; 
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1943
     this replaces multiple method-changes by the last (i.e. the most recent) change.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1944
     If the class argument is nil, compress for all classes.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1945
     otherwise, only changes for that class are compressed."
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1946
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1947
    |aStream searchIndex anyMore deleteSet index  
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1948
     str snapshotProto snapshotPrefix snapshotNameIndex fileName|
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1949
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1950
    aStream := FileStream readonlyFileNamed:changeFileName.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1951
    aStream isNil ifTrue:[^ self].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1952
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1953
    aClassNameOrNil isNil ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1954
	self newLabel:'compressing...'.
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1955
    ] ifFalse:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1956
	self newLabel:'compressing for ' , aClassNameOrNil.
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1957
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1958
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1959
    CompressSnapshotInfo == true ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1960
	"
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1961
	 get a prototype snapshot record (to be independent of
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1962
	 the actual format ..
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1963
	"
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1964
	str := WriteStream on:String new.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1965
	Class addChangeRecordForSnapshot:'foo' to:str.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1966
	snapshotProto := str contents.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1967
	snapshotPrefix := snapshotProto copyTo:10.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1968
	snapshotNameIndex := snapshotProto findString:'foo'.
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1969
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1970
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1971
    self valueOfNotReading value: false.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1972
    self valueOfHavingSelection value: false.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1973
    self valueOfHavingChangeSelection value: false.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1974
    self valueOfReadProgress value: 0.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1975
    self readProgressIndicator raise.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1976
    self filterLabel label: 'Comp:'; redraw.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1977
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  1978
    self withExecuteCursorDo:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1979
	|numChanges classes selectors types excla sawExcla
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1980
	 changeNr chunk aParseTree parseTreeChunk
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1981
	 thisClass thisSelector codeChunk codeParser
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1982
	 compressThis oldValue|
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1983
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1984
	numChanges := changes size.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1985
	classes := Array new:numChanges.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1986
	selectors := Array new:numChanges.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1987
	types := Array new:numChanges.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1988
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1989
	"starting at the end, get the change class and change selector;
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1990
	 collect all in classes / selectors"
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1991
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1992
	changeNr := numChanges.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1993
	excla := aStream class chunkSeparator.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1994
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1995
	[changeNr >= 1] whileTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1996
	    oldValue := self valueOfReadProgress value.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1997
		self valueOfReadProgress value: (100 - ((aStream position/aStream size) * 100) rounded).
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1998
		oldValue ~~ self valueOfReadProgress value
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  1999
		    ifTrue: [self readProgressIndicator redrawEdges;redraw].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2000
	    aStream position:(changes at: changeNr) position.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2001
	    sawExcla := aStream peekFor:excla.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2002
	    chunk := aStream nextChunk.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2003
	    sawExcla ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2004
		"optimize a bit if multiple methods for same category arrive"
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2005
		(chunk = parseTreeChunk) ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2006
		    aParseTree := Parser parseExpression:chunk.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2007
		    parseTreeChunk := chunk
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2008
		].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2009
		(aParseTree notNil 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2010
		and:[(aParseTree ~~ #Error) 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2011
		and:[aParseTree isMessage]]) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2012
		    (aParseTree selector == #methodsFor:) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2013
			thisClass := (aParseTree receiver evaluate).
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2014
			codeChunk := aStream nextChunk.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2015
			codeParser := Parser 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2016
					  parseMethodSpecification:codeChunk
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2017
					  in:thisClass
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2018
					  ignoreErrors:true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2019
					  ignoreWarnings:true.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2020
			(codeParser notNil and:[codeParser ~~ #Error]) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2021
			    selectors at:changeNr put:(codeParser selector).
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2022
			    classes at:changeNr put:thisClass.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2023
			    types at:changeNr put:#methodsFor
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2024
			]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2025
		    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2026
		]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2027
	    ] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2028
		aParseTree := Parser parseExpression:chunk.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2029
		parseTreeChunk := chunk.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2030
		(aParseTree notNil 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2031
		and:[(aParseTree ~~ #Error) 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2032
		and:[aParseTree isMessage]]) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2033
		    (aParseTree selector == #removeSelector:) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2034
			selectors at:changeNr put:(aParseTree arg1 value ).
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2035
			classes at:changeNr put:(aParseTree receiver evaluate).
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2036
			types at:changeNr put:#removeSelector
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2037
		    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2038
		] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2039
		    CompressSnapshotInfo == true ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2040
			(chunk startsWith:snapshotPrefix) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2041
			    str := chunk readStream position:snapshotNameIndex.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2042
			    fileName := str upTo:(Character space).
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2043
			    "
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2044
			     kludge to allow use of match-check below
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2045
			    "
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2046
			    selectors at:changeNr put:snapshotPrefix.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2047
			    classes at:changeNr put:fileName.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2048
			]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2049
		    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2050
		]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2051
	    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2052
	    changeNr := changeNr - 1
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2053
	].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2054
	aStream close.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2055
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2056
	"for all changes, look for another class/selector occurence later
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2057
	 in the list and, if there is one, add change number to the delete set"
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2058
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2059
	deleteSet := OrderedCollection new.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2060
	changeNr := 1.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2061
	[changeNr < changes size] whileTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2062
	    thisClass := classes at:changeNr.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2063
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2064
	    compressThis := false.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2065
	    aClassNameOrNil isNil ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2066
		compressThis := true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2067
	    ] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2068
		"/ skipping unloaded/unknown classes
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2069
		thisClass isBehavior ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2070
		    thisClass isMeta ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2071
			compressThis := aClassNameOrNil = thisClass soleInstance name. 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2072
		    ] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2073
			compressThis := aClassNameOrNil = thisClass name.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2074
			(PrivateAsSeparate not and: [thisClass isPrivate])
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2075
			    ifTrue:[compressThis := aClassNameOrNil = thisClass owningClass name]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2076
		    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2077
		 ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2078
	    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2079
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2080
	    compressThis ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2081
		thisSelector := selectors at:changeNr.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2082
		searchIndex := changeNr.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2083
		anyMore := true.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2084
		[anyMore] whileTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2085
		    searchIndex := classes indexOf:thisClass
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2086
					startingAt:(searchIndex + 1).
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2087
		    (searchIndex ~~ 0) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2088
			((selectors at:searchIndex) == thisSelector) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2089
			    thisClass notNil ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2090
				deleteSet add:changeNr.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2091
				anyMore := false
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2092
			    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2093
			]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2094
		    ] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2095
			anyMore := false      
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2096
		    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2097
		].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2098
	    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2099
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2100
	    changeNr := changeNr + 1
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2101
	].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2102
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2103
	"finally delete what has been found"
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2104
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2105
	(deleteSet size > 0) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2106
	    index := deleteSet size.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2107
	    [index > 0] whileTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2108
		self silentDeleteChange: (changes at: (deleteSet at:index)).
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2109
		index := index - 1
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2110
	    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2111
	    self setChangeList
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2112
	].
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2113
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2114
    self valueOfNotReading value: true.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2115
    self filterField raise.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2116
    self filterLabel label: 'Filter:'.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2117
    self newLabel: ''
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2118
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2119
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2120
contractClass:className selector:selector to:maxLen
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2121
    |s l|
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2122
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2123
    s := className , ' ', selector.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2124
    s size > maxLen ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2125
	l := maxLen - 1 - selector size max:20.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2126
	s := (className contractTo:l) , ' ' , selector.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2127
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2128
	s size > maxLen ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2129
	    l := maxLen - 1 - className size max:20.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2130
	    s := className , ' ', (selector contractTo:l).
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2131
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2132
	    s size > maxLen ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2133
		s := (className contractTo:(maxLen // 2 - 1)) , ' ' , (selector contractTo:maxLen // 2)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2134
	    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2135
	]
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2136
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2137
    ^ s
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2138
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2139
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2140
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2141
deleteChangesFrom:start to:stop
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2142
    "deletes a range of changes"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2143
1712
59c1f35c31f7 checkin from browser
tz
parents: 1676
diff changeset
  2144
    self unselectChange.     
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2145
    stop to:start by:-1 do:[:changeNr|
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2146
	self silentDeleteChange:(self listOfChanges at: changeNr)
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2147
    ].
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2148
    self setChangeList
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2149
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2150
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2151
fullClassNameOfChange:aChange
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2152
    "returns the full classname of aChange 
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2153
     (for classChanges (i.e. xxx class), a string ending in ' class' is returned.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2154
     - since parsing ascii methods is slow, keep result cached in 
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2155
       changeClassNames for the next query"
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2156
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2157
    |chunk aParseTree recTree sel name arg1Tree isMeta prevMethodDefNr
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2158
     words changeStream fullParseTree ownerTree ownerName oldDollarSetting|
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2159
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2160
    aChange isNil ifTrue:[^ nil].
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2161
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2162
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2163
     first look, if not already known
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2164
    "
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2165
    name := aChange className.
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2166
    name notNil ifTrue:[^ name].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2167
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2168
    prevMethodDefNr := changes indexOf: aChange.
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2169
    [(changes at:prevMethodDefNr) followUp] whileTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2170
	prevMethodDefNr := prevMethodDefNr - 1.
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2171
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2172
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2173
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2174
     get the chunk
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2175
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2176
    chunk := (changes at:prevMethodDefNr) chunk.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2177
    chunk isNil ifTrue:[^ nil].       "mhmh - empty"
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2178
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2179
    (chunk startsWith:'''---') ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2180
	words := chunk asCollectionOfWords.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2181
	words size > 2 ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2182
	    (words at:2) = 'checkin' ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2183
		name := words at:3.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2184
		aChange className: name.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2185
		^ name
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2186
	    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2187
	].
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2188
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2189
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2190
    "/ fix it - otherwise, it cannot be parsed
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2191
    (chunk endsWith:'primitiveDefinitions:') ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2192
	chunk := chunk , ''''''
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2193
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2194
    (chunk endsWith:'primitiveFunctions:') ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2195
	chunk := chunk , ''''''
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2196
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2197
    (chunk endsWith:'primitiveVariables:') ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2198
	chunk := chunk , ''''''
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2199
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2200
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2201
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2202
     use parser to construct a parseTree
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2203
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2204
    oldDollarSetting := Parser allowDollarInIdentifier.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2205
    [
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2206
	Parser allowDollarInIdentifier:true.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2207
	aParseTree := Parser parseExpression:chunk.
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2208
    ] valueNowOrOnUnwindDo:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2209
	Parser allowDollarInIdentifier:oldDollarSetting
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2210
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2211
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2212
    (aParseTree isNil or:[aParseTree == #Error]) ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2213
	^ nil        "seems strange... (could be a comment)"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2214
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2215
    aParseTree isMessage ifFalse:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2216
	^ nil        "very strange... (whats that ?)"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2217
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2218
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2219
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2220
     ask parser for selector
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2221
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2222
    sel := aParseTree selector.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2223
    recTree := aParseTree receiver.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2224
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2225
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2226
     is it a method-change, methodRemove or comment-change ?
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2227
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2228
    (#(#'methodsFor:' 
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2229
       #'privateMethodsFor:' 
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2230
       #'protectedMethodsFor:' 
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2231
       #'publicMethodsFor:' 
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2232
       #'removeSelector:' 
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2233
       #'comment:'
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2234
       #'primitiveDefinitions:'
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2235
       #'primitiveFunctions:'
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2236
       #'primitiveVariables:'
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2237
       #'renameCategory:to:'
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2238
       #'instanceVariableNames:'
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2239
    ) includes:sel) ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2240
	"
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2241
	 yes, the className is the receiver
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2242
	"
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2243
	(recTree notNil and:[recTree ~~ #Error]) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2244
	    isMeta := false.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2245
	    recTree isUnaryMessage ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2246
		(recTree selector ~~ #class) ifTrue:[^ nil].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2247
		"id class methodsFor:..."
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2248
		recTree := recTree receiver.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2249
		isMeta := true.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2250
	    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2251
	    recTree isPrimary ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2252
		name := recTree name.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2253
		isMeta ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2254
		    name := name , ' class'.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2255
		].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2256
		aChange className: name.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2257
		^ name
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2258
	    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2259
	].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2260
	"more strange things"
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2261
	^ nil
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2262
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2263
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2264
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2265
     is it a change in a class-description ?
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2266
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2267
    (('subclass:*' match:sel) 
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2268
    or:[('variable*subclass:*' match:sel)]) ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2269
	"/ must parse the full changes text, to get
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2270
	"/ privacy information.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2271
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2272
	changeStream := self streamForChange:aChange.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2273
	changeStream notNil ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2274
	    chunk := changeStream nextChunk.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2275
	    changeStream close.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2276
	    fullParseTree := Parser parseExpression:chunk.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2277
	    (fullParseTree isNil or:[fullParseTree == #Error]) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2278
		fullParseTree := nil
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2279
	    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2280
	    fullParseTree isMessage ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2281
		fullParseTree := nil
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2282
	    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2283
	    "/ actually, the nil case cannot happen
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2284
	    fullParseTree notNil ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2285
		aParseTree := fullParseTree.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2286
		sel := aParseTree selector.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2287
	    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2288
	].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2289
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2290
	arg1Tree := aParseTree arg1.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2291
	(arg1Tree notNil and:[arg1Tree isConstant]) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2292
	    name := arg1Tree value asString.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2293
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2294
	    "/ is it a private-class ?
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2295
	    ('*privateIn:' match:sel) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2296
		ownerTree := aParseTree args last.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2297
		ownerName := ownerTree name asString.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2298
		name := ownerName , '::' , name
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2299
	    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2300
	    aChange className: name.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2301
	    ^ name
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2302
	].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2303
	"very strange"
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2304
	^ nil
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2305
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2306
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2307
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2308
     is it a class remove ?
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2309
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2310
    (sel == #removeClass:) ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2311
	(recTree notNil 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2312
	and:[recTree ~~ #Error
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2313
	and:[recTree isPrimary
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2314
	and:[recTree name = 'Smalltalk']]]) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2315
	    arg1Tree := aParseTree arg1.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2316
	    (arg1Tree notNil and:[arg1Tree isPrimary]) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2317
		name := arg1Tree name.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2318
		aChange className: name.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2319
		^ name
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2320
	    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2321
	]
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2322
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2323
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2324
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2325
     is it a method category change ?
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2326
    "
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2327
    ((sel == #category:)
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2328
    or:[sel == #privacy:]) ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2329
	(recTree notNil 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2330
	and:[recTree ~~ #Error
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2331
	and:[recTree isMessage
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2332
	and:[recTree selector == #compiledMethodAt:]]]) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2333
	    isMeta := false.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2334
	    recTree := recTree receiver.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2335
	    recTree isUnaryMessage ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2336
		(recTree selector ~~ #class) ifTrue:[^ nil].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2337
		"id class "
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2338
		recTree := recTree receiver
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2339
	    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2340
	    recTree isPrimary ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2341
		isMeta ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2342
		    name := name , ' class'.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2343
		].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2344
		name := recTree name.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2345
		aChange className: name.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2346
		^ name
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2347
	    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2348
	]
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2349
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2350
    ^ nil
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2351
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2352
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2353
newLabel:how
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2354
    "sets the label"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2355
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2356
    how size = 0 ifTrue: [^self window label:self class label].
1556
tz
parents: 1554
diff changeset
  2357
    self window label:self class label, ' (', how, ')'
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2358
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2359
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2360
readChangesFileInBackground:inBackground
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2361
    "reads the changes file, creates a list of header-lines (changeChunks)
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2362
     and a list of chunk-positions (changePositions).
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2363
     Starting with 2.10.3, the entries are multi-col entries;
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2364
     the cols are:
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2365
	1   delta (only if comparing)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2366
		'+' -> new method (w.r.t. current state)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2367
		'-' -> removed method (w.r.t. current state)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2368
		'?' -> class does not exist currently
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2369
		'=' -> change is same as current methods source
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2370
	2   class/selector
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2371
	3   type of change
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2372
		doit
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2373
		method
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2374
		category change
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2375
	4   timestamp
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2376
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2377
     since comparing slows down startup time, it is now disabled by
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2378
     default and can be enabled via a toggle."
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2379
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2380
    |aStream maxLen i f|
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2381
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2382
    self valueOfNotReading value: false.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2383
    self valueOfHavingSelection value: false.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2384
    self valueOfHavingChangeSelection value: false.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2385
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2386
    editingClassSource := false.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2387
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2388
    maxLen := 60.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2389
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2390
    f := changeFileName asFilename.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2391
    aStream :=  f readStream.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2392
    aStream isNil ifTrue:[^ nil].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2393
1653
5994b3c5207c national strings
Claus Gittinger <cg@exept.de>
parents: 1650
diff changeset
  2394
    self newLabel:(resources string:'updating...').
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2395
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2396
    i := f info.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2397
    changeFileTimestamp := i modified.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2398
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2399
    self valueOfReadProgress value: 0.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2400
    self readProgressIndicator raise.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2401
    self filterLabel label: 'Read:'; redraw.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2402
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2403
    self withReadCursorDo:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2404
	|myProcess myPriority|
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2405
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2406
	"
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2407
	 this is a time consuming operation (especially, if reading an
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2408
	 NFS-mounted directory; therefore lower my priority...
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2409
	"
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2410
	inBackground ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2411
	    myProcess := Processor activeProcess.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2412
	    myPriority := myProcess priority.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2413
	    myProcess priority:(Processor userBackgroundPriority).
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2414
	].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2415
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2416
	[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2417
	    |excla timeStampInfo lastChange|
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2418
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2419
	    excla := aStream class chunkSeparator.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2420
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2421
	    [aStream atEnd] whileFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2422
		|change changeDelta changeString changeType changeCategory
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2423
		 line s l changeClass sawExcla category 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2424
		 chunkText chunkPos sel oldValue|
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2425
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2426
		change := Change new.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2427
		"
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2428
		 get a chunk (separated by excla)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2429
		"
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2430
		oldValue := self valueOfReadProgress value.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2431
		self valueOfReadProgress value: (((aStream position/aStream size) * 100) rounded).
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2432
		oldValue ~~ self valueOfReadProgress value
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2433
		    ifTrue: [self readProgressIndicator redrawEdges;redraw].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2434
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2435
		aStream skipSeparators.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2436
		chunkPos := aStream position.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2437
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2438
		sawExcla := aStream peekFor:excla.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2439
		chunkText := aStream nextChunk.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2440
		chunkText notNil ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2441
		    |index headerLine cls|
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2442
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2443
		    (chunkText startsWith:'''---- timestamp ') ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2444
			timeStampInfo := (chunkText copyFrom:16 to:(chunkText size - 6)) withoutSpaces.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2445
		    ] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2446
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2447
			"
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2448
			 only first line is saved in changeChunks...
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2449
			"
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2450
			index := chunkText indexOf:(Character cr).
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2451
			(index ~~ 0) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2452
			    chunkText := chunkText copyTo:(index - 1).
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2453
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2454
			    "take care for comment changes - must still be a
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2455
			     valid expression for classNameOfChange: to work"
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2456
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2457
			    (chunkText endsWith:'comment:''') ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2458
				chunkText := chunkText , '...'''
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2459
			    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2460
			    (chunkText endsWith:'primitiveDefinitions:''') ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2461
				sel := 'primitiveDefinitions:'.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2462
				chunkText := chunkText copyWithoutLast:1
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2463
			    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2464
			    (chunkText endsWith:'primitiveVariables:''') ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2465
				sel := 'primitiveVariables:'.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2466
				chunkText := chunkText copyWithoutLast:1
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2467
			    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2468
			    (chunkText endsWith:'primitiveFunctions:''') ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2469
				sel := 'primitiveFunctions:'.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2470
				chunkText := chunkText copyWithoutLast:1
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2471
			    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2472
			].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2473
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2474
			change chunk: chunkText.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2475
			change position: chunkPos. 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2476
			lastChange notNil ifTrue: [lastChange lastPosition: chunkPos - 1].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2477
			lastChange := change.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2478
			change timeStamp: timeStampInfo.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2479
			change followUp: false.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2480
			headerLine := nil.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2481
			changeDelta := ' '.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2482
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2483
			sawExcla ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2484
			    (chunkText startsWith:'''---- snap') ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2485
				changeType := ''.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2486
				headerLine := chunkText.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2487
				changeString := (chunkText contractTo:maxLen).
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2488
				timeStampInfo := nil.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2489
			    ] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2490
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2491
				|p cls|
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2492
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2493
				headerLine := chunkText , ' (doIt)'.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2494
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2495
				"
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2496
				 first, assume doIt - then lets have a more detailed look...
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2497
				"
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2498
				((chunkText startsWith:'''---- file')
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2499
				or:[(chunkText startsWith:'''---- check')]) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2500
				    changeType := ''.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2501
				    timeStampInfo := nil.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2502
				] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2503
				    changeType := 'doIt'.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2504
				].    
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2505
				changeString := (chunkText contractTo:maxLen).
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2506
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2507
				p := Parser parseExpression:chunkText inNameSpace:Smalltalk.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2508
				(p notNil 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2509
				 and:[p ~~ #Error
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2510
				 and:[p isMessage]]) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2511
				    sel := p selector.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2512
				].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2513
				(sel == #removeSelector:) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2514
				    p receiver isUnaryMessage ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2515
					cls := p receiver receiver name.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2516
					changeClass := (Smalltalk classNamed:cls) class.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2517
					cls := cls , ' class'.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2518
				    ] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2519
					cls := p receiver name.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2520
					changeClass := (Smalltalk classNamed:cls)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2521
				    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2522
				    sel := (p args at:1) evaluate.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2523
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2524
				    DeltaInfoColumn ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2525
					(changeClass isNil or:[changeClass isLoaded not]) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2526
					    changeDelta := '?'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2527
					] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2528
					    (changeClass implements:sel asSymbol) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2529
						changeDelta := '-'.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2530
					    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2531
					]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2532
				    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2533
				    changeType := 'remove'.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2534
				    changeString := self contractClass:cls selector:sel to:maxLen.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2535
				].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2536
				(p ~~ #Error
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2537
				and:[p isMessage 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2538
				and:[p receiver isMessage
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2539
				and:[p receiver selector == #compiledMethodAt:]]]) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2540
				    p receiver receiver isUnaryMessage ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2541
					cls := p receiver receiver receiver name.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2542
					changeClass := (Smalltalk classNamed:cls) class.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2543
					cls := cls , ' class'.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2544
				    ] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2545
					cls := p receiver receiver name.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2546
					changeClass := (Smalltalk classNamed:cls)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2547
				    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2548
				    (sel == #category:) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2549
					sel := (p receiver args at:1) evaluate.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2550
					changeType := '(category change)'.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2551
					changeString := self contractClass:cls selector:sel to:maxLen.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2552
				    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2553
				    (sel == #privacy:) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2554
					sel := (p receiver args at:1) evaluate.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2555
					changeType := 'privacy change'.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2556
					changeString := self contractClass:cls selector:sel to:maxLen.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2557
				    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2558
				].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2559
				(#(#'subclass:'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2560
				  #'variableSubclass:'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2561
				  #'variableByteSubclass:'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2562
				  #'variableWordSubclass:'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2563
				  #'variableLongSubclass:'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2564
				  #'variableFloatSubclass:'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2565
				  #'variableDoubleSubclass:'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2566
				  #'primitiveDefinitions:'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2567
				  #'primitiveFunctions:'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2568
				  #'primitiveVariables:'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2569
				 ) includes:sel) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2570
				    changeType := 'class definition'.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2571
				].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2572
			    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2573
			] ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2574
			    |done first p className cls text methodPos|
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2575
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2576
			    "
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2577
			     method definitions actually consist of
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2578
			     two (or more) chunks; skip next chunk(s)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2579
			     up to an empty one.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2580
			     The system only writes one chunk,
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2581
			     and we cannot handle more in this ChangesBrowser....
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2582
			    "
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2583
			    className := nil.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2584
			    p := Parser parseExpression:chunkText inNameSpace:Smalltalk.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2585
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2586
			    (p notNil and:[p ~~ #Error]) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2587
				sel := p selector.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2588
				(sel == #methodsFor:) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2589
				    p receiver isUnaryMessage ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2590
					className := p receiver receiver name.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2591
					changeClass := (Smalltalk classNamed:className) class.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2592
					className := className , ' class'.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2593
				    ] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2594
					className := p receiver name.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2595
					changeClass := Smalltalk classNamed:className
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2596
				    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2597
				    category := (p args at:1) evaluate.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2598
				].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2599
			    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2600
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2601
			    done := false.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2602
			    first := true.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2603
			    [done] whileFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2604
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2605
				changeDelta := ' '.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2606
				methodPos := aStream position.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2607
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2608
				text := aStream nextChunk.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2609
				text isNil ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2610
				    done := true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2611
				] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2612
				    done := text isEmpty
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2613
				].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2614
				done ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2615
				    first ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2616
					change := Change new.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2617
					change chunk: chunkText.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2618
					change string:changeString.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2619
					change position: methodPos. 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2620
					change className: className. 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2621
					lastChange notNil ifTrue: [lastChange lastPosition: methodPos - 1].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2622
					lastChange := change.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2623
					change timeStamp: timeStampInfo.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2624
					change followUp: true.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2625
					editingClassSource := true.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2626
				    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2627
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2628
				    first := false.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2629
				    "
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2630
				     try to find the selector
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2631
				    "
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2632
				    sel := nil.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2633
				    className notNil ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2634
					p := Parser 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2635
						 parseMethodSpecification:text
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2636
						 in:nil
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2637
						 ignoreErrors:true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2638
						 ignoreWarnings:true.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2639
					(p notNil and:[p ~~ #Error]) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2640
					    sel := p selector.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2641
					]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2642
				    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2643
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2644
				    sel isNil ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2645
					changeString := (chunkText contractTo:maxLen).
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2646
					changeType := 'change'.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2647
					headerLine := chunkText , ' (change)'.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2648
				    ] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2649
					changeString :=  self contractClass:className selector:sel to:maxLen.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2650
					changeType := 'method definition'.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2651
					changeCategory := category.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2652
					headerLine := className , ' ' , sel , ' ' , '(change category: ''' , category , ''')'.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2653
				    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2654
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2655
				    DeltaInfoColumn ifTrue:[ 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2656
					changeClass isNil ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2657
					    changeClass isMeta ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2658
						cls := changeClass soleInstance
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2659
					    ] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2660
						cls := changeClass
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2661
					    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2662
					].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2663
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2664
					(changeClass isNil or:[cls isLoaded not]) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2665
					    changeDelta := '?'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2666
					] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2667
					    (changeClass implements:sel asSymbol) ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2668
						changeDelta := '+'.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2669
					    ] ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2670
						|m currentText t1 t2|
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2671
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2672
						m := changeClass compiledMethodAt:sel asSymbol.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2673
						currentText := m source.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2674
						currentText notNil ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2675
						    text asString = currentText asString ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2676
							changeDelta := '='
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2677
						    ] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2678
							t1 := currentText asCollectionOfLines collect:[:s | s withTabsExpanded].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2679
							t2 := text asCollectionOfLines collect:[:s | s withTabsExpanded].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2680
							t1 = t2 ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2681
							    changeDelta := '='
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2682
							]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2683
						    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2684
						]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2685
					    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2686
					]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2687
				    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2688
				    change delta:changeDelta.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2689
				    change string:changeString.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2690
				    change type:changeType.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2691
				    change category: changeCategory.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2692
				    change timeStamp:timeStampInfo.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2693
				    changes add:change.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2694
				].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2695
				changeString := nil.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2696
				headerLine := nil.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2697
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2698
			    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2699
			].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2700
			changeString notNil ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2701
			    change delta:changeDelta.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2702
			    change string:changeString.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2703
			    change type:changeType.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2704
			    change timeStamp:timeStampInfo.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2705
			    changes add:change.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2706
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2707
			] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2708
			    headerLine notNil ifTrue:[     
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2709
				changes add: change.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2710
			    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2711
			]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2712
		    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2713
		]. 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2714
		change lastPosition: aStream position.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2715
	    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2716
	    modified := false.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2717
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2718
	] valueNowOrOnUnwindDo:[ 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2719
	    aStream close.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2720
	    inBackground ifTrue:[myProcess priority:myPriority].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2721
	].
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2722
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2723
    self setChangeList.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2724
    self valueOfNotReading value: true.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2725
    self filterField raise.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2726
    self filterLabel label: 'Filter:'.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2727
1653
5994b3c5207c national strings
Claus Gittinger <cg@exept.de>
parents: 1650
diff changeset
  2728
    self checkIfFileHasChanged.
5994b3c5207c national strings
Claus Gittinger <cg@exept.de>
parents: 1650
diff changeset
  2729
1771
6d6c2bde9615 dont catch halts and breakpoints while reading;
Claus Gittinger <cg@exept.de>
parents: 1712
diff changeset
  2730
    "Modified: / 30.7.1998 / 11:39:58 / cg"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2731
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2732
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2733
selectorOfMethodChange:aChange
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2734
    "returns the selector of the method change, or nil if it is not a method change"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2735
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2736
    |source parser sel|
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2737
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2738
    source := self sourceOfMethodChange:aChange.
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2739
    source isNil ifTrue:[^ nil].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2740
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2741
    parser := Parser 
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2742
		parseMethod:source 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2743
		in:nil 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2744
		ignoreErrors:true 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2745
		ignoreWarnings:true.
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2746
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2747
    (parser notNil and:[parser ~~ #Error]) ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2748
	sel := parser selector.
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2749
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2750
    ^ sel
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2751
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2752
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2753
setChangeList
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2754
    "sets the list of changes into the list for the table by evaluating filterCompletionBlock"
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2755
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2756
    self unselectChange.
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2757
    filterCompletionBlock value: self valueOfFilter value.
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2758
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2759
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2760
silentDeleteChange:aChange
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2761
    "delete aChange do not update changeListView"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2762
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2763
    modified := true.      
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2764
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2765
    changes remove:aChange
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2766
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2767
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2768
silentDeleteChangesFor:aClassName from:start to:stop
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2769
    "deletes changes for aChange in the range [start,stop]
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2770
     and returns the number of the deleted changes"
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2771
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2772
    |index numDeleted clsName|
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2773
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2774
    numDeleted := 0.
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2775
    index := stop.          
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2776
    [index >= start] whileTrue:
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2777
    [                                         
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2778
	((clsName := self classNameOfChange:(self listOfChanges at: index)) notNil and:
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2779
	[(clsName = aClassName or: [PrivateAsSeparate not and: [(clsName upTo: $:) = aClassName]])])
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2780
	ifTrue:
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2781
	[     
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2782
	    self silentDeleteChange:(self listOfChanges at: index).
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2783
	    numDeleted := numDeleted + 1.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2784
	].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2785
	index := index - 1
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2786
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2787
    ^ numDeleted
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2788
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2789
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2790
sourceOfMethodChange:aChange
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2791
    "returns the source code of the method change, or nil if it is not a method change."
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2792
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2793
    |aStream chunk sawExcla parseTree sourceChunk|
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2794
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2795
    aStream := self streamForChange:aChange. 
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2796
    aStream isNil ifTrue:[^ nil].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2797
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2798
    aChange followUp ifFalse:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2799
	sawExcla := aStream peekFor:(aStream class chunkSeparator).
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2800
	chunk := aStream nextChunk.
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2801
    ] ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2802
	chunk := aChange chunk.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2803
	sawExcla := true.
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2804
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2805
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2806
    sawExcla ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2807
	parseTree := Parser parseExpression:chunk.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2808
	(parseTree notNil and:[parseTree isMessage]) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2809
	    (parseTree selector == #methodsFor:) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2810
		sourceChunk := aStream nextChunk.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2811
	    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2812
	].
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2813
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2814
    aStream close.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2815
    ^ sourceChunk
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2816
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2817
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2818
streamForChange:aChange
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2819
    "returns the stream for aChange"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2820
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2821
    |aStream|
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2822
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2823
    aStream := FileStream readonlyFileNamed:changeFileName.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2824
    aStream isNil ifTrue:[^ nil].
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2825
    aStream position:aChange position.
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2826
    ^ aStream
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2827
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2828
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2829
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2830
unselectChange
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2831
    "unselects the current change"
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2832
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2833
    self selectionOfChange value: nil.
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2834
    self valueOfChangeText value: nil
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2835
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2836
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2837
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2838
withSelectedChangeDo:aBlock
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2839
    "just a helper, check for a selected change and evaluate aBlock
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2840
     with busy cursor"
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2841
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2842
    |change|
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2843
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2844
    (change := self selectionOfChange value) notNil 
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2845
    ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2846
	self withExecuteCursorDo:[aBlock value:change]
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2847
    ]
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2848
! !
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2849
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2850
!NewChangesBrowser methodsFor:'startup / release'!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2851
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2852
closeRequest
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2853
    "asks for saving before closing"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2854
1568
b37202441764 revised
tz
parents: 1556
diff changeset
  2855
    self valueOfNotSaving value ifFalse: [^nil].
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2856
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2857
    modified ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2858
	(OptionBox 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2859
	      request:(resources string:'Changes list was modified !!') withCRs
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2860
	      label:'Changes Browser'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2861
	      form:(WarningBox iconBitmap)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2862
	      buttonLabels:(resources array:#('Cancel' 'Forget it and proceed'))
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2863
	      values:#(#abort #ignore)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2864
	      default:#save
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2865
	) == #abort ifTrue:[^self].
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2866
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2867
    super closeRequest
1656
fee64a2c7c7d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1653
diff changeset
  2868
fee64a2c7c7d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1653
diff changeset
  2869
    "Modified: / 20.5.1998 / 03:53:47 / cg"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2870
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2871
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2872
postOpenWith:aBuilder
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2873
    "starts reading the changes from the file and
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2874
     builds entryCompletionBlock for the filterField before opening"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2875
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2876
    super postOpenWith:aBuilder.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2877
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2878
    builder namedComponents do: 
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2879
    [:aView|    
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2880
	aView allSubViewsDo: 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2881
	[:v|
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2882
	    v redraw
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2883
	] 
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2884
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2885
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2886
    autoUpdateBlock := [self checkIfFileHasChanged].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2887
    Processor addTimedBlock:autoUpdateBlock afterSeconds:5.  
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2888
    self updateInfoLabel.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2889
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2890
    self filterField entryCompletionBlock:
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2891
    (filterCompletionBlock := [:value|
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2892
	|filter filters i changesCopy|
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2893
	self unselectChange.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2894
	filter := self filterField contents.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2895
	(filters := filter asArrayOfSubstrings) size > 0 ifTrue: 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2896
	[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2897
	    i := 0.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2898
	    changesCopy := changes copy.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2899
	    filters do: 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2900
	    [:filter|
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2901
		i := i + 1.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2902
		changesCopy contents: 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2903
		    (changesCopy select: [:row| 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2904
			filter match: (row string asArrayOfSubstrings at: i ifAbsent: [''''])])
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2905
	    ].            
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2906
	    self listOfChanges contents: changesCopy
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2907
	] 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2908
	ifFalse: 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2909
	[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2910
	    self listOfChanges contents: changes
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2911
	].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2912
	self autoSelectLast.
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2913
    ]).
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2914
1771
6d6c2bde9615 dont catch halts and breakpoints while reading;
Claus Gittinger <cg@exept.de>
parents: 1712
diff changeset
  2915
    Object errorSignal handle: [:ex |
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2916
	ex parameter signal == HaltSignal ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2917
	    ex reject
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2918
	].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2919
	ex parameter signal == MessageTracer breakpointSignal ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2920
	    ex reject
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2921
	].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2922
	self warn:'Error while reading changes file:\\' , ex errorString.
1771
6d6c2bde9615 dont catch halts and breakpoints while reading;
Claus Gittinger <cg@exept.de>
parents: 1712
diff changeset
  2923
    ] do: [
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2924
	self readChangesFileInBackground:true
1771
6d6c2bde9615 dont catch halts and breakpoints while reading;
Claus Gittinger <cg@exept.de>
parents: 1712
diff changeset
  2925
    ].
6d6c2bde9615 dont catch halts and breakpoints while reading;
Claus Gittinger <cg@exept.de>
parents: 1712
diff changeset
  2926
6d6c2bde9615 dont catch halts and breakpoints while reading;
Claus Gittinger <cg@exept.de>
parents: 1712
diff changeset
  2927
    "Modified: / 30.7.1998 / 11:37:51 / cg"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2928
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2929
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2930
uninitialize
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2931
    "removes the autoUpdateBlock from the Processor and myself from the ObjectMemory"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2932
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2933
    Processor removeTimedBlock:autoUpdateBlock.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2934
    ObjectMemory removeDependent:self
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2935
! !
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2936
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2937
!NewChangesBrowser methodsFor:'user actions'!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2938
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2939
doApply
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2940
    "applies the selected change"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2941
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2942
    self withSelectedChangeDo:[:change|
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2943
	skipSignal := nil.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2944
	self applyChange:change.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2945
	self autoSelectChange: (self listOfChanges at: (self listOfChanges indexOf: change) + 1 ifAbsent: [^self autoSelectLast])
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2946
    ]
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2947
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2948
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2949
doApplyAll
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2950
    "applies all changes"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2951
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2952
    self withExecuteCursorDo:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2953
	|change|
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2954
	self unselectChange.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2955
	skipSignal isNil ifTrue:[skipSignal := Signal new].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2956
	1 to:self listOfChanges size do:[:changeNr |
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2957
	    self selectionOfChange value:(change := self listOfChanges at: changeNr).
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2958
	    self applyChange:change
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2959
	].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2960
	self autoSelectLast
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2961
    ]
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2962
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2963
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2964
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2965
doApplyAllForClass
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2966
    "applies all changes having the same class like the selected one"
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2967
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2968
    self doApplyForClassToEndFrom: 1
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2969
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2970
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2971
!
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2972
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2973
doApplyForClassToEnd
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2974
    "applies all changes having the same class like the selected one from the selected to the end"
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2975
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2976
    self doApplyForClassToEndFrom: (self listOfChanges indexOf: self selectionOfChange value)
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2977
!
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2978
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2979
doApplyForClassToEndFrom: start
ffea21e237ed revised
tz
parents: 1545
diff changeset
  2980
    "applies changes with same class like the selected one from start to end"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2981
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  2982
    self withSelectedChangeDo:[:change|
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2983
	|classNameToApply thisClassName lastChange change2|
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2984
	(classNameToApply := self classNameOfChange:change) notNil 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2985
	ifTrue:
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2986
	[             
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2987
	    self unselectChange.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2988
	    skipSignal isNil ifTrue:[skipSignal := Signal new].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2989
	    start to:self listOfChanges size do:
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2990
	    [:changeNr|
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2991
		change2 := self listOfChanges at: changeNr.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2992
		((thisClassName := self classNameOfChange:change2) notNil and:
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2993
		[thisClassName = classNameToApply or:
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2994
		[PrivateAsSeparate not and: [(thisClassName upTo: $:) = classNameToApply]]])
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2995
		ifTrue:
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2996
		[                           
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2997
		    self selectionOfChange value: change2.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2998
		    self applyChange:change2.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  2999
		    lastChange := change2
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3000
		]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3001
	    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3002
	    self autoSelectChange:lastChange.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3003
	]
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3004
    ]
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3005
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3006
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3007
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3008
doApplyFromLastSnapshot
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3009
    "applies all changes made since the last snapshot"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3010
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3011
    self autoSelectLast.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3012
    (self doFindSnapshot: 'last') ifTrue: [self doApplyToEnd]
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3013
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3014
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3015
doApplyToEnd
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3016
    "applies all changes from selected one to be end"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3017
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3018
    self withSelectedChangeDo:[:change|
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3019
	self unselectChange.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3020
	skipSignal isNil ifTrue:[skipSignal := Signal new].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3021
	(self listOfChanges indexOf: change) to: self listOfChanges size do:[:changeNr|
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3022
	    self selectionOfChange value:(self listOfChanges at: changeNr).
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3023
	    self applyChange:(self listOfChanges at: changeNr)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3024
	].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3025
	self autoSelectChange:self listOfChanges last
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3026
    ]
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3027
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3028
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3029
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3030
doBrowseClass
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3031
    "opens a System Browser on the class of a change (and selector)"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3032
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3033
    |className cls isMeta|
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3034
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3035
    className := self fullClassNameOfChange:self selectionOfChange value.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3036
    className notNil ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3037
	isMeta := false.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3038
	(className endsWith:' class') ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3039
	    className := className copyWithoutLast:6.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3040
	    isMeta := true.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3041
	].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3042
	(cls := Smalltalk classNamed:className) notNil ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3043
	    isMeta ifTrue:[cls := cls class].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3044
	    SystemBrowser 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3045
		openInClass:cls 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3046
		selector:(self selectorOfMethodChange:self selectionOfChange value)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3047
	]
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3048
    ]
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3049
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3050
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3051
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3052
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3053
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3054
doCompare
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3055
    "compares a change with the current system version"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3056
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3057
    |change|
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3058
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3059
    (change := self selectionOfChange value) notNil ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3060
	self withExecuteCursorDo:[self compareChange:change]
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3061
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3062
    self newLabel:''
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3063
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3064
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3065
doCompress
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3066
    "compresses the changes, i.e. replaces multiple changes by the last change"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3067
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3068
    |changesSizeBefore|
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3069
    (changesSizeBefore := changes size) == 0 ifTrue: [^self warn: 'Nothing to compress!!'].
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3070
    self setChangeList.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3071
    self unselectChange.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3072
    self compressForClass:nil.
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3073
    self setChangeList.    
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3074
    self updateInfoLabel.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3075
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3076
    self information: 
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3077
	'Compression Rate:   ', (((changesSizeBefore - changes size)/changesSizeBefore) * 100) rounded printString, '%\' withCRs,
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3078
	'Obsolete Changes: ', (changesSizeBefore - changes size) printString, ' from ', changesSizeBefore printString
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3079
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3080
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3081
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3082
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3083
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3084
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3085
doCompressForClass
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3086
    "compresses changes for the selected class.
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3087
     this replaces multiple method-changes by the last (i.e. the most recent) change."
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3088
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3089
    self withSelectedChangeDo:[:change|
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3090
	| classNameToCompress |
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3091
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3092
	(classNameToCompress := self classNameOfChange:change) notNil ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3093
	    self compressForClass:classNameToCompress.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3094
	    filterCompletionBlock value: self valueOfFilter value.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3095
	    self autoSelectLast
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3096
	]
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3097
    ]
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3098
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3099
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3100
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3101
doDelete
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3102
    "deletes the selected change"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3103
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3104
    |change selectionIndex|
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3105
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3106
    (change := self selectionOfChange value) notNil ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3107
	selectionIndex := self listOfChanges indexOf: change.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3108
	self unselectChange.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3109
	self silentDeleteChange:change.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3110
	self listOfChanges remove:change.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3111
	self autoSelectOrEnd: (self listOfChanges at: selectionIndex ifAbsent: [nil]).
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3112
    ]
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3113
!
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3114
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3115
doDeleteAll
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3116
    "deletes all changes"
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3117
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3118
    self deleteChangesFrom:1 to: self listOfChanges size.
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3119
    self autoSelectOrEnd: nil
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3120
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3121
!
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3122
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3123
doDeleteAllForClass
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3124
    "deletes all changes having the same class like the selected one"
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3125
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3126
    self doDeleteForClassToEndFrom: 1
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3127
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3128
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3129
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3130
doDeleteForClassToEnd
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3131
    "deletes all changes having the same class like the selected one from the selected to the end"
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3132
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3133
    self withSelectedChangeDo:[:change|
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3134
	self doDeleteForClassToEndFrom: (self listOfChanges indexOf: change)
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3135
    ]
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3136
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3137
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3138
!
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3139
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3140
doDeleteForClassToEndFrom: start
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3141
    "deletes changes with same class like the selected one from start to end"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3142
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3143
    self withSelectedChangeDo:[:change|
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3144
	|classNameToDelete|
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3145
	(classNameToDelete := self classNameOfChange:change) notNil ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3146
	    self unselectChange.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3147
	    self silentDeleteChangesFor:classNameToDelete 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3148
				   from:start
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3149
				     to:self listOfChanges size.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3150
	    self setChangeList.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3151
	    self autoSelectOrEnd: nil
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3152
	]
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3153
    ].
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3154
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3155
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3156
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3157
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3158
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3159
doDeleteToEnd
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3160
    "deletes all changes from selected one to be end"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3161
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3162
    |changeNr|
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3163
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3164
    changeNr := (self listOfChanges indexOf: self selectionOfChange value).
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3165
    changeNr ~~ 0 ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3166
	self deleteChangesFrom:changeNr to: self listOfChanges size.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3167
	self unselectChange.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3168
	self autoSelectOrEnd: nil
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3169
    ]
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3170
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3171
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3172
1568
b37202441764 revised
tz
parents: 1556
diff changeset
  3173
doFilter: aFilterString
b37202441764 revised
tz
parents: 1556
diff changeset
  3174
    "filter the changes with aFilterString"
b37202441764 revised
tz
parents: 1556
diff changeset
  3175
1569
96d29b2efc76 revised
tz
parents: 1568
diff changeset
  3176
    self selectionOfChange value: nil.
1568
b37202441764 revised
tz
parents: 1556
diff changeset
  3177
    self valueOfFilter value: aFilterString withoutNotifying: self.
b37202441764 revised
tz
parents: 1556
diff changeset
  3178
    self valueOfFilter changed.
b37202441764 revised
tz
parents: 1556
diff changeset
  3179
    self autoSelectLast
b37202441764 revised
tz
parents: 1556
diff changeset
  3180
!
b37202441764 revised
tz
parents: 1556
diff changeset
  3181
1644
16586a2c52b2 filter problems fixed
tz
parents: 1642
diff changeset
  3182
doFilterSourceType: aFilterStringTypeString
16586a2c52b2 filter problems fixed
tz
parents: 1642
diff changeset
  3183
    "filter the source changes with aFilterStringTypeString"
1568
b37202441764 revised
tz
parents: 1556
diff changeset
  3184
1569
96d29b2efc76 revised
tz
parents: 1568
diff changeset
  3185
    self selectionOfChange value: nil.
96d29b2efc76 revised
tz
parents: 1568
diff changeset
  3186
    self listOfChanges contents: #().
96d29b2efc76 revised
tz
parents: 1568
diff changeset
  3187
    self valueOfFilter value: '' withoutNotifying: self.
1644
16586a2c52b2 filter problems fixed
tz
parents: 1642
diff changeset
  3188
    self listOfChanges contents: (changes select: [:change| change type = 'source' and: [aFilterStringTypeString match: change string]]).
16586a2c52b2 filter problems fixed
tz
parents: 1642
diff changeset
  3189
    self autoSelectLast
1568
b37202441764 revised
tz
parents: 1556
diff changeset
  3190
b37202441764 revised
tz
parents: 1556
diff changeset
  3191
!
b37202441764 revised
tz
parents: 1556
diff changeset
  3192
b37202441764 revised
tz
parents: 1556
diff changeset
  3193
doFilterType: aFilterTypeString
b37202441764 revised
tz
parents: 1556
diff changeset
  3194
    "filter the changes with aFilterTypeString"
b37202441764 revised
tz
parents: 1556
diff changeset
  3195
1569
96d29b2efc76 revised
tz
parents: 1568
diff changeset
  3196
    self selectionOfChange value: nil.
96d29b2efc76 revised
tz
parents: 1568
diff changeset
  3197
    self valueOfFilter value: '' withoutNotifying: self.
1568
b37202441764 revised
tz
parents: 1556
diff changeset
  3198
    self listOfChanges contents: (changes select: [:change| change type = aFilterTypeString]).
b37202441764 revised
tz
parents: 1556
diff changeset
  3199
    self autoSelectLast
b37202441764 revised
tz
parents: 1556
diff changeset
  3200
b37202441764 revised
tz
parents: 1556
diff changeset
  3201
!
b37202441764 revised
tz
parents: 1556
diff changeset
  3202
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3203
doFindSnapshot: what
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3204
    "finds the last made snapshot and selects it"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3205
1887
332f146981fc find last snapshot error fixed
tz
parents: 1877
diff changeset
  3206
    |snapshotNr snapshotFound|
332f146981fc find last snapshot error fixed
tz
parents: 1877
diff changeset
  3207
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3208
    self listOfChanges detect: [:change| change type = 'image'] ifNone: [^self warn: 'No snapshot found!!'].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3209
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3210
    self withSelectedChangeDo:[:change|
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3211
	snapshotNr := self listOfChanges indexOf: change.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3212
	snapshotFound := false.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3213
	[snapshotNr > 0 and: [snapshotFound not]] 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3214
	whileTrue: 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3215
	[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3216
	    what = 'last'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3217
	    ifTrue:
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3218
	    [
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3219
		snapshotNr := snapshotNr - 1.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3220
		snapshotNr == 0 ifTrue: [snapshotNr := self listOfChanges size].   
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3221
	    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3222
	    ifFalse:
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3223
	    [
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3224
		snapshotNr := snapshotNr + 1.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3225
		snapshotNr > self listOfChanges size ifTrue: [snapshotNr := 1].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3226
	    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3227
	    (self listOfChanges at: snapshotNr ifAbsent: [^self autoSelectChange: (what = 'last' ifTrue: [self listOfChanges last] ifFalse: [self listOfChanges first])]) type = 'image'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3228
	    ifTrue: 
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3229
	    [
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3230
		snapshotFound := true.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3231
		self autoSelectChange:(self listOfChanges at: snapshotNr)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3232
	    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3233
	]
1887
332f146981fc find last snapshot error fixed
tz
parents: 1877
diff changeset
  3234
    ].
332f146981fc find last snapshot error fixed
tz
parents: 1877
diff changeset
  3235
332f146981fc find last snapshot error fixed
tz
parents: 1877
diff changeset
  3236
    ^snapshotFound
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3237
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3238
1556
tz
parents: 1554
diff changeset
  3239
doLoad
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3240
    "opens a dialog for loading changes from a file"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3241
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3242
    |fileName|
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3243
    (fileName :=
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3244
	(FileSelectionBrowser
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3245
	    request: 'Load Changes List'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3246
	    fileName: changeFileName
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3247
	    withFileFilters: #('c*'))) notNil
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3248
    ifTrue:
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3249
    [
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3250
	changeFileName := fileName.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3251
	changes removeAll.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3252
	self readChangesFileInBackground:true.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3253
	self unselectChange.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3254
	Processor addTimedBlock:autoUpdateBlock afterSeconds:5.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3255
	self updateInfoLabel.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3256
	self autoSelectLast
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3257
    ]
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3258
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3259
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3260
doReload
1546
ffea21e237ed revised
tz
parents: 1545
diff changeset
  3261
    "reloads the changes from the file"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3262
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3263
    changes removeAll.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3264
    self unselectChange.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3265
    self readChangesFileInBackground:true.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3266
    self autoSelectLast
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3267
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3268
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3269
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3270
doSave
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3271
    "write back the changes file. To avoid problems when the disk is full
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3272
     or a crash occurs while writing (well, or someone kills us), 
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3273
     first write the stuff to a new temporary file. If this works ok,
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3274
     rename the old change-file to a .bak file and finally rename the
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3275
     tempfile back to the change-file. 
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3276
     That way, if anything happens, either the original file is left unchanged,
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3277
     or we have at least a backup of the previous change file."
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3278
1568
b37202441764 revised
tz
parents: 1556
diff changeset
  3279
    |inStream outStream tempfile stamp f| 
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3280
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3281
    self valueOfNotReading value ifFalse: [^nil].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3282
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3283
    editingClassSource ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3284
	(self confirm:'You are editing a classes sourceFile (not a changeFile) !!\Are you certain, you want to overwrite it ?' withCRs)
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3285
	ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3286
	    ^ false
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3287
	]
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3288
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3289
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3290
    tempfile := Filename newTemporaryIn:nil.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3291
    tempfile exists ifTrue:[tempfile remove].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3292
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3293
    outStream := tempfile writeStream.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3294
    outStream isNil ifTrue:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3295
	self warn:'Cannot create temporary file in current directory.'.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3296
	^ false
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3297
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3298
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3299
    inStream := FileStream readonlyFileNamed:changeFileName.
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3300
    inStream isNil ifTrue:[^ false].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3301
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3302
    self withCursor:(Cursor write) do:[
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3303
	|excla sawExcla done first chunk
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3304
	 nChanges "{Class:SmallInteger}" |
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3305
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3306
	Stream writeErrorSignal handle:[:ex |
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3307
	    self warn:('Could not update the changes file.\\' , ex errorString) withCRs.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3308
	    ^ false
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3309
	] do:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3310
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3311
	    self valueOfNotSaving value: false.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3312
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3313
	    excla := inStream class chunkSeparator.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3314
	    nChanges := changes size.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3315
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3316
	    1 to:nChanges do:[:index |     
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3317
		inStream position: (changes at: index) position.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3318
		sawExcla := inStream peekFor:excla.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3319
		chunk := inStream nextChunk.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3320
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3321
		(chunk notNil
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3322
		and:[(chunk startsWith:'''---- snap') not]) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3323
		    (stamp := (changes at:index) timeStamp) notNil ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3324
			outStream nextPutAll:'''---- timestamp ' , stamp , ' ----'''.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3325
			outStream nextPut:excla; cr.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3326
		    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3327
		].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3328
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3329
		sawExcla ifTrue:[     
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3330
		    outStream nextPut:excla.   
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3331
		    outStream nextChunkPut:chunk.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3332
		    outStream cr; cr.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3333
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3334
		    "
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3335
		     a method-definition chunk - skip followups
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3336
		    "
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3337
		    done := false.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3338
		    first := true.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3339
		    [done] whileFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3340
			chunk := inStream nextChunk.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3341
			chunk isNil ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3342
			    outStream cr; cr.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3343
			    done := true
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3344
			] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3345
			    chunk isEmpty ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3346
				outStream space; nextChunkPut:chunk; cr; cr.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3347
				done := true.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3348
			    ] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3349
				first ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3350
				    outStream cr; cr.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3351
				].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3352
				outStream nextChunkPut:chunk.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3353
			    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3354
			].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3355
			first := false.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3356
		    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3357
		] ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3358
		    outStream nextChunkPut:chunk.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3359
		    outStream cr
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3360
		]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3361
	    ].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3362
	    outStream close.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3363
	    inStream close.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3364
	].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3365
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3366
	f := changeFileName asFilename.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3367
	f renameTo:(f withSuffix:'bak').
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3368
	tempfile renameTo:changeFileName.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3369
	self doReload.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3370
	modified := false.
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3371
	self valueOfNotSaving value: true.
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3372
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3373
    ^ true
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3374
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3375
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3376
! !
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3377
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3378
!NewChangesBrowser::Change methodsFor:'accessing'!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3379
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3380
category
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3381
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3382
    ^category
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3383
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3384
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3385
category: aValue
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3386
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3387
    category := aValue
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3388
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3389
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3390
chunk
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3391
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3392
    ^chunk
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3393
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3394
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3395
chunk: aValue
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3396
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3397
    chunk := aValue
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3398
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3399
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3400
className
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3401
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3402
    ^className
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3403
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3404
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3405
className: aValue
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3406
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3407
    className := aValue
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3408
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3409
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3410
delta
1771
6d6c2bde9615 dont catch halts and breakpoints while reading;
Claus Gittinger <cg@exept.de>
parents: 1712
diff changeset
  3411
    |cls|
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3412
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3413
    delta size = 0 ifTrue: [^''].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3414
    delta = '='    ifTrue: [^'Current'].
1771
6d6c2bde9615 dont catch halts and breakpoints while reading;
Claus Gittinger <cg@exept.de>
parents: 1712
diff changeset
  3415
    delta = '?'    ifTrue: [
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3416
	(className notNil and:[className knownAsSymbol]) ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3417
	    (cls := Smalltalk at:className asSymbol ifAbsent:nil) notNil ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3418
		cls isBehavior ifTrue:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3419
		    cls isLoaded ifFalse:[
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3420
			^ 'Not loaded'
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3421
		    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3422
		]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3423
	    ]
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3424
	].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3425
	^'No class'
1771
6d6c2bde9615 dont catch halts and breakpoints while reading;
Claus Gittinger <cg@exept.de>
parents: 1712
diff changeset
  3426
    ].
6d6c2bde9615 dont catch halts and breakpoints while reading;
Claus Gittinger <cg@exept.de>
parents: 1712
diff changeset
  3427
    delta = '-'    ifTrue: [^'Remove'].
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3428
    delta = '+'    ifTrue: [^'New'].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3429
    ^delta
1771
6d6c2bde9615 dont catch halts and breakpoints while reading;
Claus Gittinger <cg@exept.de>
parents: 1712
diff changeset
  3430
6d6c2bde9615 dont catch halts and breakpoints while reading;
Claus Gittinger <cg@exept.de>
parents: 1712
diff changeset
  3431
    "Modified: / 29.7.1998 / 23:08:10 / cg"
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3432
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3433
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3434
delta: aValue
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3435
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3436
    delta := aValue
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3437
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3438
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3439
followUp
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3440
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3441
    ^followUp
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3442
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3443
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3444
followUp: aValue
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3445
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3446
    followUp := aValue
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3447
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3448
1568
b37202441764 revised
tz
parents: 1556
diff changeset
  3449
lastPosition: aValue
b37202441764 revised
tz
parents: 1556
diff changeset
  3450
b37202441764 revised
tz
parents: 1556
diff changeset
  3451
    lastPosition := aValue
b37202441764 revised
tz
parents: 1556
diff changeset
  3452
!
b37202441764 revised
tz
parents: 1556
diff changeset
  3453
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3454
listColor
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3455
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3456
    (string at: 3) ~~ $- ifTrue: 
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3457
    [
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3458
	(self type = 'class') ifTrue: [^Color gray].
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3459
	^Color white
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3460
    ].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3461
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3462
    (string includesMatchString: '---- s') ifTrue: [^Color red].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3463
    (string includesMatchString: '---- f') ifTrue: [^Color cyan: 100 magenta: 20 yellow: 20].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3464
    (string includesMatchString: '---- c') ifTrue: [^Color blue].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3465
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3466
    ^Color white
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3467
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3468
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3469
position
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3470
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3471
    ^position
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3472
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3473
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3474
position: aValue
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3475
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3476
    position := aValue
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3477
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3478
1568
b37202441764 revised
tz
parents: 1556
diff changeset
  3479
positions
b37202441764 revised
tz
parents: 1556
diff changeset
  3480
b37202441764 revised
tz
parents: 1556
diff changeset
  3481
    ^position printString, ' - ', lastPosition printString
b37202441764 revised
tz
parents: 1556
diff changeset
  3482
!
b37202441764 revised
tz
parents: 1556
diff changeset
  3483
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3484
string
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3485
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3486
    ^string
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3487
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3488
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3489
string: aValue
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3490
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3491
    string := aValue
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3492
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3493
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3494
timeStamp
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3495
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3496
    ^timeStamp
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3497
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3498
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3499
timeStamp: aValue
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3500
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3501
    timeStamp := aValue
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3502
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3503
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3504
type
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3505
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3506
    (type = 'doIt' or: [type = 'remove']) ifTrue: [^'class'].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3507
    (type size = 0) ifTrue: [(string includesMatchString: '---- s') ifTrue: [^'image'] ifFalse: [^'source']].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3508
    (self category = nil) ifTrue: [^'class'].
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3509
    ^'method'
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3510
!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3511
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3512
type: aValue
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3513
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3514
    type := aValue
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3515
! !
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3516
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3517
!NewChangesBrowser class methodsFor:'documentation'!
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3518
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3519
version
2250
dc7a9ae0d6bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1938
diff changeset
  3520
    ^ '$Header: /cvs/stx/stx/libtool/NewChangesBrowser.st,v 1.24 1999-07-10 10:43:40 cg Exp $'
1545
e2d6f6ca36ef initial checkin
tz
parents:
diff changeset
  3521
! !