ChangesBrowser.st
author Claus Gittinger <cg@exept.de>
Fri, 16 Aug 2002 13:50:04 +0200
changeset 3806 46e459fdde4c
parent 3785 741890c870a4
child 3858 3db383d93b90
permissions -rw-r--r--
added "apply to next conflict"
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
571fd5eee315 Initial revision
claus
parents:
diff changeset
     1
"
4
77d8e96499b2 *** empty log message ***
claus
parents: 1
diff changeset
     2
 COPYRIGHT (c) 1990 by Claus Gittinger
45
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
     3
	      All Rights Reserved
0
571fd5eee315 Initial revision
claus
parents:
diff changeset
     4
571fd5eee315 Initial revision
claus
parents:
diff changeset
     5
 This software is furnished under a license and may be used
571fd5eee315 Initial revision
claus
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
571fd5eee315 Initial revision
claus
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
571fd5eee315 Initial revision
claus
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
571fd5eee315 Initial revision
claus
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
571fd5eee315 Initial revision
claus
parents:
diff changeset
    10
 hereby transferred.
571fd5eee315 Initial revision
claus
parents:
diff changeset
    11
"
571fd5eee315 Initial revision
claus
parents:
diff changeset
    12
2664
541f43019451 fixed class-chunk remembering (remember the full chunk,
Claus Gittinger <cg@exept.de>
parents: 2641
diff changeset
    13
"{ Package: 'stx:libtool' }"
541f43019451 fixed class-chunk remembering (remember the full chunk,
Claus Gittinger <cg@exept.de>
parents: 2641
diff changeset
    14
0
571fd5eee315 Initial revision
claus
parents:
diff changeset
    15
StandardSystemView subclass:#ChangesBrowser
275
604a906c0eb7 better handling of changes for autoloaded classes
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
    16
	instanceVariableNames:'changeListView codeView changeFileName changeChunks
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
    17
		changePositions changeClassNames changeSelectors
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
    18
		changeHeaderLines changeIsFollowupMethodChange anyChanges
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
    19
		changeNrShown changeNrProcessed skipSignal autoCompare
703
1b3b008d9f19 fixed to allow class-source files to be handled
Claus Gittinger <cg@exept.de>
parents: 627
diff changeset
    20
		changeFileSize changeFileTimestamp checkBlock changeTimeStamps
2301
d557a9dec28c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2295
diff changeset
    21
		tabSpec autoUpdate editingClassSource lastSearchType
3224
b2f3a2a0bc80 readOnly flag added (for method-versions browsing)
Claus Gittinger <cg@exept.de>
parents: 3211
diff changeset
    22
		lastSearchString applyInOriginalNameSpace lastSaveFileName
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
    23
		readOnly enforcedPackage enforcedNameSpace updateChangeSet'
3534
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
    24
	classVariableNames:'CompressSnapshotInfo NoColoring ShowWarningDialogs DefaultIcon
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
    25
		DefaultAutoCompare'
275
604a906c0eb7 better handling of changes for autoloaded classes
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
    26
	poolDictionaries:''
604a906c0eb7 better handling of changes for autoloaded classes
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
    27
	category:'Interface-Browsers'
0
571fd5eee315 Initial revision
claus
parents:
diff changeset
    28
!
571fd5eee315 Initial revision
claus
parents:
diff changeset
    29
761
5c2b46a38efa checkin from browser
Claus Gittinger <cg@exept.de>
parents: 744
diff changeset
    30
!ChangesBrowser class methodsFor:'documentation'!
29
8a72e10043f6 *** empty log message ***
claus
parents: 28
diff changeset
    31
8a72e10043f6 *** empty log message ***
claus
parents: 28
diff changeset
    32
copyright
8a72e10043f6 *** empty log message ***
claus
parents: 28
diff changeset
    33
"
8a72e10043f6 *** empty log message ***
claus
parents: 28
diff changeset
    34
 COPYRIGHT (c) 1990 by Claus Gittinger
45
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
    35
	      All Rights Reserved
0
571fd5eee315 Initial revision
claus
parents:
diff changeset
    36
29
8a72e10043f6 *** empty log message ***
claus
parents: 28
diff changeset
    37
 This software is furnished under a license and may be used
8a72e10043f6 *** empty log message ***
claus
parents: 28
diff changeset
    38
 only in accordance with the terms of that license and with the
8a72e10043f6 *** empty log message ***
claus
parents: 28
diff changeset
    39
 inclusion of the above copyright notice.   This software may not
8a72e10043f6 *** empty log message ***
claus
parents: 28
diff changeset
    40
 be provided or otherwise made available to, or used by, any
8a72e10043f6 *** empty log message ***
claus
parents: 28
diff changeset
    41
 other person.  No title to or ownership of the software is
8a72e10043f6 *** empty log message ***
claus
parents: 28
diff changeset
    42
 hereby transferred.
8a72e10043f6 *** empty log message ***
claus
parents: 28
diff changeset
    43
"
8a72e10043f6 *** empty log message ***
claus
parents: 28
diff changeset
    44
!
8a72e10043f6 *** empty log message ***
claus
parents: 28
diff changeset
    45
8a72e10043f6 *** empty log message ***
claus
parents: 28
diff changeset
    46
documentation
8a72e10043f6 *** empty log message ***
claus
parents: 28
diff changeset
    47
"
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
    48
    this implements a browser for the changes-file (actually, it can display
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
    49
    any sourceFiles contents).
29
8a72e10043f6 *** empty log message ***
claus
parents: 28
diff changeset
    50
    See the extra document 'doc/misc/cbrowser.doc' for how to use this browser.
8a72e10043f6 *** empty log message ***
claus
parents: 28
diff changeset
    51
8a72e10043f6 *** empty log message ***
claus
parents: 28
diff changeset
    52
    written jan 90 by claus
51
57c1ccc3d7e0 *** empty log message ***
claus
parents: 50
diff changeset
    53
508
8d2ab732fca5 documentation
Claus Gittinger <cg@exept.de>
parents: 502
diff changeset
    54
    [Class variables:]
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
    55
        CompressSnapshotInfo            if true (the default), snapshot entries
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
    56
                                        are also compressed in the compress function.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
    57
                                        Some users prefer them to be not compressed.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
    58
                                        Set it to false for this.
58
43b7d463a7e5 *** empty log message ***
claus
parents: 57
diff changeset
    59
51
57c1ccc3d7e0 *** empty log message ***
claus
parents: 50
diff changeset
    60
    Notice:
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
    61
        this needs a total rewrite, to build up a changeSet from the file
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
    62
        (which did not exist when the ChangesBrowser was originally written) 
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
    63
        and manipulate that changeSet.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
    64
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
    65
        This way, we get a browser for any upcoming incore changeSets for
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
    66
        free. Also, this will put the chunk analyzation code into Change and
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
    67
        subclasses (where it belongs) and give a better encapsulation and
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
    68
        overall structure. Do not take this as an example for good style ;-)
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
    69
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
    70
        The Change hierarchy is currently been completed, and the changes browser
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
    71
        will be adapted soon.
508
8d2ab732fca5 documentation
Claus Gittinger <cg@exept.de>
parents: 502
diff changeset
    72
8d2ab732fca5 documentation
Claus Gittinger <cg@exept.de>
parents: 502
diff changeset
    73
    [author:]
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
    74
        Claus Gittinger
508
8d2ab732fca5 documentation
Claus Gittinger <cg@exept.de>
parents: 502
diff changeset
    75
8d2ab732fca5 documentation
Claus Gittinger <cg@exept.de>
parents: 502
diff changeset
    76
    [start with:]
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
    77
        ChangesBrowser open
1359
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
    78
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
    79
    [see also:]
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
    80
        ( Using the ChangesBrowser :html: tools/cbrowser/TOP.html )
1359
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
    81
        
29
8a72e10043f6 *** empty log message ***
claus
parents: 28
diff changeset
    82
"
8a72e10043f6 *** empty log message ***
claus
parents: 28
diff changeset
    83
! !
0
571fd5eee315 Initial revision
claus
parents:
diff changeset
    84
761
5c2b46a38efa checkin from browser
Claus Gittinger <cg@exept.de>
parents: 744
diff changeset
    85
!ChangesBrowser class methodsFor:'instance creation'!
45
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
    86
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
    87
new
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
    88
    "create a new changes browser"
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
    89
1470
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1431
diff changeset
    90
    ^ super 
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1431
diff changeset
    91
        label:(self defaultLabel)
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1431
diff changeset
    92
        icon:(self defaultIcon)
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1431
diff changeset
    93
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1431
diff changeset
    94
    "Modified: / 6.2.1998 / 13:25:18 / cg"
45
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
    95
!
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
    96
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
    97
openOn:aFileName
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
    98
    "create c changes browser on a change file"
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
    99
3674
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   100
    (self isXMLFile:aFileName) ifTrue:[
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   101
        ^ ((ChangeSetBrowser new label:(self defaultLabel , ': ', aFileName)) 
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   102
            changeFileName:aFileName) open
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   103
    ].
1470
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1431
diff changeset
   104
    ^ ((self new label:(self defaultLabel , ': ', aFileName)) 
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1431
diff changeset
   105
        changeFileName:aFileName) open
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1431
diff changeset
   106
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1431
diff changeset
   107
    "Modified: / 6.2.1998 / 13:27:19 / cg"
45
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
   108
! !
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
   109
761
5c2b46a38efa checkin from browser
Claus Gittinger <cg@exept.de>
parents: 744
diff changeset
   110
!ChangesBrowser class methodsFor:'behavior'!
0
571fd5eee315 Initial revision
claus
parents:
diff changeset
   111
571fd5eee315 Initial revision
claus
parents:
diff changeset
   112
autoSelectNext
571fd5eee315 Initial revision
claus
parents:
diff changeset
   113
    "returning true here, makes a Delete operation automatically
571fd5eee315 Initial revision
claus
parents:
diff changeset
   114
     select the next change"
571fd5eee315 Initial revision
claus
parents:
diff changeset
   115
571fd5eee315 Initial revision
claus
parents:
diff changeset
   116
    ^ true
571fd5eee315 Initial revision
claus
parents:
diff changeset
   117
! !
571fd5eee315 Initial revision
claus
parents:
diff changeset
   118
761
5c2b46a38efa checkin from browser
Claus Gittinger <cg@exept.de>
parents: 744
diff changeset
   119
!ChangesBrowser class methodsFor:'defaults'!
0
571fd5eee315 Initial revision
claus
parents:
diff changeset
   120
489
89cbd82e4541 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   121
defaultIcon
1153
9e57c1d4339a better default icon
Claus Gittinger <cg@exept.de>
parents: 1150
diff changeset
   122
    "return the browsers default window icon"
9e57c1d4339a better default icon
Claus Gittinger <cg@exept.de>
parents: 1150
diff changeset
   123
9e57c1d4339a better default icon
Claus Gittinger <cg@exept.de>
parents: 1150
diff changeset
   124
    <resource: #style (#ICON #ICON_FILE)>
9e57c1d4339a better default icon
Claus Gittinger <cg@exept.de>
parents: 1150
diff changeset
   125
9e57c1d4339a better default icon
Claus Gittinger <cg@exept.de>
parents: 1150
diff changeset
   126
    |nm i|
9e57c1d4339a better default icon
Claus Gittinger <cg@exept.de>
parents: 1150
diff changeset
   127
9e57c1d4339a better default icon
Claus Gittinger <cg@exept.de>
parents: 1150
diff changeset
   128
    (i := DefaultIcon) isNil ifTrue:[
2341
a342f41922c9 #on: -> #onDevice:
Claus Gittinger <cg@exept.de>
parents: 2329
diff changeset
   129
        i := self classResources at:'ICON' default:nil.
a342f41922c9 #on: -> #onDevice:
Claus Gittinger <cg@exept.de>
parents: 2329
diff changeset
   130
        i isNil ifTrue:[
a342f41922c9 #on: -> #onDevice:
Claus Gittinger <cg@exept.de>
parents: 2329
diff changeset
   131
            nm := ClassResources at:'ICON_FILE' default:'CBrowser.xbm'.
2477
cfb8a4d7b557 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2474
diff changeset
   132
            i := Smalltalk imageFromFileNamed:nm inPackage:#'stx:libtool'.
2341
a342f41922c9 #on: -> #onDevice:
Claus Gittinger <cg@exept.de>
parents: 2329
diff changeset
   133
            i isNil ifTrue:[
2451
2a01088e75d3 try bitmaps in package directory
Claus Gittinger <cg@exept.de>
parents: 2450
diff changeset
   134
                i := StandardSystemView defaultIcon
2341
a342f41922c9 #on: -> #onDevice:
Claus Gittinger <cg@exept.de>
parents: 2329
diff changeset
   135
            ]
a342f41922c9 #on: -> #onDevice:
Claus Gittinger <cg@exept.de>
parents: 2329
diff changeset
   136
        ].
a342f41922c9 #on: -> #onDevice:
Claus Gittinger <cg@exept.de>
parents: 2329
diff changeset
   137
        i notNil ifTrue:[
a342f41922c9 #on: -> #onDevice:
Claus Gittinger <cg@exept.de>
parents: 2329
diff changeset
   138
            DefaultIcon := i := i onDevice:Display
a342f41922c9 #on: -> #onDevice:
Claus Gittinger <cg@exept.de>
parents: 2329
diff changeset
   139
        ]
1084
bf64c6b08604 icon from resources
Claus Gittinger <cg@exept.de>
parents: 1070
diff changeset
   140
    ].
bf64c6b08604 icon from resources
Claus Gittinger <cg@exept.de>
parents: 1070
diff changeset
   141
    ^ i
bf64c6b08604 icon from resources
Claus Gittinger <cg@exept.de>
parents: 1070
diff changeset
   142
1153
9e57c1d4339a better default icon
Claus Gittinger <cg@exept.de>
parents: 1150
diff changeset
   143
    "Modified: 19.3.1997 / 20:48:34 / ca"
9e57c1d4339a better default icon
Claus Gittinger <cg@exept.de>
parents: 1150
diff changeset
   144
    "Modified: 18.4.1997 / 15:16:24 / cg"
489
89cbd82e4541 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   145
!
89cbd82e4541 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   146
73
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
   147
defaultLabel
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
   148
    ^ 'Changes Browser'
2417
2330ef87fa59 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2396
diff changeset
   149
!
2330ef87fa59 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2396
diff changeset
   150
2330ef87fa59 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2396
diff changeset
   151
isVisualStartable
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
   152
    "return true, if this application can be started via #open.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
   153
     (to allow start of a change browser via double-click in the browser)"
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
   154
2417
2330ef87fa59 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2396
diff changeset
   155
    ^ true
2330ef87fa59 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2396
diff changeset
   156
2330ef87fa59 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2396
diff changeset
   157
    "Created: / 27.9.1999 / 12:28:27 / cg"
28
eea5a71a1e23 *** empty log message ***
claus
parents: 27
diff changeset
   158
! !
eea5a71a1e23 *** empty log message ***
claus
parents: 27
diff changeset
   159
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   160
!ChangesBrowser class methodsFor:'menu specs'!
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   161
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   162
menuSpec
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   163
    "This resource specification was automatically generated
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   164
     by the MenuEditor of ST/X."
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   165
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   166
    "Do not manually edit this!! If it is corrupted,
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   167
     the MenuEditor may not be able to read the specification."
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   168
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   169
    "
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   170
     MenuEditor new openOnClass:ChangesBrowser andSelector:#menuSpec
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   171
     (Menu new fromLiteralArrayEncoding:(ChangesBrowser menuSpec)) startUp
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   172
    "
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   173
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   174
    <resource: #menu>
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   175
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   176
    ^ 
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   177
     #(#Menu
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   178
        #(
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   179
         #(#MenuItem
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   180
            #label: 'File'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   181
            #translateLabel: true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   182
            #submenu: 
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   183
           #(#Menu
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   184
              #(
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   185
               #(#MenuItem
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   186
                  #label: 'Compress'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   187
                  #translateLabel: true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   188
                  #isVisible: #notEditingClassSource
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   189
                  #value: #doCompress
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   190
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   191
               #(#MenuItem
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   192
                  #label: 'Compress for Class'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   193
                  #translateLabel: true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   194
                  #isVisible: #notEditingClassSource
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   195
                  #value: #doCompressClass
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   196
                  #enabled: #hasSingleSelection
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   197
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   198
               #(#MenuItem
3456
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
   199
                  #label: 'Compress for Class && Selector'
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
   200
                  #translateLabel: true
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
   201
                  #isVisible: #notEditingClassSource
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
   202
                  #value: #doCompressSelector
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
   203
                  #enabled: #hasSingleSelection
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
   204
                )
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
   205
               #(#MenuItem
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   206
                  #label: 'Compare and Compress'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   207
                  #translateLabel: true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   208
                  #isVisible: #notEditingClassSource
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   209
                  #value: #doCompareAndCompress
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   210
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   211
               #(#MenuItem
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   212
                  #label: '-'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   213
                  #isVisible: #notEditingClassSource
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   214
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   215
               #(#MenuItem
3692
712263b8f5ad menu texts: standard headline case
Claus Gittinger <cg@exept.de>
parents: 3676
diff changeset
   216
                  #label: 'Fileout && Delete all Changes for Class'
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   217
                  #translateLabel: true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   218
                  #isVisible: #notEditingClassSource
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   219
                  #value: #doFileoutAndDeleteClassAll
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   220
                  #enabled: #hasSingleSelection
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   221
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   222
               #(#MenuItem
3692
712263b8f5ad menu texts: standard headline case
Claus Gittinger <cg@exept.de>
parents: 3676
diff changeset
   223
                  #label: 'CheckIn && Delete all Changes for Class'
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   224
                  #translateLabel: true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   225
                  #isVisible: #notEditingClassSource
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   226
                  #value: #doCheckinAndDeleteClassAll
3442
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
   227
                  #enabled: #hasSelection
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   228
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   229
               #(#MenuItem
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   230
                  #label: '-'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   231
                  #isVisible: #notEditingClassSource
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   232
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   233
               #(#MenuItem
3692
712263b8f5ad menu texts: standard headline case
Claus Gittinger <cg@exept.de>
parents: 3676
diff changeset
   234
                  #label: 'Save In...'
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   235
                  #translateLabel: true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   236
                  #value: #doSave
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   237
                  #enabled: #hasSelection
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   238
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   239
               #(#MenuItem
3692
712263b8f5ad menu texts: standard headline case
Claus Gittinger <cg@exept.de>
parents: 3676
diff changeset
   240
                  #label: 'Save to End In...'
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   241
                  #translateLabel: true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   242
                  #value: #doSaveRest
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   243
                  #enabled: #hasSingleSelection
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   244
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   245
               #(#MenuItem
3692
712263b8f5ad menu texts: standard headline case
Claus Gittinger <cg@exept.de>
parents: 3676
diff changeset
   246
                  #label: 'Save for Class to End In...'
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   247
                  #translateLabel: true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   248
                  #value: #doSaveClassRest
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   249
                  #enabled: #hasSingleSelection
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   250
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   251
               #(#MenuItem
3692
712263b8f5ad menu texts: standard headline case
Claus Gittinger <cg@exept.de>
parents: 3676
diff changeset
   252
                  #label: 'Save all for Class In...'
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   253
                  #translateLabel: true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   254
                  #value: #doSaveClassAll
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   255
                  #enabled: #hasSingleSelection
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   256
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   257
               #(#MenuItem
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   258
                  #label: '-'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   259
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   260
               #(#MenuItem
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   261
                  #label: 'Writeback ClassFile'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   262
                  #translateLabel: true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   263
                  #isVisible: #editingClassSource
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   264
                  #value: #doWriteBack
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   265
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   266
               #(#MenuItem
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   267
                  #label: 'Writeback ChangeFile'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   268
                  #translateLabel: true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   269
                  #isVisible: #notEditingClassSource
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   270
                  #value: #doWriteBack
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   271
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   272
               #(#MenuItem
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   273
                  #label: '-'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   274
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   275
               #(#MenuItem
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   276
                  #label: 'Update'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   277
                  #translateLabel: true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   278
                  #value: #doUpdate
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   279
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   280
               #(#MenuItem
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   281
                  #label: '-'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   282
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   283
               #(#MenuItem
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   284
                  #label: 'Exit'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   285
                  #translateLabel: true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   286
                  #value: #menuExit
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   287
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   288
               )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   289
              nil
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   290
              nil
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   291
            )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   292
          )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   293
         #(#MenuItem
3275
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   294
            #label: 'Change'
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   295
            #translateLabel: true
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   296
            #submenu: 
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   297
           #(#Menu
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   298
              #(
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   299
               #(#MenuItem
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   300
                  #label: 'Apply'
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   301
                  #translateLabel: true
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   302
                  #value: #doApply
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   303
                  #enabled: #hasSelection
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   304
                )
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   305
               #(#MenuItem
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   306
                  #label: 'Apply to End'
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   307
                  #translateLabel: true
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   308
                  #value: #doApplyRest
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   309
                  #enabled: #hasSingleSelection
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   310
                )
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   311
               #(#MenuItem
3668
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
   312
                  #label: 'Apply from Begin'
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
   313
                  #translateLabel: true
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
   314
                  #value: #doApplyFromBeginning
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
   315
                  #enabled: #hasSingleSelection
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
   316
                )
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
   317
               #(#MenuItem
3275
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   318
                  #label: 'Apply for Class to End'
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   319
                  #translateLabel: true
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   320
                  #value: #doApplyClassRest
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   321
                  #enabled: #hasSingleSelection
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   322
                )
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   323
               #(#MenuItem
3668
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
   324
                  #label: 'Apply for Class from Begin'
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
   325
                  #translateLabel: true
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
   326
                  #value: #doApplyClassFromBeginning
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
   327
                  #enabled: #hasSingleSelection
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
   328
                )
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
   329
               #(#MenuItem
3275
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   330
                  #label: 'Apply All'
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   331
                  #translateLabel: true
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   332
                  #value: #doApplyAll
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   333
                  #enabled: #hasNoSelection
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   334
                )
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   335
               #(#MenuItem
3806
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
   336
                  #label: 'Apply to Conflict or End'
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
   337
                  #translateLabel: true
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
   338
                  #value: #doApplyToConflictOrEnd
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
   339
                  #enabled: #hasSingleSelection
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
   340
                )
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
   341
               #(#MenuItem
3275
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   342
                  #label: '-'
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   343
                )
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   344
               #(#MenuItem
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   345
                  #label: 'Delete'
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   346
                  #translateLabel: true
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   347
                  #value: #doDelete
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   348
                  #enabled: #hasSelection
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   349
                )
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   350
               #(#MenuItem
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   351
                  #label: 'Delete to End'
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   352
                  #translateLabel: true
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   353
                  #value: #doDeleteRest
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   354
                  #enabled: #hasSingleSelection
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   355
                )
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   356
               #(#MenuItem
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   357
                  #label: 'Delete for Class to End'
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   358
                  #translateLabel: true
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   359
                  #value: #doDeleteClassRest
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   360
                  #enabled: #hasSingleSelection
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   361
                )
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   362
               #(#MenuItem
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   363
                  #label: 'Delete for Class from Begin'
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   364
                  #translateLabel: true
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   365
                  #value: #doDeleteClassFromBeginning
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   366
                  #enabled: #hasSingleSelection
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   367
                )
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   368
               #(#MenuItem
3692
712263b8f5ad menu texts: standard headline case
Claus Gittinger <cg@exept.de>
parents: 3676
diff changeset
   369
                  #label: 'Delete all for Class'
3275
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   370
                  #translateLabel: true
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   371
                  #isVisible: #hasNoMultiSelection
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   372
                  #value: #doDeleteClassAll
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   373
                  #enabled: #hasSelection
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   374
                )
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   375
               #(#MenuItem
3692
712263b8f5ad menu texts: standard headline case
Claus Gittinger <cg@exept.de>
parents: 3676
diff changeset
   376
                  #label: 'Delete all for Class && its Private Classes'
3275
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   377
                  #translateLabel: true
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   378
                  #isVisible: #hasNoMultiSelection
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   379
                  #value: #doDeleteClassAndPrivateClassesAll
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   380
                  #enabled: #hasSelection
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   381
                )
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   382
               #(#MenuItem
3692
712263b8f5ad menu texts: standard headline case
Claus Gittinger <cg@exept.de>
parents: 3676
diff changeset
   383
                  #label: 'Delete all for Classes'
3275
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   384
                  #translateLabel: true
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   385
                  #isVisible: #hasMultiSelection
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   386
                  #value: #doDeleteClassAll
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   387
                  #enabled: #hasSelection
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   388
                )
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   389
               #(#MenuItem
3692
712263b8f5ad menu texts: standard headline case
Claus Gittinger <cg@exept.de>
parents: 3676
diff changeset
   390
                  #label: 'Delete all for Classes && their Private Classes'
3275
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   391
                  #translateLabel: true
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   392
                  #isVisible: #hasMultiSelection
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   393
                  #value: #doDeleteClassAndPrivateClassesAll
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   394
                  #enabled: #hasSelection
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   395
                )
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   396
               #(#MenuItem
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   397
                  #label: '-'
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   398
                )
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   399
               #(#MenuItem
3692
712263b8f5ad menu texts: standard headline case
Claus Gittinger <cg@exept.de>
parents: 3676
diff changeset
   400
                  #label: 'Delete all Versions of Selected Method '
3607
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
   401
                  #translateLabel: true
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
   402
                  #isVisible: #hasNoMultiSelection
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
   403
                  #value: #doDeleteClassSelectorAll
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
   404
                  #enabled: #hasSelection
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
   405
                )
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
   406
               #(#MenuItem
3692
712263b8f5ad menu texts: standard headline case
Claus Gittinger <cg@exept.de>
parents: 3676
diff changeset
   407
                  #label: 'Delete all Versions of all Selected Methods '
3607
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
   408
                  #translateLabel: true
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
   409
                  #isVisible: #hasMultiSelection
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
   410
                  #value: #doDeleteClassSelectorAll
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
   411
                  #enabled: #hasSelection
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
   412
                )
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
   413
               #(#MenuItem
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
   414
                  #label: '-'
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
   415
                )
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
   416
               #(#MenuItem
3275
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   417
                  #label: 'Compare with Current'
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   418
                  #translateLabel: true
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   419
                  #value: #doCompare
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   420
                  #enabled: #hasSingleSelection
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   421
                )
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   422
               #(#MenuItem
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   423
                  #label: '-'
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   424
                )
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   425
               #(#MenuItem
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   426
                  #label: 'Make Change a Patch'
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   427
                  #translateLabel: true
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   428
                  #value: #doMakePatch
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   429
                  #enabled: #hasSelection
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   430
                )
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   431
               )
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   432
              nil
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   433
              nil
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   434
            )
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   435
          )
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   436
         #(#MenuItem
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   437
            #label: 'Search'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   438
            #translateLabel: true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   439
            #submenu: 
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   440
           #(#Menu
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   441
              #(
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   442
               #(#MenuItem
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   443
                  #label: 'Class...'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   444
                  #translateLabel: true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   445
                  #value: #findClass
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   446
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   447
               #(#MenuItem
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   448
                  #label: 'Previous for Class'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   449
                  #translateLabel: true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   450
                  #value: #findPreviousForClass
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   451
                  #enabled: #hasSelection
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   452
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   453
               #(#MenuItem
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   454
                  #label: 'Next for Class'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   455
                  #translateLabel: true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   456
                  #value: #findNextForClass
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   457
                  #enabled: #hasSelection
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   458
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   459
               #(#MenuItem
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   460
                  #label: '-'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   461
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   462
               #(#MenuItem
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   463
                  #label: 'Selector...'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   464
                  #translateLabel: true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   465
                  #value: #findSelector
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   466
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   467
               #(#MenuItem
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   468
                  #label: 'Previous for Selector'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   469
                  #translateLabel: true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   470
                  #value: #findPreviousForSelector
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   471
                  #enabled: #hasSelection
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   472
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   473
               #(#MenuItem
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   474
                  #label: 'Next for Selector'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   475
                  #translateLabel: true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   476
                  #value: #findNextForSelector
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   477
                  #enabled: #hasSelection
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   478
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   479
               #(#MenuItem
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   480
                  #label: '-'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   481
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   482
               #(#MenuItem
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   483
                  #label: 'String...'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   484
                  #translateLabel: true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   485
                  #value: #findString
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   486
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   487
               #(#MenuItem
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   488
                  #label: 'Previous with String'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   489
                  #translateLabel: true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   490
                  #value: #findPreviousForString
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   491
                  #enabled: #hasSelection
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   492
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   493
               #(#MenuItem
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   494
                  #label: 'Next with String'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   495
                  #translateLabel: true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   496
                  #value: #findNextForString
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   497
                  #enabled: #hasSelection
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   498
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   499
               #(#MenuItem
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   500
                  #label: '-'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   501
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   502
               #(#MenuItem
3534
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
   503
                  #label: 'Previous Difference'
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
   504
                  #translateLabel: true
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
   505
                  #value: #findPreviousDifference
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
   506
                  #enabled: #hasSelection
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
   507
                )
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
   508
               #(#MenuItem
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
   509
                  #label: 'Next Difference'
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
   510
                  #translateLabel: true
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
   511
                  #value: #findNextDifference
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
   512
                  #enabled: #hasSelection
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
   513
                )
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
   514
               #(#MenuItem
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
   515
                  #label: '-'
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
   516
                )
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
   517
               #(#MenuItem
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   518
                  #label: 'Previous Snapshot'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   519
                  #translateLabel: true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   520
                  #value: #findPreviousSnapshot
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   521
                  #enabled: #hasSelection
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   522
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   523
               #(#MenuItem
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   524
                  #label: 'Next Snapshot'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   525
                  #translateLabel: true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   526
                  #value: #findNextSnapshot
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   527
                  #enabled: #hasSelection
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   528
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   529
               )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   530
              nil
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   531
              nil
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   532
            )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   533
          )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   534
         #(#MenuItem
3275
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   535
            #label: 'Browse'
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   536
            #translateLabel: true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   537
            #submenu: 
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   538
           #(#Menu
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   539
              #(
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   540
               #(#MenuItem
3275
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   541
                  #label: 'Class'
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   542
                  #translateLabel: true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   543
                  #value: #doBrowse
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   544
                  #enabled: #hasSingleSelection
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   545
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   546
               #(#MenuItem
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   547
                  #label: '-'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   548
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   549
               #(#MenuItem
3275
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   550
                  #label: 'Senders...'
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   551
                  #translateLabel: true
3275
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   552
                  #value: #doBrowseSenders
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   553
                )
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   554
               #(#MenuItem
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   555
                  #label: 'Implementors...'
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   556
                  #translateLabel: true
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
   557
                  #value: #doBrowseImplementors
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   558
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   559
               )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   560
              nil
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   561
              nil
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   562
            )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   563
          )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   564
         #(#MenuItem
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   565
            #label: 'Settings'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   566
            #translateLabel: true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   567
            #submenu: 
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   568
           #(#Menu
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   569
              #(
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   570
               #(#MenuItem
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   571
                  #label: 'Auto Compare'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   572
                  #translateLabel: true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   573
                  #indication: #autoCompare
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   574
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   575
               #(#MenuItem
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   576
                  #label: 'Auto Update'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   577
                  #translateLabel: true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   578
                  #indication: #autoUpdate
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   579
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   580
               #(#MenuItem
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   581
                  #label: '-'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   582
                )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   583
               #(#MenuItem
3319
abb70a0e9df2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3304
diff changeset
   584
                  #label: 'Add Applies to ChangeSet...'
abb70a0e9df2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3304
diff changeset
   585
                  #translateLabel: true
abb70a0e9df2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3304
diff changeset
   586
                  #indication: #updateChangeSet
abb70a0e9df2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3304
diff changeset
   587
                )
abb70a0e9df2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3304
diff changeset
   588
               #(#MenuItem
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   589
                  #label: 'Apply in Original NameSpace'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   590
                  #translateLabel: true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   591
                  #indication: #applyInOriginalNameSpace
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   592
                )
3227
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
   593
               #(#MenuItem
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
   594
                  #label: '-'
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
   595
                )
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
   596
               #(#MenuItem
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
   597
                  #label: 'Apply into Package...'
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
   598
                  #translateLabel: true
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
   599
                  #value: #setEnforcedPackage
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
   600
                )
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
   601
               #(#MenuItem
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
   602
                  #label: 'Apply into NameSpace...'
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
   603
                  #translateLabel: true
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
   604
                  #value: #setEnforcedNameSpace
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
   605
                  #enabled: #applyNotInOriginalNameSpace
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
   606
                )
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   607
               )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   608
              nil
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   609
              nil
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   610
            )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   611
          )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   612
         #(#MenuItem
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   613
            #label: 'Help'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   614
            #translateLabel: true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   615
            #startGroup: #right
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   616
            #submenu: 
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   617
           #(#Menu
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   618
              #(
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   619
               #(#MenuItem
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   620
                  #label: 'ChangesBrowser Documentation'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   621
                  #translateLabel: true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   622
                  #value: #openHTMLDocument:
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   623
                  #argument: 'tools/cbrowser/TOP.html'
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   624
                )
3205
83631369b396 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3204
diff changeset
   625
               #(#MenuItem
83631369b396 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3204
diff changeset
   626
                  #label: '-'
83631369b396 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3204
diff changeset
   627
                )
83631369b396 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3204
diff changeset
   628
               #(#MenuItem
83631369b396 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3204
diff changeset
   629
                  #label: 'About ChangesBrowser...'
83631369b396 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3204
diff changeset
   630
                  #translateLabel: true
83631369b396 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3204
diff changeset
   631
                  #value: #openAboutThisApplication
83631369b396 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3204
diff changeset
   632
                )
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   633
               )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   634
              nil
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   635
              nil
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   636
            )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   637
          )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   638
         )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   639
        nil
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   640
        nil
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   641
      )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   642
! !
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   643
3674
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   644
!ChangesBrowser class methodsFor:'private-changeFile access'!
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   645
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   646
readXMLChangesFrom:aStream inBackground:inBackground
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   647
    "read an XML source file (format as in campSmalltalk DTD)"
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   648
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   649
    |changeSet|
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   650
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   651
    (XML isNil or:[XML::SourceNodeBuilder isNil or:[XML::XMLParser isNil]]) ifTrue:[
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   652
        Smalltalk loadPackage:'stx:goodies/xml-vw'.
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   653
        (XML isNil or:[XML::SourceNodeBuilder isNil or:[XML::XMLParser isNil]]) ifTrue:[
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   654
            self error:'Could not load XML package(s) from ''stx:goodies/xml-vw'''.
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   655
        ]
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   656
    ].
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   657
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   658
    changeSet := ChangeSet new.
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   659
    XML::SourceScannerNodeBuilder new 
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   660
        scanFile:aStream 
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   661
        do:[:eachChange |
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   662
                changeSet addChange:eachChange.
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   663
        ].
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   664
    ^ changeSet
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   665
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   666
"/    builder := XML::SourceScannerNodeBuilder new.
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   667
"/    parser := XML::XMLParser on:aStream.
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   668
"/    parser builder:builder.
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   669
"/    parser validate:false.
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   670
"/    parser scanDocument.
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   671
!
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   672
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   673
readXMLChangesFromFile:changeFileName inBackground:inBackground
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   674
    |s set|
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   675
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   676
    s := changeFileName asFilename readStream.
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   677
    set := self readXMLChangesFrom:s inBackground:inBackground.
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   678
    s close.
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   679
    ^ set.
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   680
! !
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   681
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   682
!ChangesBrowser class methodsFor:'utilities'!
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   683
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   684
isXMLFile:aFilename
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   685
    |stream|
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   686
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   687
    stream := aFilename asFilename readStream.
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   688
    stream isNil ifTrue:[^ false].
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   689
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   690
    stream skipSeparators.
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   691
    stream peek == $< ifTrue:[
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   692
        "/ assume, its an xml file
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   693
        stream close.
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   694
        ^ true
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   695
    ].
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   696
    stream close.
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   697
    ^ false
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   698
! !
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
   699
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   700
!ChangesBrowser methodsFor:'aspects'!
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   701
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   702
applyInOriginalNameSpace
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   703
    ^ applyInOriginalNameSpace
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   704
!
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   705
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
   706
applyNotInOriginalNameSpace
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
   707
    ^ applyInOriginalNameSpace value not
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
   708
!
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
   709
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   710
autoCompare
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   711
    ^ autoCompare
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   712
!
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   713
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   714
autoUpdate
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   715
    "enabled/disable automatic update from the change-file (for monitoring)"
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   716
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   717
    ^ autoUpdate
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   718
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   719
    "Created: 3.12.1995 / 14:14:24 / cg"
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   720
    "Modified: 3.12.1995 / 14:20:45 / cg"
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   721
!
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   722
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   723
editingClassSource
3203
44ac975f0993 pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3202
diff changeset
   724
    ^ editingClassSource ? false
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   725
!
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   726
3227
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
   727
hasMultiSelection
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
   728
    ^ self hasSelection and:[self hasSingleSelection not]
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
   729
!
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
   730
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
   731
hasNoMultiSelection
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
   732
    ^ self hasMultiSelection not
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
   733
!
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
   734
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
   735
hasNoSelection
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
   736
    ^ self hasSelection not
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
   737
!
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
   738
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   739
hasSelection
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   740
    ^ changeListView hasSelection 
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   741
!
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   742
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   743
hasSingleSelection
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   744
    changeListView multipleSelectOk ifTrue:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   745
        ^ changeListView selection size == 1
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   746
    ].
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   747
    ^ changeListView hasSelection
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   748
!
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   749
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   750
notEditingClassSource
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   751
    ^ self editingClassSource not
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   752
!
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   753
3224
b2f3a2a0bc80 readOnly flag added (for method-versions browsing)
Claus Gittinger <cg@exept.de>
parents: 3211
diff changeset
   754
notEditingClassSourceAndNotReadOnly
b2f3a2a0bc80 readOnly flag added (for method-versions browsing)
Claus Gittinger <cg@exept.de>
parents: 3211
diff changeset
   755
    ^ (self editingClassSource or:[readOnly == true]) not
b2f3a2a0bc80 readOnly flag added (for method-versions browsing)
Claus Gittinger <cg@exept.de>
parents: 3211
diff changeset
   756
!
b2f3a2a0bc80 readOnly flag added (for method-versions browsing)
Claus Gittinger <cg@exept.de>
parents: 3211
diff changeset
   757
b2f3a2a0bc80 readOnly flag added (for method-versions browsing)
Claus Gittinger <cg@exept.de>
parents: 3211
diff changeset
   758
notReadOnly
b2f3a2a0bc80 readOnly flag added (for method-versions browsing)
Claus Gittinger <cg@exept.de>
parents: 3211
diff changeset
   759
    ^ (readOnly ~~ true)
b2f3a2a0bc80 readOnly flag added (for method-versions browsing)
Claus Gittinger <cg@exept.de>
parents: 3211
diff changeset
   760
!
b2f3a2a0bc80 readOnly flag added (for method-versions browsing)
Claus Gittinger <cg@exept.de>
parents: 3211
diff changeset
   761
b2f3a2a0bc80 readOnly flag added (for method-versions browsing)
Claus Gittinger <cg@exept.de>
parents: 3211
diff changeset
   762
readOnly:aBoolean
b2f3a2a0bc80 readOnly flag added (for method-versions browsing)
Claus Gittinger <cg@exept.de>
parents: 3211
diff changeset
   763
    readOnly := aBoolean
b2f3a2a0bc80 readOnly flag added (for method-versions browsing)
Claus Gittinger <cg@exept.de>
parents: 3211
diff changeset
   764
!
b2f3a2a0bc80 readOnly flag added (for method-versions browsing)
Claus Gittinger <cg@exept.de>
parents: 3211
diff changeset
   765
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   766
theSingleSelection
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   767
    |sel|
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   768
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   769
    sel := changeListView selection.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   770
    changeListView multipleSelectOk ifTrue:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   771
        sel size == 1 ifTrue:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   772
            ^ sel first
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   773
        ].
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   774
        ^ nil
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   775
    ].
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   776
    ^ sel.
3319
abb70a0e9df2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3304
diff changeset
   777
!
abb70a0e9df2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3304
diff changeset
   778
abb70a0e9df2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3304
diff changeset
   779
updateChangeSet
abb70a0e9df2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3304
diff changeset
   780
    ^ updateChangeSet
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   781
! !
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   782
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   783
!ChangesBrowser methodsFor:'compiler interface'!
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   784
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   785
wantChangeLog
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   786
    "sent by the compiler to ask if a changeLog entry should
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
   787
     be written when compiling. Return false here."
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   788
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   789
    ^ false
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   790
! !
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   791
2604
d09c51169bc8 category rename
Claus Gittinger <cg@exept.de>
parents: 2576
diff changeset
   792
!ChangesBrowser methodsFor:'compiler interface - error handling'!
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   793
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   794
correctableError:aString position:relPos to:relEndPos from:aCompiler
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   795
    "compiler notifys us of an error - this should really not happen since
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   796
     changes ought to be correct (did someone edit the changes file ??).
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   797
     Show the bad change in the codeView and let codeView hilight the error;
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   798
     no corrections allowed here therefore return false"
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   799
2293
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
   800
    ShowWarningDialogs == true ifTrue:[
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
   801
        self error:aString position:relPos to:relEndPos from:aCompiler.
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
   802
    ] ifFalse:[
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
   803
        Transcript showCR:aString.
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
   804
    ].
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   805
    ^ false
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   806
!
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   807
2555
d92a6526ec47 correctable selectors.
Claus Gittinger <cg@exept.de>
parents: 2541
diff changeset
   808
correctableSelectorWarning:aString position:relPos to:relEndPos from:aCompiler
d92a6526ec47 correctable selectors.
Claus Gittinger <cg@exept.de>
parents: 2541
diff changeset
   809
    "compiler notifys us of a warning"
d92a6526ec47 correctable selectors.
Claus Gittinger <cg@exept.de>
parents: 2541
diff changeset
   810
d92a6526ec47 correctable selectors.
Claus Gittinger <cg@exept.de>
parents: 2541
diff changeset
   811
    ^ false
d92a6526ec47 correctable selectors.
Claus Gittinger <cg@exept.de>
parents: 2541
diff changeset
   812
d92a6526ec47 correctable selectors.
Claus Gittinger <cg@exept.de>
parents: 2541
diff changeset
   813
    "Modified: / 19.1.2000 / 16:25:31 / cg"
d92a6526ec47 correctable selectors.
Claus Gittinger <cg@exept.de>
parents: 2541
diff changeset
   814
    "Created: / 19.1.2000 / 16:27:23 / cg"
d92a6526ec47 correctable selectors.
Claus Gittinger <cg@exept.de>
parents: 2541
diff changeset
   815
!
d92a6526ec47 correctable selectors.
Claus Gittinger <cg@exept.de>
parents: 2541
diff changeset
   816
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   817
error:aString position:relPos to:relEndPos from:aCompiler
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   818
    "compiler notifys us of an error - this should really not happen since
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   819
     changes ought to be correct (did someone edit the changes file ??).
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   820
     Show the bad change in the codeView and let codeView hilight the error"
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   821
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   822
    |action|
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   823
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   824
    (changeNrProcessed ~~ changeNrShown) ifTrue:[
2293
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
   825
        self changeSelection:changeNrProcessed
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   826
    ].
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   827
    (skipSignal notNil) ifTrue:[
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   828
2293
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
   829
        codeView highlightingErrorPosition:relPos to:relEndPos do:[
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
   830
            |box|
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
   831
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
   832
            "
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
   833
             start dialog - make certain cleanup is done
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
   834
            "
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
   835
            action := OptionBox 
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
   836
                          request:aString
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
   837
                          label:'Error'
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
   838
                          form:(WarningBox iconBitmap)
3771
99f966f392d4 button labels uppercase
Claus Gittinger <cg@exept.de>
parents: 3717
diff changeset
   839
                          buttonLabels:#('Cancel' 'Skip' " 'Shut up' " 'Continue')
2420
6de430648cfe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2417
diff changeset
   840
                          values:#(#abort #skip " #shutUp " #continue)
3071
652c6b4f6981 optionBox: cancel-value corrected
Claus Gittinger <cg@exept.de>
parents: 3069
diff changeset
   841
                          default:#continue
652c6b4f6981 optionBox: cancel-value corrected
Claus Gittinger <cg@exept.de>
parents: 3069
diff changeset
   842
                          onCancel:#abort.
2293
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
   843
        ].
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
   844
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
   845
"/        action == #shutUp ifTrue:[
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
   846
"/            aCompiler ignoreWarnings.
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
   847
"/            ^  false 
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
   848
"/        ].
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
   849
3071
652c6b4f6981 optionBox: cancel-value corrected
Claus Gittinger <cg@exept.de>
parents: 3069
diff changeset
   850
        (action == #abort) ifTrue:[
3436
c4fe19deba58 class based exceptions - abortSignal;
Claus Gittinger <cg@exept.de>
parents: 3406
diff changeset
   851
            AbortOperationRequest raise.
2293
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
   852
            ^ false
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
   853
        ].
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
   854
        action == #skip ifTrue:[
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
   855
            skipSignal raise.
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
   856
            ^ false
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
   857
        ].
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
   858
        ^  false 
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   859
    ].
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   860
    ^ codeView error:aString position:relPos to:relEndPos from:aCompiler
373
292071301f91 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 358
diff changeset
   861
3436
c4fe19deba58 class based exceptions - abortSignal;
Claus Gittinger <cg@exept.de>
parents: 3406
diff changeset
   862
    "Modified: / 16.11.2001 / 17:38:10 / cg"
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   863
!
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   864
3064
20d22fe3d13b unusedVariableWarning
Claus Gittinger <cg@exept.de>
parents: 2965
diff changeset
   865
unusedVariableWarning:aString position:relPos to:relEndPos from:aCompiler
20d22fe3d13b unusedVariableWarning
Claus Gittinger <cg@exept.de>
parents: 2965
diff changeset
   866
    "compiler notifies us of a (or some) unused variables;
20d22fe3d13b unusedVariableWarning
Claus Gittinger <cg@exept.de>
parents: 2965
diff changeset
   867
     hilight the error (relPos to relEndPos) and show a Box asking for continue/correct/abort;
20d22fe3d13b unusedVariableWarning
Claus Gittinger <cg@exept.de>
parents: 2965
diff changeset
   868
     this method should return true to the compiler if user wants the error
20d22fe3d13b unusedVariableWarning
Claus Gittinger <cg@exept.de>
parents: 2965
diff changeset
   869
     to be corrected; false otherwise"
20d22fe3d13b unusedVariableWarning
Claus Gittinger <cg@exept.de>
parents: 2965
diff changeset
   870
20d22fe3d13b unusedVariableWarning
Claus Gittinger <cg@exept.de>
parents: 2965
diff changeset
   871
    ^ false
20d22fe3d13b unusedVariableWarning
Claus Gittinger <cg@exept.de>
parents: 2965
diff changeset
   872
!
20d22fe3d13b unusedVariableWarning
Claus Gittinger <cg@exept.de>
parents: 2965
diff changeset
   873
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   874
warning:aString position:relPos to:relEndPos from:aCompiler
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   875
    "compiler notifys us of a warning - ignore it"
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   876
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   877
    ^ self
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   878
! !
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   879
2604
d09c51169bc8 category rename
Claus Gittinger <cg@exept.de>
parents: 2576
diff changeset
   880
!ChangesBrowser methodsFor:'event handling'!
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   881
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   882
handlesKeyPress:key inView:view
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   883
    "this method is reached via delegation: are we prepared to handle
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   884
     a keyPress in some other view ?"
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   885
1127
32383ecaebe4 added alt-S for search
Claus Gittinger <cg@exept.de>
parents: 1109
diff changeset
   886
    <resource: #keyboard (#Delete #BackSpace #Accept #Find #FindPrev #FindNext)>
417
c80a8acf429c show shortkeys in changeList view
Claus Gittinger <cg@exept.de>
parents: 394
diff changeset
   887
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   888
    view == changeListView ifTrue:[
1378
f7cf4cf1baf2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1368
diff changeset
   889
	(key == #Delete 
f7cf4cf1baf2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1368
diff changeset
   890
	or:[key == #BackSpace
f7cf4cf1baf2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1368
diff changeset
   891
	or:[key == #Accept
f7cf4cf1baf2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1368
diff changeset
   892
	or:[key == #Find
f7cf4cf1baf2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1368
diff changeset
   893
	or:[key == #FindPrev
f7cf4cf1baf2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1368
diff changeset
   894
	or:[key == #FindNext]]]]]) ifTrue:[^ true].
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   895
    ].
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   896
    ^ false
417
c80a8acf429c show shortkeys in changeList view
Claus Gittinger <cg@exept.de>
parents: 394
diff changeset
   897
1127
32383ecaebe4 added alt-S for search
Claus Gittinger <cg@exept.de>
parents: 1109
diff changeset
   898
    "Modified: 8.4.1997 / 11:01:42 / cg"
0
571fd5eee315 Initial revision
claus
parents:
diff changeset
   899
!
571fd5eee315 Initial revision
claus
parents:
diff changeset
   900
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   901
keyPress:key x:x y:y view:view
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   902
    "this method is reached via delegation from the changeListView"
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   903
1127
32383ecaebe4 added alt-S for search
Claus Gittinger <cg@exept.de>
parents: 1109
diff changeset
   904
    <resource: #keyboard (#Delete #BackSpace #Accept #Find #FindPrev #FindNext)>
417
c80a8acf429c show shortkeys in changeList view
Claus Gittinger <cg@exept.de>
parents: 394
diff changeset
   905
3249
b6509548b414 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3242
diff changeset
   906
    (key == #Delete) ifTrue:[
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
   907
        self doDelete.
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
   908
        ^ self
417
c80a8acf429c show shortkeys in changeList view
Claus Gittinger <cg@exept.de>
parents: 394
diff changeset
   909
    ].
3249
b6509548b414 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3242
diff changeset
   910
    (key == #BackSpace) ifTrue:[
b6509548b414 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3242
diff changeset
   911
        self doDeleteAndSelectPrevious.
b6509548b414 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3242
diff changeset
   912
        ^ self
b6509548b414 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3242
diff changeset
   913
    ].
417
c80a8acf429c show shortkeys in changeList view
Claus Gittinger <cg@exept.de>
parents: 394
diff changeset
   914
    (key == #Accept) ifTrue:[
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
   915
        self doApply.
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
   916
        ^ self
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   917
    ].
1127
32383ecaebe4 added alt-S for search
Claus Gittinger <cg@exept.de>
parents: 1109
diff changeset
   918
    (key == #Find) ifTrue:[
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
   919
        self findClass.
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
   920
        ^ self
1127
32383ecaebe4 added alt-S for search
Claus Gittinger <cg@exept.de>
parents: 1109
diff changeset
   921
    ].
975
41a41f54874d added findPrev (Alt-B) and findNext (Alt-F)
Claus Gittinger <cg@exept.de>
parents: 958
diff changeset
   922
    (key == #FindPrev) ifTrue:[
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
   923
        self findPrevious.
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
   924
        ^ self
975
41a41f54874d added findPrev (Alt-B) and findNext (Alt-F)
Claus Gittinger <cg@exept.de>
parents: 958
diff changeset
   925
    ].
41a41f54874d added findPrev (Alt-B) and findNext (Alt-F)
Claus Gittinger <cg@exept.de>
parents: 958
diff changeset
   926
    (key == #FindNext) ifTrue:[
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
   927
        self findNext.
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
   928
        ^ self
975
41a41f54874d added findPrev (Alt-B) and findNext (Alt-F)
Claus Gittinger <cg@exept.de>
parents: 958
diff changeset
   929
    ].
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   930
    changeListView keyPress:key x:x y:y
417
c80a8acf429c show shortkeys in changeList view
Claus Gittinger <cg@exept.de>
parents: 394
diff changeset
   931
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
   932
    "Modified: / 18.6.1998 / 22:15:36 / cg"
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   933
! !
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   934
3327
b9b51d81a3b9 category included a space
Claus Gittinger <cg@exept.de>
parents: 3319
diff changeset
   935
!ChangesBrowser methodsFor:'help'!
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   936
394
1d19a14fc96e show activity notifiactions
Claus Gittinger <cg@exept.de>
parents: 392
diff changeset
   937
showActivity:someMessage
502
e8d7b3f08e03 commentary
Claus Gittinger <cg@exept.de>
parents: 489
diff changeset
   938
    "some activityNotification to be forwarded to the user;
e8d7b3f08e03 commentary
Claus Gittinger <cg@exept.de>
parents: 489
diff changeset
   939
     show it in the windows title area here."
e8d7b3f08e03 commentary
Claus Gittinger <cg@exept.de>
parents: 489
diff changeset
   940
394
1d19a14fc96e show activity notifiactions
Claus Gittinger <cg@exept.de>
parents: 392
diff changeset
   941
    self label:someMessage
1d19a14fc96e show activity notifiactions
Claus Gittinger <cg@exept.de>
parents: 392
diff changeset
   942
1d19a14fc96e show activity notifiactions
Claus Gittinger <cg@exept.de>
parents: 392
diff changeset
   943
    "Created: 24.2.1996 / 19:35:42 / cg"
502
e8d7b3f08e03 commentary
Claus Gittinger <cg@exept.de>
parents: 489
diff changeset
   944
    "Modified: 23.4.1996 / 21:39:36 / cg"
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   945
! !
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   946
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   947
!ChangesBrowser methodsFor:'initialize / release'!
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   948
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   949
autoCompareChanged
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   950
    "sent from the compare-toggle"
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   951
3534
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
   952
    |doCompare|
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
   953
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
   954
    doCompare := autoCompare value.
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
   955
    DefaultAutoCompare := doCompare.
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
   956
    self setupTabSpec.
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
   957
    doCompare ifTrue:[
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   958
        self doUpdate
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   959
    ] ifFalse:[
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   960
        changeListView invalidate. "/ clear; redraw.
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   961
    ]
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   962
!
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   963
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   964
changeListMenu
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
   965
    "return the menu for the change (upper) list"
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
   966
586
1acb0c4f0ecd added resource info
Claus Gittinger <cg@exept.de>
parents: 584
diff changeset
   967
    <resource: #keyboard ( #Accept #Delete ) >
1359
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
   968
    <resource: #programMenu >
586
1acb0c4f0ecd added resource info
Claus Gittinger <cg@exept.de>
parents: 584
diff changeset
   969
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   970
    |items m replNext replPrev sel|
1670
c3915af3f7f6 use new menu creation message
Claus Gittinger <cg@exept.de>
parents: 1649
diff changeset
   971
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
   972
    self sensor ctrlDown ifTrue:[
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
   973
        "/ notice - findNext/prev shortKeys will search for the same thing again.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
   974
        items := #(
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   975
                          ('Search Class...'              findClass               #Find       )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   976
                          ('Previous for this Class'      findPreviousForClass    #FindPrevClass      )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   977
                          ('Next for this Class'          findNextForClass        #FindNextClass      )
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
   978
                          ('-'                                                                )
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   979
                          ('Search Selector...'           findSelector                        )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   980
                          ('Previous with this Selector'  findPreviousForSelector #FindPrevSelector   )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   981
                          ('Next with this Selector'      findNextForSelector     #FindNextSelector   )
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
   982
                          ('-'                                                                )
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   983
                          ('Search String...'             findString                        )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   984
                          ('Previous with this String'    findPreviousForString   #FindPrevString   )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   985
                          ('Next with this String'        findNextForString       #FindNextString   )
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
   986
                          ('-'                                                                )
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   987
                          ('Previous Snapshot'            findPreviousSnapshot    #FindPrevSnapshot   )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
   988
                          ('Next Snapshot'                findNextSnapshot        #FindNextSnapshot   )
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
   989
                 ).
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
   990
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
   991
        lastSearchType == #selector ifTrue:[
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
   992
            replNext := #FindNextSelector.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
   993
            replPrev := #FindPrevSelector.
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
   994
        ] ifFalse:[
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
   995
            lastSearchType == #snapshot ifTrue:[
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
   996
                replNext := #FindNextSnapshot.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
   997
                replPrev := #FindPrevSnapshot.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
   998
            ] ifFalse:[
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
   999
                lastSearchType == #string ifTrue:[
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1000
                    replNext := #FindNextString.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1001
                    replPrev := #FindPrevString.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1002
                ] ifFalse:[
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1003
                    replNext := #FindNextClass.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1004
                    replPrev := #FindPrevClass.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1005
                ]
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1006
            ]
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  1007
        ].
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1008
        items := items deepCopy.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1009
        items do:[:each | 
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1010
                        each replaceAll:replNext with:#FindNext.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1011
                        each replaceAll:replPrev with:#FindPrev.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1012
                        each replaceAny:#(FindNextClass FindPrevClass 
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1013
                                          FindNextSelector FindPrevSelector
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1014
                                          FindNextSnapshot FindPrevSnapshot
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1015
                                          FindNextString FindPrevString)
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1016
                             with:nil.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1017
                 ].
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1018
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  1019
        ^ PopUpMenu itemList:items resources:resources.
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  1020
    ].
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  1021
1670
c3915af3f7f6 use new menu creation message
Claus Gittinger <cg@exept.de>
parents: 1649
diff changeset
  1022
    items := #(
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1023
                      ('Apply'                        doApply                    Accept)
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1024
                      ('Apply to End'                 doApplyRest                      )
3668
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  1025
                      ('Apply from Begin'             doApplyFromBeginning             )
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1026
                      ('Apply for Class to End'       doApplyClassRest                 )
3668
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  1027
                      ('Apply for Class from Begin'   doApplyClassFromBeginning        )
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1028
                      ('Apply All'                    doApplyAll                       )
1670
c3915af3f7f6 use new menu creation message
Claus Gittinger <cg@exept.de>
parents: 1649
diff changeset
  1029
                      ('-'                                                             )
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1030
                      ('Delete'                       doDelete                   Delete)
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1031
                      ('Delete to End'                doDeleteRest                     )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1032
                      ('Delete for Class to End'      doDeleteClassRest                )
3234
1cb3bf47d498 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3229
diff changeset
  1033
                      ('Delete for Class from Begin'  doDeleteClassFromBeginning       )
3227
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  1034
             ).
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  1035
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  1036
    (self hasSelection and:[self hasSingleSelection not]) ifTrue:[
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  1037
        items := items ,
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  1038
                 #(
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  1039
                          ('Delete All for Classes'         doDeleteClassAll                 )
3698
5ca78c14d740 menu items/button labels uppercase-first
Claus Gittinger <cg@exept.de>
parents: 3692
diff changeset
  1040
                          ('Delete All for Classes & their Private Classes' doDeleteClassAndPrivateClassesAll )
3227
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  1041
                 ).
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  1042
    ] ifFalse:[
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  1043
        items := items ,
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  1044
                 #(
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  1045
                          ('Delete All for Class'         doDeleteClassAll                 )
3698
5ca78c14d740 menu items/button labels uppercase-first
Claus Gittinger <cg@exept.de>
parents: 3692
diff changeset
  1046
                          ('Delete All for Class & its Private Classes' doDeleteClassAndPrivateClassesAll )
3227
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  1047
                 ).
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  1048
    ].
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  1049
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  1050
    items := items ,
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  1051
             #(
1670
c3915af3f7f6 use new menu creation message
Claus Gittinger <cg@exept.de>
parents: 1649
diff changeset
  1052
                      ('-'                                                             )
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1053
                      ('Compress'                     doCompress                       )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1054
                      ('Compress for Class'           doCompressClass                  )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1055
                      ('Compare and Compress'         doCompareAndCompress             )
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  1056
                      ('-'                                                             )
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1057
                      ('Compare with current Version' doCompare                        )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1058
                      ('Browse Class'                 doBrowse                         )
1670
c3915af3f7f6 use new menu creation message
Claus Gittinger <cg@exept.de>
parents: 1649
diff changeset
  1059
                      ('-'                                                             )
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1060
                      ('Make Change a Patch'          doMakePatch                      )
1670
c3915af3f7f6 use new menu creation message
Claus Gittinger <cg@exept.de>
parents: 1649
diff changeset
  1061
             ).
703
1b3b008d9f19 fixed to allow class-source files to be handled
Claus Gittinger <cg@exept.de>
parents: 627
diff changeset
  1062
1b3b008d9f19 fixed to allow class-source files to be handled
Claus Gittinger <cg@exept.de>
parents: 627
diff changeset
  1063
    editingClassSource ifFalse:[
1670
c3915af3f7f6 use new menu creation message
Claus Gittinger <cg@exept.de>
parents: 1649
diff changeset
  1064
        items := items , #(
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1065
                      ('Fileout & Delete All for Class' doFileoutAndDeleteClassAll     )
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1066
                      ('CheckIn & Delete All for Class' doCheckinAndDeleteClassAll     )
1670
c3915af3f7f6 use new menu creation message
Claus Gittinger <cg@exept.de>
parents: 1649
diff changeset
  1067
                          )
703
1b3b008d9f19 fixed to allow class-source files to be handled
Claus Gittinger <cg@exept.de>
parents: 627
diff changeset
  1068
    ].
1b3b008d9f19 fixed to allow class-source files to be handled
Claus Gittinger <cg@exept.de>
parents: 627
diff changeset
  1069
1670
c3915af3f7f6 use new menu creation message
Claus Gittinger <cg@exept.de>
parents: 1649
diff changeset
  1070
    items := items , #(
2474
6767e6c2f04c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2466
diff changeset
  1071
                      ('-'                                            )
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1072
                      ('Save in...'                  doSave           )
3698
5ca78c14d740 menu items/button labels uppercase-first
Claus Gittinger <cg@exept.de>
parents: 3692
diff changeset
  1073
                      ('Save to End In...'           doSaveRest       )
5ca78c14d740 menu items/button labels uppercase-first
Claus Gittinger <cg@exept.de>
parents: 3692
diff changeset
  1074
                      ('Save for Class to End In...' doSaveClassRest  )
5ca78c14d740 menu items/button labels uppercase-first
Claus Gittinger <cg@exept.de>
parents: 3692
diff changeset
  1075
                      ('Save All for Class In...'    doSaveClassAll   )
2474
6767e6c2f04c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2466
diff changeset
  1076
                      ('-'                                            )
1670
c3915af3f7f6 use new menu creation message
Claus Gittinger <cg@exept.de>
parents: 1649
diff changeset
  1077
                     ).
703
1b3b008d9f19 fixed to allow class-source files to be handled
Claus Gittinger <cg@exept.de>
parents: 627
diff changeset
  1078
1b3b008d9f19 fixed to allow class-source files to be handled
Claus Gittinger <cg@exept.de>
parents: 627
diff changeset
  1079
    editingClassSource ifTrue:[
1670
c3915af3f7f6 use new menu creation message
Claus Gittinger <cg@exept.de>
parents: 1649
diff changeset
  1080
        items := items , #(
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1081
                      ('Writeback ClassFile'  doWriteBack )
1670
c3915af3f7f6 use new menu creation message
Claus Gittinger <cg@exept.de>
parents: 1649
diff changeset
  1082
                     )
703
1b3b008d9f19 fixed to allow class-source files to be handled
Claus Gittinger <cg@exept.de>
parents: 627
diff changeset
  1083
    ] ifFalse:[
1670
c3915af3f7f6 use new menu creation message
Claus Gittinger <cg@exept.de>
parents: 1649
diff changeset
  1084
        items := items , #(
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1085
                      ('Writeback ChangeFile' doWriteBack )
1670
c3915af3f7f6 use new menu creation message
Claus Gittinger <cg@exept.de>
parents: 1649
diff changeset
  1086
                     )
703
1b3b008d9f19 fixed to allow class-source files to be handled
Claus Gittinger <cg@exept.de>
parents: 627
diff changeset
  1087
    ].
1b3b008d9f19 fixed to allow class-source files to be handled
Claus Gittinger <cg@exept.de>
parents: 627
diff changeset
  1088
1833
c9b1a30b326d moved update item to the end
Claus Gittinger <cg@exept.de>
parents: 1788
diff changeset
  1089
    items := items , #(
c9b1a30b326d moved update item to the end
Claus Gittinger <cg@exept.de>
parents: 1788
diff changeset
  1090
                  ('-'                                                             )
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1091
                  ('Update'                       doUpdate                         )
1833
c9b1a30b326d moved update item to the end
Claus Gittinger <cg@exept.de>
parents: 1788
diff changeset
  1092
                 ).
1670
c3915af3f7f6 use new menu creation message
Claus Gittinger <cg@exept.de>
parents: 1649
diff changeset
  1093
c3915af3f7f6 use new menu creation message
Claus Gittinger <cg@exept.de>
parents: 1649
diff changeset
  1094
    m := PopUpMenu itemList:items resources:resources.
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1095
255
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  1096
    "/
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  1097
    "/ disable those that require a selected entry
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  1098
    "/
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1099
    self hasSelection ifFalse:[
1670
c3915af3f7f6 use new menu creation message
Claus Gittinger <cg@exept.de>
parents: 1649
diff changeset
  1100
        m disableAll:#(doApply doApplyClassRest doApplyRest doDelete doDeleteRest doDeleteClassRest
2511
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  1101
                       doDeleteClassFromBeginning doDeleteClassAll doDeleteClassAndPrivateClassesAll 
1670
c3915af3f7f6 use new menu creation message
Claus Gittinger <cg@exept.de>
parents: 1649
diff changeset
  1102
                       doCompare doCompressClass doMakePatch doSaveChangeInFile doMakePermanent
2541
f8b6ae881564 experimental: checkIn & deleteForClass added.
Claus Gittinger <cg@exept.de>
parents: 2527
diff changeset
  1103
                       doSave doSaveRest doSaveClassAll doSaveClassRest doBrowse 
f8b6ae881564 experimental: checkIn & deleteForClass added.
Claus Gittinger <cg@exept.de>
parents: 2527
diff changeset
  1104
                       doFileoutAndDeleteClassAll doCheckinAndDeleteClassAll) 
1368
a27fc06ba9ea checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1359
diff changeset
  1105
    ] ifTrue:[
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1106
        sel := self theSingleSelection.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1107
        sel isNil ifTrue:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1108
            "/ multiple selections
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1109
            m disableAll:#(doApplyClassRest doApplyRest doDeleteClassRest doDeleteRest
3227
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  1110
                           doDeleteClassFromBeginning 
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1111
                           doCompressClass doCompare
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1112
                           doSaveClassAll doSaveClassRest doSaveRest doBrowse 
3442
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  1113
                           doFileoutAndDeleteClassAll) 
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1114
        ] ifFalse:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1115
            (self classNameOfChange:sel) isNil ifTrue:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1116
                m disableAll:#(doApplyClassRest doDeleteClassRest
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1117
                               doDeleteClassFromBeginning doDeleteClassAll doDeleteClassAndPrivateClassesAll
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1118
                               doCompressClass doCompare doMakePatch
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1119
                               doSaveClassAll doSaveClassRest doBrowse 
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1120
                               doFileoutAndDeleteClassAll doCheckinAndDeleteClassAll) 
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1121
            ]
1670
c3915af3f7f6 use new menu creation message
Claus Gittinger <cg@exept.de>
parents: 1649
diff changeset
  1122
        ]
255
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  1123
    ].
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  1124
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  1125
    "/
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  1126
    "/ disable those that do not make sense with autoUpdate
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  1127
    "/ ('cause this would be overwritten by next update operation)
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  1128
    "/
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1129
    autoUpdate value ifTrue:[
2511
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  1130
        m disableAll:#(doDelete doDeleteRest doDeleteClassRest doDeleteClassAll 
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  1131
                       doDeleteClassAndPrivateClassesAll doCompress 
2541
f8b6ae881564 experimental: checkIn & deleteForClass added.
Claus Gittinger <cg@exept.de>
parents: 2527
diff changeset
  1132
                       doFileoutAndDeleteClassAll doCheckinAndDeleteClassAll
f8b6ae881564 experimental: checkIn & deleteForClass added.
Claus Gittinger <cg@exept.de>
parents: 2527
diff changeset
  1133
                       doWriteBack)
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1134
    ].
3227
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  1135
    readOnly == true ifTrue:[
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  1136
        m disableAll:#(doDelete doDeleteRest doDeleteClassRest doDeleteClassAll 
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  1137
                       doDeleteClassAndPrivateClassesAll doCompress 
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  1138
                       doFileoutAndDeleteClassAll doCheckinAndDeleteClassAll
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  1139
                       doWriteBack doSaveBack doUpdate
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  1140
                       doApplyAll doApplyRest)
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  1141
    ].
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  1142
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  1143
    self hasSelection ifTrue:[
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  1144
        m disable:#doApplyAll
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  1145
    ].
3224
b2f3a2a0bc80 readOnly flag added (for method-versions browsing)
Claus Gittinger <cg@exept.de>
parents: 3211
diff changeset
  1146
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1147
    ^ m
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1148
1359
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  1149
    "Modified: / 6.9.1995 / 17:14:22 / claus"
3442
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  1150
    "Modified: / 17.11.2001 / 14:16:14 / cg"
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1151
!
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1152
2114
720edbe757f5 category change
Claus Gittinger <cg@exept.de>
parents: 2093
diff changeset
  1153
destroy
720edbe757f5 category change
Claus Gittinger <cg@exept.de>
parents: 2093
diff changeset
  1154
    "destroy the receiver; make certain, that boxes are destroyed too"
720edbe757f5 category change
Claus Gittinger <cg@exept.de>
parents: 2093
diff changeset
  1155
720edbe757f5 category change
Claus Gittinger <cg@exept.de>
parents: 2093
diff changeset
  1156
    Processor removeTimedBlock:checkBlock.
720edbe757f5 category change
Claus Gittinger <cg@exept.de>
parents: 2093
diff changeset
  1157
    ObjectMemory removeDependent:self.
720edbe757f5 category change
Claus Gittinger <cg@exept.de>
parents: 2093
diff changeset
  1158
    super destroy
720edbe757f5 category change
Claus Gittinger <cg@exept.de>
parents: 2093
diff changeset
  1159
!
720edbe757f5 category change
Claus Gittinger <cg@exept.de>
parents: 2093
diff changeset
  1160
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1161
focusSequence
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1162
    ^ Array with:changeListView with:codeView
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1163
!
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1164
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1165
initialize
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1166
    |panel v upperFrame buttonPanel menuPanel mH
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1167
     checkBox protectExistingMethods oldStyle|
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1168
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1169
    "/ oldStyle := true.
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1170
    oldStyle := false.
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1171
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1172
    super initialize.
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1173
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1174
    changeFileName := ObjectMemory nameForChanges. "/ 'changes'.
3534
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  1175
    autoCompare := (DefaultAutoCompare ? false) asValue.
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1176
    autoCompare onChangeSend:#autoCompareChanged to:self.
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1177
    autoUpdate := false asValue.
2343
20af8b9e9d8d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2341
diff changeset
  1178
    applyInOriginalNameSpace := true asValue.
3319
abb70a0e9df2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3304
diff changeset
  1179
    updateChangeSet := false asValue.
221
6c278b8ec6ca added autoUpdate
Claus Gittinger <cg@exept.de>
parents: 209
diff changeset
  1180
1099
b0a4e8ccc5cc Use #pushEvent: for timer handling.
Stefan Vogel <sv@exept.de>
parents: 1090
diff changeset
  1181
    "
b0a4e8ccc5cc Use #pushEvent: for timer handling.
Stefan Vogel <sv@exept.de>
parents: 1090
diff changeset
  1182
      checkBlock is executed by the Processor.
b0a4e8ccc5cc Use #pushEvent: for timer handling.
Stefan Vogel <sv@exept.de>
parents: 1090
diff changeset
  1183
      We use #pushEvent: to perform the update
b0a4e8ccc5cc Use #pushEvent: for timer handling.
Stefan Vogel <sv@exept.de>
parents: 1090
diff changeset
  1184
      in our windowgroups process.
b0a4e8ccc5cc Use #pushEvent: for timer handling.
Stefan Vogel <sv@exept.de>
parents: 1090
diff changeset
  1185
    "
b0a4e8ccc5cc Use #pushEvent: for timer handling.
Stefan Vogel <sv@exept.de>
parents: 1090
diff changeset
  1186
    checkBlock := [self pushEvent:#checkIfFileHasChanged].
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1187
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1188
    oldStyle ifFalse:[
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1189
        menuPanel := MenuPanel in:self.
3242
0fc239690314 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3234
diff changeset
  1190
        "/ menuPanel level:1.
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1191
        menuPanel verticalLayout:false.
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1192
        menuPanel receiver:self.
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1193
        menuPanel menu:(self pullDownMenu).
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1194
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1195
        mH := menuPanel preferredExtent y.
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1196
        menuPanel origin:(0.0 @ 0.0) corner:(1.0 @ (mH)).
3297
12b826adb7aa *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3292
diff changeset
  1197
        mH := mH + 1.
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1198
    ] ifTrue:[
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1199
        mH := 0.0
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1200
    ].
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1201
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1202
    panel := VariableVerticalPanel origin:(0.0 @ mH)
1471
f73ed23816d4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  1203
                                   corner:(1.0 @ 1.0)
f73ed23816d4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  1204
                              borderWidth:0
f73ed23816d4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  1205
                                       in:self.
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1206
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1207
    upperFrame := panel.
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1208
    oldStyle ifTrue:[
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1209
        upperFrame := VariableHorizontalPanel origin:(0.0 @ 0.0) corner:(1.0 @ 0.3) in:panel.
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1210
    ].
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1211
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1212
    v := HVScrollableView for:SelectionInListView miniScrollerH:true in:upperFrame.
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1213
    oldStyle ifTrue:[
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1214
        v origin:(0.0 @ 0.0) corner:(0.75 @ 1.0).
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1215
    ] ifFalse:[
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1216
        v origin:(0.0 @ 0.0) corner:(1.0 @ 0.3).
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1217
    ].
3090
2306c68dfee1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3071
diff changeset
  1218
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1219
    changeListView := v scrolledView.
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1220
    changeListView delegate:self.
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1221
    changeListView menuHolder:self; menuPerformer:self; menuMessage:#changeListMenu.
1471
f73ed23816d4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  1222
    changeListView doubleClickAction:[:line | self doubleClickOnChange:line].
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1223
    oldStyle ifFalse:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1224
        changeListView multipleSelectOk:true.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1225
    ].
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1226
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1227
    oldStyle ifTrue:[
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1228
        buttonPanel := VerticalPanelView in:upperFrame.
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1229
        buttonPanel origin:(0.75 @ 0.0) corner:(1.0 @ 1.0).
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1230
        buttonPanel verticalLayout:#topSpace; horizontalLayout:#leftSpace.
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1231
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1232
        checkBox := CheckBox new model:autoCompare.
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1233
        checkBox label:(resources string:'Auto Compare').
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1234
        checkBox action:[:val | autoCompare value:val].
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1235
        buttonPanel addSubView:checkBox.
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1236
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1237
        checkBox := CheckBox new model:autoUpdate.
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1238
        checkBox label:(resources string:'Auto Update').
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1239
        checkBox action:[:val | autoUpdate value:val].
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1240
        buttonPanel addSubView:checkBox.
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1241
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1242
        checkBox := CheckBox new.
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1243
        checkBox label:(resources string:'Apply in original NameSpace' withCRs).
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1244
        checkBox model:applyInOriginalNameSpace.
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1245
        buttonPanel addSubView:checkBox.
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1246
    ].
2301
d557a9dec28c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2295
diff changeset
  1247
3090
2306c68dfee1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3071
diff changeset
  1248
"/    protectExistingMethods := CheckBox new.
2306c68dfee1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3071
diff changeset
  1249
"/    protectExistingMethods label:(resources string:'Protect existing code' withCRs).
2306c68dfee1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3071
diff changeset
  1250
"/    protectExistingMethods model:protectExistingMethods.
2306c68dfee1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3071
diff changeset
  1251
"/    buttonPanel addSubView:protectExistingMethods.
2306c68dfee1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3071
diff changeset
  1252
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1253
    v := HVScrollableView for:CodeView miniScrollerH:true miniScrollerV:false in:panel.
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1254
    v origin:(0.0 @ 0.3) corner:(1.0 @ 1.0).
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1255
    codeView := v scrolledView.
1996
e229ecc9f839 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1848
diff changeset
  1256
    codeView readOnly:true.
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1257
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1258
    anyChanges := false.
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1259
    ObjectMemory addDependent:self.   "to get shutdown-update"
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1260
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1261
    tabSpec := TabulatorSpecification new.
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1262
    tabSpec unit:#inch.
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1263
    tabSpec positions:#(-1      0        5      8.5 ).
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1264
    "                   +/-    cls>>sel  type   info"
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1265
    tabSpec align:    #(#left  #left     #left  #left).
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1266
1471
f73ed23816d4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  1267
    "Modified: / 27.3.1997 / 11:07:07 / stefan"
3297
12b826adb7aa *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3292
diff changeset
  1268
    "Modified: / 11.10.2001 / 21:20:48 / cg"
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1269
!
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1270
1246
9ed3722bd2f2 setup in #postRealize instead of #realize
Claus Gittinger <cg@exept.de>
parents: 1200
diff changeset
  1271
postRealize
3534
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  1272
    self setupTabSpec.
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1273
    self readChangesFileInBackground:true.
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1274
    self setChangeList.
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1275
    changeListView action:[:lineNr | self changeSelection:lineNr].
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1276
    Processor addTimedBlock:checkBlock afterSeconds:5.
1246
9ed3722bd2f2 setup in #postRealize instead of #realize
Claus Gittinger <cg@exept.de>
parents: 1200
diff changeset
  1277
9ed3722bd2f2 setup in #postRealize instead of #realize
Claus Gittinger <cg@exept.de>
parents: 1200
diff changeset
  1278
    "Created: 24.7.1997 / 18:06:12 / cg"
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1279
!
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1280
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1281
pullDownMenu
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1282
    "return the top (pullDown) menu"
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1283
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1284
    <resource: #programMenu>
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1285
3330
b6085cb81010 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3327
diff changeset
  1286
    ^ self menuFromSpec:self class menuSpec.
b6085cb81010 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3327
diff changeset
  1287
b6085cb81010 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3327
diff changeset
  1288
"/    |m|
b6085cb81010 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3327
diff changeset
  1289
"/
b6085cb81010 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3327
diff changeset
  1290
"/    m := self class menuSpec.
b6085cb81010 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3327
diff changeset
  1291
"/    m := m decodeAsLiteralArray.
b6085cb81010 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3327
diff changeset
  1292
"/    m receiver:self.
b6085cb81010 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3327
diff changeset
  1293
"/    m findGuiResourcesIn:self.
b6085cb81010 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3327
diff changeset
  1294
"/    ^ m.
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1295
!
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1296
3534
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  1297
setupTabSpec
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  1298
    autoCompare value ifTrue:[
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  1299
        tabSpec positions:#(0  0.15  5   8.5 ).
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  1300
    ] ifFalse:[
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  1301
        "/
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  1302
        "/ set tabs to hide compare-column
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  1303
        "/
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  1304
        tabSpec positions:#(-1  0    5   8.5 ).
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  1305
    ]
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  1306
!
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  1307
627
60c38701d4a2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 586
diff changeset
  1308
update:what with:aParameter from:changedObject
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1309
    |box|
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1310
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1311
    (what == #aboutToExit) ifTrue:[
2353
707dd9391c02 Consistent use of 'update' and 'write' in the user interface
Stefan Vogel <sv@exept.de>
parents: 2343
diff changeset
  1312
        "
707dd9391c02 Consistent use of 'update' and 'write' in the user interface
Stefan Vogel <sv@exept.de>
parents: 2343
diff changeset
  1313
         smalltalk is about to shut down -
707dd9391c02 Consistent use of 'update' and 'write' in the user interface
Stefan Vogel <sv@exept.de>
parents: 2343
diff changeset
  1314
         - if change list was modified, ask user and save if requested.
707dd9391c02 Consistent use of 'update' and 'write' in the user interface
Stefan Vogel <sv@exept.de>
parents: 2343
diff changeset
  1315
        "
707dd9391c02 Consistent use of 'update' and 'write' in the user interface
Stefan Vogel <sv@exept.de>
parents: 2343
diff changeset
  1316
        anyChanges ifTrue:[
707dd9391c02 Consistent use of 'update' and 'write' in the user interface
Stefan Vogel <sv@exept.de>
parents: 2343
diff changeset
  1317
            self raiseDeiconified.
707dd9391c02 Consistent use of 'update' and 'write' in the user interface
Stefan Vogel <sv@exept.de>
parents: 2343
diff changeset
  1318
707dd9391c02 Consistent use of 'update' and 'write' in the user interface
Stefan Vogel <sv@exept.de>
parents: 2343
diff changeset
  1319
            box := YesNoBox new.
2888
a8f77fb777ee better warn text
Claus Gittinger <cg@exept.de>
parents: 2867
diff changeset
  1320
            box title:('The modified changelist has not been written back to the change file.\\Write change file before exiting ?') withCRs.
2353
707dd9391c02 Consistent use of 'update' and 'write' in the user interface
Stefan Vogel <sv@exept.de>
parents: 2343
diff changeset
  1321
            box okText:(resources at:'write') noText:(resources at:'don''t write').
707dd9391c02 Consistent use of 'update' and 'write' in the user interface
Stefan Vogel <sv@exept.de>
parents: 2343
diff changeset
  1322
            box yesAction:[self writeBackChanges] 
707dd9391c02 Consistent use of 'update' and 'write' in the user interface
Stefan Vogel <sv@exept.de>
parents: 2343
diff changeset
  1323
                 noAction:[].
707dd9391c02 Consistent use of 'update' and 'write' in the user interface
Stefan Vogel <sv@exept.de>
parents: 2343
diff changeset
  1324
            box showAtPointer.
707dd9391c02 Consistent use of 'update' and 'write' in the user interface
Stefan Vogel <sv@exept.de>
parents: 2343
diff changeset
  1325
            box destroy
707dd9391c02 Consistent use of 'update' and 'write' in the user interface
Stefan Vogel <sv@exept.de>
parents: 2343
diff changeset
  1326
        ].
707dd9391c02 Consistent use of 'update' and 'write' in the user interface
Stefan Vogel <sv@exept.de>
parents: 2343
diff changeset
  1327
        ^ self
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1328
    ].
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1329
    super update:what
627
60c38701d4a2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 586
diff changeset
  1330
2353
707dd9391c02 Consistent use of 'update' and 'write' in the user interface
Stefan Vogel <sv@exept.de>
parents: 2343
diff changeset
  1331
    "Created: / 15.6.1996 / 15:26:30 / cg"
707dd9391c02 Consistent use of 'update' and 'write' in the user interface
Stefan Vogel <sv@exept.de>
parents: 2343
diff changeset
  1332
    "Modified: / 7.1.1997 / 23:03:47 / cg"
707dd9391c02 Consistent use of 'update' and 'write' in the user interface
Stefan Vogel <sv@exept.de>
parents: 2343
diff changeset
  1333
    "Modified: / 24.8.1999 / 09:45:06 / stefan"
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1334
! !
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1335
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1336
!ChangesBrowser methodsFor:'menu actions'!
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1337
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1338
menuExit
3204
f3efd0865b8c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3203
diff changeset
  1339
    self closeRequest
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1340
!
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1341
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1342
openAboutThisApplication
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1343
    "opens an about box for this application."
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1344
3503
925fce9419c2 use common about dialog
Claus Gittinger <cg@exept.de>
parents: 3487
diff changeset
  1345
    DialogBox aboutClass:self class.
925fce9419c2 use common about dialog
Claus Gittinger <cg@exept.de>
parents: 3487
diff changeset
  1346
"/    |rev myClass clsRev msg|
925fce9419c2 use common about dialog
Claus Gittinger <cg@exept.de>
parents: 3487
diff changeset
  1347
"/
925fce9419c2 use common about dialog
Claus Gittinger <cg@exept.de>
parents: 3487
diff changeset
  1348
"/    rev := ''.
925fce9419c2 use common about dialog
Claus Gittinger <cg@exept.de>
parents: 3487
diff changeset
  1349
"/    myClass := self class.
925fce9419c2 use common about dialog
Claus Gittinger <cg@exept.de>
parents: 3487
diff changeset
  1350
"/
925fce9419c2 use common about dialog
Claus Gittinger <cg@exept.de>
parents: 3487
diff changeset
  1351
"/    (clsRev := myClass revision) notNil ifTrue: [rev := '  (rev: ', clsRev printString, ')'].
925fce9419c2 use common about dialog
Claus Gittinger <cg@exept.de>
parents: 3487
diff changeset
  1352
"/
925fce9419c2 use common about dialog
Claus Gittinger <cg@exept.de>
parents: 3487
diff changeset
  1353
"/    msg := '\' withCRs , myClass name asBoldText, rev.
925fce9419c2 use common about dialog
Claus Gittinger <cg@exept.de>
parents: 3487
diff changeset
  1354
"/
925fce9419c2 use common about dialog
Claus Gittinger <cg@exept.de>
parents: 3487
diff changeset
  1355
"/    Dialog
925fce9419c2 use common about dialog
Claus Gittinger <cg@exept.de>
parents: 3487
diff changeset
  1356
"/        about:(resources string:msg)
925fce9419c2 use common about dialog
Claus Gittinger <cg@exept.de>
parents: 3487
diff changeset
  1357
"/        label:(resources string:'About ChangesBrowser')
925fce9419c2 use common about dialog
Claus Gittinger <cg@exept.de>
parents: 3487
diff changeset
  1358
"/        icon:self class defaultIcon
925fce9419c2 use common about dialog
Claus Gittinger <cg@exept.de>
parents: 3487
diff changeset
  1359
"/
925fce9419c2 use common about dialog
Claus Gittinger <cg@exept.de>
parents: 3487
diff changeset
  1360
"/    "Modified: / 17.11.2001 / 23:07:33 / cg"
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1361
!
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1362
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1363
openHTMLDocument:relativeDocPath
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1364
    HTMLDocumentView openFullOnDocumentationFile:relativeDocPath
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1365
!
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1366
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1367
showAboutSTX
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1368
    ToolApplicationModel openAboutSTX
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1369
! !
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1370
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1371
!ChangesBrowser methodsFor:'private'!
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  1372
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1373
autoSelect:changeNr
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1374
    "select a change"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1375
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1376
    self class autoSelectNext ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1377
        (changeNr <= self numberOfChanges) ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1378
            changeListView setSelection:changeNr.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1379
            self changeSelection:changeNr.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1380
            ^ self
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1381
        ]
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1382
    ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1383
    self clearCodeView.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1384
    changeListView setSelection:nil.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1385
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1386
    "Modified: / 18.5.1998 / 14:26:43 / cg"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1387
!
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1388
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1389
autoSelectLast
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1390
    "select the last change"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1391
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1392
    self autoSelect:(self numberOfChanges)
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1393
!
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1394
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1395
autoSelectOrEnd:changeNr
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1396
    "select the next change or the last"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1397
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1398
    |last|
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1399
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1400
    last := self numberOfChanges.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1401
    changeNr < last ifTrue:[
3406
8fe22b36fbc2 fixed autoselectNext if list is empty
Claus Gittinger <cg@exept.de>
parents: 3392
diff changeset
  1402
        self autoSelect:changeNr
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1403
    ] ifFalse:[
3406
8fe22b36fbc2 fixed autoselectNext if list is empty
Claus Gittinger <cg@exept.de>
parents: 3392
diff changeset
  1404
        last == 0 ifTrue:[
8fe22b36fbc2 fixed autoselectNext if list is empty
Claus Gittinger <cg@exept.de>
parents: 3392
diff changeset
  1405
            last := nil
8fe22b36fbc2 fixed autoselectNext if list is empty
Claus Gittinger <cg@exept.de>
parents: 3392
diff changeset
  1406
        ].
8fe22b36fbc2 fixed autoselectNext if list is empty
Claus Gittinger <cg@exept.de>
parents: 3392
diff changeset
  1407
        changeListView setSelection:last .
8fe22b36fbc2 fixed autoselectNext if list is empty
Claus Gittinger <cg@exept.de>
parents: 3392
diff changeset
  1408
        self changeSelection:last.
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1409
    ]
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1410
3406
8fe22b36fbc2 fixed autoselectNext if list is empty
Claus Gittinger <cg@exept.de>
parents: 3392
diff changeset
  1411
    "Modified: / 13.11.2001 / 13:00:45 / cg"
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1412
!
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1413
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1414
checkClassIsLoaded:aClass
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1415
    "check for and warn if a class is unloaded (helper for compare-change)"
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1416
2474
6767e6c2f04c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2466
diff changeset
  1417
    |cls answer|
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1418
3359
2cc7eff866e4 isMeta/soleInstance -> theNonMetaclass
Claus Gittinger <cg@exept.de>
parents: 3341
diff changeset
  1419
    cls := aClass theNonMetaclass.
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1420
    cls isLoaded ifFalse:[
2474
6767e6c2f04c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2466
diff changeset
  1421
        (self confirm:(resources 
6767e6c2f04c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2466
diff changeset
  1422
                        string:'%1 is an autoloaded class.\I can only compare the methods source if its loaded first.\\Shall the class be loaded now ?'
2867
0ce30d3c763f asText allBold -> allBold
Claus Gittinger <cg@exept.de>
parents: 2863
diff changeset
  1423
                        with:cls name allBold) withCRs)
2474
6767e6c2f04c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2466
diff changeset
  1424
        ifFalse:[
6767e6c2f04c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2466
diff changeset
  1425
            AbortSignal raise
6767e6c2f04c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2466
diff changeset
  1426
        ].
6767e6c2f04c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2466
diff changeset
  1427
        cls autoload
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1428
    ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1429
    ^ cls isLoaded
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1430
3359
2cc7eff866e4 isMeta/soleInstance -> theNonMetaclass
Claus Gittinger <cg@exept.de>
parents: 3341
diff changeset
  1431
    "Created: / 12.12.1995 / 14:04:39 / cg"
2cc7eff866e4 isMeta/soleInstance -> theNonMetaclass
Claus Gittinger <cg@exept.de>
parents: 3341
diff changeset
  1432
    "Modified: / 5.11.2001 / 16:34:29 / cg"
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1433
!
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1434
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1435
clearCodeView
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1436
    "clear the (lower) code view."
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1437
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1438
    self unselect "changeListView deselect".
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1439
    codeView contents:nil.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1440
    changeNrShown := nil
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1441
!
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1442
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1443
contractClass:className selector:selector to:maxLen
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1444
    "contract a class>>selector string (for display in the changeList)."
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1445
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1446
    |s l|
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1447
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1448
    s := className , ' ', selector.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1449
    s size > maxLen ifTrue:[
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1450
        l := maxLen - 1 - selector size max:20.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1451
        s := (className contractTo:l) , ' ' , selector.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1452
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1453
        s size > maxLen ifTrue:[
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1454
            l := maxLen - 1 - className size max:20.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1455
            s := className , ' ', (selector contractTo:l).
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1456
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1457
            s size > maxLen ifTrue:[
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1458
                s := (className contractTo:(maxLen // 2 - 1)) , ' ' , (selector contractTo:maxLen // 2)
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1459
            ]
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1460
        ]
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1461
    ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1462
    ^ s
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1463
!
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1464
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1465
extractClassAndClassNameFromParseTree:rec
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1466
    |isUnaryMessage className changeClass|
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1467
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1468
    isUnaryMessage := rec isUnaryMessage.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1469
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1470
    isUnaryMessage ifTrue:[
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1471
        className := rec receiver name.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1472
    ] ifFalse:[
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1473
        className := rec name.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1474
    ].
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1475
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1476
    enforcedNameSpace notNil ifTrue:[
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1477
        changeClass := enforcedNameSpace classNamed:className.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1478
    ].
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1479
    changeClass isNil ifTrue:[
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1480
        changeClass := Smalltalk classNamed:className.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1481
    ].
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1482
    isUnaryMessage ifTrue:[
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1483
        changeClass notNil ifTrue:[
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1484
            changeClass := changeClass class.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1485
        ].
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1486
        className := className , ' class'.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1487
    ].
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1488
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1489
    ^ className -> changeClass
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1490
!
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1491
3203
44ac975f0993 pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3202
diff changeset
  1492
isChangeSetBrowser
44ac975f0993 pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3202
diff changeset
  1493
    ^ false
44ac975f0993 pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3202
diff changeset
  1494
!
44ac975f0993 pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3202
diff changeset
  1495
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1496
nameSpaceForApply
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1497
    applyInOriginalNameSpace value ifFalse:[
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1498
        ^ enforcedNameSpace ? Class nameSpaceQuerySignal query.    
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1499
    ].
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1500
    ^ Smalltalk.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1501
!
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1502
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1503
newLabel:how
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1504
    |l|
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1505
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1506
    (changeFileName ~= 'changes') ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1507
        l := self class defaultLabel , ': ', changeFileName
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1508
    ] ifFalse:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1509
        l := self class defaultLabel
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1510
    ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1511
    l := l , ' ' , how.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1512
    self label:l
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1513
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1514
    "Created: / 8.9.1995 / 19:32:04 / claus"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1515
    "Modified: / 8.9.1995 / 19:39:29 / claus"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1516
    "Modified: / 6.2.1998 / 13:27:01 / cg"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1517
!
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1518
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1519
queryCloseText
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1520
    "made this a method for easy redefinition in subclasses"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1521
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1522
    ^ 'Quit without updating changeFile ?'
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1523
!
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1524
3456
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  1525
selectedClassNames
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  1526
    |classes|
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  1527
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  1528
    classes := Set new.
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  1529
    self withSelectedChangesDo:[:changeNr |
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  1530
        | classNameToCompress |
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  1531
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  1532
        classNameToCompress := self classNameOfChange:changeNr.
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  1533
        classNameToCompress notNil ifTrue:[
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  1534
            classes add:classNameToCompress.
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  1535
        ]
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  1536
    ].
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  1537
    ^ classes
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  1538
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  1539
    "Created: / 19.11.2001 / 21:54:59 / cg"
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  1540
!
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  1541
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1542
setChangeList
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1543
    "extract type-information from changes and stuff into top selection
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1544
     view"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1545
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1546
    changeListView setList:changeHeaderLines expandTabs:false redraw:false.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1547
    changeListView invalidate.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1548
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1549
    "/ changeListView deselect.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1550
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1551
    "Modified: / 18.5.1998 / 14:29:10 / cg"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1552
!
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1553
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1554
setSingleSelection:changeNr
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1555
    changeListView multipleSelectOk ifFalse:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1556
        changeListView setSelection:changeNr.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1557
    ] ifTrue:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1558
        changeListView setSelection:(Array with:changeNr).
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1559
    ].
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1560
!
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1561
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1562
showNotFound
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1563
    |savedCursor|
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1564
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1565
    savedCursor := cursor.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1566
    [
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1567
        self cursor:(Cursor cross).
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1568
        self beep.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1569
        Delay waitForMilliseconds:300.
3597
2e7fc0ae28c9 #valueNowOrOnUnwindDo: -> #ensure:
Claus Gittinger <cg@exept.de>
parents: 3586
diff changeset
  1570
    ] ensure:[
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1571
        self cursor:savedCursor
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1572
    ]
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1573
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1574
    "Modified: / 29.4.1999 / 22:36:54 / cg"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1575
!
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1576
3785
741890c870a4 oops - exclas in changeSetBrowsers method source
Claus Gittinger <cg@exept.de>
parents: 3771
diff changeset
  1577
sourceOfChange:changeNr
741890c870a4 oops - exclas in changeSetBrowsers method source
Claus Gittinger <cg@exept.de>
parents: 3771
diff changeset
  1578
    |aStream sawExcla chunk|
741890c870a4 oops - exclas in changeSetBrowsers method source
Claus Gittinger <cg@exept.de>
parents: 3771
diff changeset
  1579
741890c870a4 oops - exclas in changeSetBrowsers method source
Claus Gittinger <cg@exept.de>
parents: 3771
diff changeset
  1580
    aStream := self streamForChange:changeNr.
741890c870a4 oops - exclas in changeSetBrowsers method source
Claus Gittinger <cg@exept.de>
parents: 3771
diff changeset
  1581
    aStream isNil ifTrue:[
741890c870a4 oops - exclas in changeSetBrowsers method source
Claus Gittinger <cg@exept.de>
parents: 3771
diff changeset
  1582
        ^ nil
741890c870a4 oops - exclas in changeSetBrowsers method source
Claus Gittinger <cg@exept.de>
parents: 3771
diff changeset
  1583
    ].
741890c870a4 oops - exclas in changeSetBrowsers method source
Claus Gittinger <cg@exept.de>
parents: 3771
diff changeset
  1584
    sawExcla := aStream peekFor:(aStream class chunkSeparator).
741890c870a4 oops - exclas in changeSetBrowsers method source
Claus Gittinger <cg@exept.de>
parents: 3771
diff changeset
  1585
    chunk := aStream nextChunk.
741890c870a4 oops - exclas in changeSetBrowsers method source
Claus Gittinger <cg@exept.de>
parents: 3771
diff changeset
  1586
    sawExcla ifTrue:[
741890c870a4 oops - exclas in changeSetBrowsers method source
Claus Gittinger <cg@exept.de>
parents: 3771
diff changeset
  1587
        chunk := aStream nextChunk
741890c870a4 oops - exclas in changeSetBrowsers method source
Claus Gittinger <cg@exept.de>
parents: 3771
diff changeset
  1588
    ].
741890c870a4 oops - exclas in changeSetBrowsers method source
Claus Gittinger <cg@exept.de>
parents: 3771
diff changeset
  1589
    aStream close.
741890c870a4 oops - exclas in changeSetBrowsers method source
Claus Gittinger <cg@exept.de>
parents: 3771
diff changeset
  1590
    ^ chunk
741890c870a4 oops - exclas in changeSetBrowsers method source
Claus Gittinger <cg@exept.de>
parents: 3771
diff changeset
  1591
!
741890c870a4 oops - exclas in changeSetBrowsers method source
Claus Gittinger <cg@exept.de>
parents: 3771
diff changeset
  1592
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1593
unselect
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1594
    "common unselect"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1595
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1596
    changeListView setSelection:nil.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1597
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1598
    "Modified: 25.5.1996 / 13:02:49 / cg"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1599
!
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1600
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1601
withSelectedChangesDo:aBlock
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1602
    "just a helper, check for a selected change and evaluate aBlock
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1603
     with busy cursor"
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1604
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1605
    self withSelectedChangesInOrder:nil do:aBlock
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1606
!
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1607
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1608
withSelectedChangesInOrder:order do:aBlock
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1609
    "just a helper, check for a selected change and evaluate aBlock
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1610
     with busy cursor"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1611
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1612
    |changeNrSelection|
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1613
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1614
    changeNrSelection := changeListView selection.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1615
    changeListView multipleSelectOk ifFalse:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1616
        changeNrSelection notNil ifTrue:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1617
            self withExecuteCursorDo:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1618
                aBlock value:changeNrSelection
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1619
            ]
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1620
        ]
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1621
    ] ifTrue:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1622
        changeNrSelection size > 0 ifTrue:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1623
            self withExecuteCursorDo:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1624
                |changeNumbers|
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1625
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1626
                changeNumbers := changeNrSelection copy sort.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1627
                order == #reverse ifTrue:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1628
                    changeNumbers reverse
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1629
                ].
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1630
                changeNumbers do:aBlock
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1631
            ]
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1632
        ]
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1633
    ].
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1634
!
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1635
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1636
withSelectedChangesReverseDo:aBlock
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1637
    "just a helper, check for a selected change and evaluate aBlock
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1638
     with busy cursor"
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1639
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  1640
    self withSelectedChangesInOrder:#reverse do:aBlock
3668
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  1641
!
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  1642
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  1643
withSingleSelectedChangeDo:aBlock
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  1644
    "just a helper, check for a single selection, and evaluate aBlock
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  1645
     with busy cursor"
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  1646
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  1647
    self theSingleSelection isNil ifTrue:[
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  1648
        ^ self information:'Only possible if a single change is selected.'.
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  1649
    ].
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  1650
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  1651
    self withSelectedChangesInOrder:nil do:aBlock
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1652
! !
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1653
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1654
!ChangesBrowser methodsFor:'private-change access'!
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1655
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1656
changeIsFollowupMethodChange:changeNr
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1657
    "return true, if a change is a followup change (i.e. a followup change
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1658
     in a bunch of methodsFor-changes)"
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1659
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1660
    ^ changeIsFollowupMethodChange at:changeNr
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1661
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1662
    "Created: / 6.2.1998 / 13:03:39 / cg"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1663
!
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1664
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1665
changeIsSnapShotInfo:changeNr
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1666
    "return true, if a change is a snapShot info chunk"
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1667
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1668
    |words chunk|
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1669
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1670
    (self classNameOfChange:changeNr) isNil ifTrue:[
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1671
        "
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1672
         get the chunk
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1673
        "
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1674
        chunk := changeChunks at:changeNr.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1675
        "mhmh - empty ??"
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1676
        chunk notNil ifTrue:[
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1677
            (chunk startsWith:'''---') ifTrue:[
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1678
                words := chunk asCollectionOfWords.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1679
                words size > 2 ifTrue:[
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1680
                    (words at:2) = 'snapshot' ifTrue:[
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1681
                        ^ true
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1682
                    ].
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1683
                ].
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1684
            ].
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1685
        ].
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1686
    ].
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1687
    ^ false
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1688
!
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  1689
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1690
classNameOfChange:changeNr
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1691
    "return the classname of a change 
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1692
     (for classChanges (i.e. xxx class), the non-metaClassName (i.e. xxx) is returned)"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1693
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1694
    |name|
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1695
3364
8276ce475f4c className for metaClasses
Claus Gittinger <cg@exept.de>
parents: 3359
diff changeset
  1696
    name := self realClassNameOfChange:changeNr.
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1697
    name isNil ifTrue:[^ nil].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1698
    (name endsWith:' class') ifTrue:[
3364
8276ce475f4c className for metaClasses
Claus Gittinger <cg@exept.de>
parents: 3359
diff changeset
  1699
        name := name copyWithoutLast:6
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1700
    ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1701
    ^ name
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1702
3364
8276ce475f4c className for metaClasses
Claus Gittinger <cg@exept.de>
parents: 3359
diff changeset
  1703
    "Modified: / 5.11.2001 / 18:10:25 / cg"
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1704
!
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1705
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1706
extractSelectorOfMethodChange:changeNr
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1707
    "return a method-changes selector, or nil if its not a methodChange"
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1708
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1709
    |source parser sel chunk aParseTree |
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1710
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1711
    source := self sourceOfMethodChange:changeNr.
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1712
    source isNil ifTrue:[
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1713
        (self classNameOfChange:changeNr) notNil ifTrue:[
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1714
            chunk := changeChunks at:changeNr.
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1715
            chunk isNil ifTrue:[^ nil].       "mhmh - empty"
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1716
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1717
            aParseTree := Parser parseExpression:chunk.
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1718
            (aParseTree isNil 
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1719
            or:[aParseTree == #Error
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1720
            or:[aParseTree isMessage not]]) ifTrue:[
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1721
                ^ nil        "seems strange ... (could be a comment)"
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1722
            ].
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1723
            sel := aParseTree selector.
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1724
            (#(
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1725
                #'removeSelector:' 
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1726
            ) includes:sel) ifTrue:[
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1727
                sel := aParseTree arguments at:1.
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1728
                sel isConstant ifTrue:[
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1729
                    sel := sel evaluate.
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1730
                    sel isSymbol ifTrue:[
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1731
                        ^ sel
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1732
                    ]
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1733
                ]
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1734
            ]
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1735
        ].
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1736
        ^ nil
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1737
    ].
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1738
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1739
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1740
    parser := Parser 
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1741
                parseMethodArgAndVarSpecification:source
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1742
                in:nil 
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1743
                ignoreErrors:true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1744
                ignoreWarnings:true
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1745
                parseBody:false.
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1746
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1747
    (parser notNil and:[parser ~~ #Error]) ifTrue:[
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1748
        sel := parser selector.
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1749
    ].
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1750
    ^ sel
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1751
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1752
    "Created: 24.11.1995 / 14:30:46 / cg"
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1753
    "Modified: 5.9.1996 / 17:12:50 / cg"
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1754
!
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1755
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1756
fullClassNameOfChange:changeNr
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1757
    "return the full classname of a change 
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1758
     (for classChanges (i.e. xxx class), a string ending in ' class' is returned.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1759
     - since parsing ascii methods is slow, keep result cached in 
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1760
       changeClassNames for the next query"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1761
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1762
    |chunk aParseTree recTree sel name arg1Tree isMeta prevMethodDefNr
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1763
     words changeStream fullParseTree ownerTree ownerName oldDollarSetting|
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1764
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1765
    changeNr isNil ifTrue:[^ nil].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1766
    "
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1767
     first look, if not already known
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1768
    "
2683
e76575e4346f private className extraction
tm
parents: 2682
diff changeset
  1769
"/    name := changeClassNames at:changeNr.
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1770
"/    name notNil ifTrue:[^ name].
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1771
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1772
    prevMethodDefNr := changeNr.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1773
    [changeIsFollowupMethodChange at:prevMethodDefNr] whileTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1774
        prevMethodDefNr := prevMethodDefNr - 1.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1775
    ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1776
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1777
    "
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1778
     get the chunk
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1779
    "
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1780
    chunk := changeChunks at:prevMethodDefNr.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1781
    chunk isNil ifTrue:[^ nil].       "mhmh - empty"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1782
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1783
    (chunk startsWith:'''---') ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1784
        words := chunk asCollectionOfWords.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1785
        words size > 2 ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1786
            (words at:2) = 'checkin' ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1787
                name := words at:3.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1788
                changeClassNames at:changeNr put:name.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1789
                ^ name
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1790
            ]
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1791
        ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1792
    ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1793
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1794
    "/ fix it - otherwise, it cannot be parsed
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1795
    (chunk endsWith:'primitiveDefinitions:') ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1796
        chunk := chunk , ''''''
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1797
    ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1798
    (chunk endsWith:'primitiveFunctions:') ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1799
        chunk := chunk , ''''''
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1800
    ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1801
    (chunk endsWith:'primitiveVariables:') ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1802
        chunk := chunk , ''''''
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1803
    ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1804
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1805
    "
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1806
     use parser to construct a parseTree
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1807
    "
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1808
    oldDollarSetting := Parser allowDollarInIdentifier.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1809
    [
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1810
        Parser allowDollarInIdentifier:true.
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1811
        Class nameSpaceQuerySignal answer:(self nameSpaceForApply)
2286
6da16a42e507 care for defaultNameSpace being set to something
Claus Gittinger <cg@exept.de>
parents: 2267
diff changeset
  1812
        do:[
6da16a42e507 care for defaultNameSpace being set to something
Claus Gittinger <cg@exept.de>
parents: 2267
diff changeset
  1813
            aParseTree := Parser parseExpression:chunk.
6da16a42e507 care for defaultNameSpace being set to something
Claus Gittinger <cg@exept.de>
parents: 2267
diff changeset
  1814
        ].
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1815
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1816
        aParseTree == #Error ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1817
            (chunk includesString:'comment') ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1818
                "/ could be a comment ...
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1819
                aParseTree := Parser parseExpression:chunk , ''''.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1820
            ]
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1821
        ].
3597
2e7fc0ae28c9 #valueNowOrOnUnwindDo: -> #ensure:
Claus Gittinger <cg@exept.de>
parents: 3586
diff changeset
  1822
    ] ensure:[
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1823
        Parser allowDollarInIdentifier:oldDollarSetting
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1824
    ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1825
    (aParseTree isNil or:[aParseTree == #Error]) ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1826
        ^ nil        "seems strange ... (could be a comment)"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1827
    ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1828
    aParseTree isMessage ifFalse:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1829
        ^ nil        "very strange ... (whats that ?)"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1830
    ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1831
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1832
    "
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1833
     ask parser for selector
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1834
    "
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1835
    sel := aParseTree selector.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1836
    recTree := aParseTree receiver.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1837
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1838
    "
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1839
     is it a method-change, methodRemove or comment-change ?
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1840
    "
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1841
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1842
    (#(#'methodsFor:' 
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1843
       #'privateMethodsFor:' 
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1844
       #'protectedMethodsFor:' 
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1845
       #'ignoredMethodsFor:' 
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1846
       #'publicMethodsFor:' 
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1847
       #'removeSelector:' 
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1848
       #'comment:'
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1849
       #'primitiveDefinitions:'
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1850
       #'primitiveFunctions:'
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1851
       #'primitiveVariables:'
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1852
       #'renameCategory:to:'
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1853
       #'instanceVariableNames:'
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1854
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1855
       #'methodsFor:stamp:'          "/ Squeak support
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1856
       #'commentStamp:prior:'        "/ Squeak support
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1857
       #'addClassVarName:'           "/ Squeak support
2527
afa639104477 some support for dolphin source files
Claus Gittinger <cg@exept.de>
parents: 2511
diff changeset
  1858
       #methodsFor                   "/ Dolphin support
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1859
       #categoriesForClass           "/ Dolphin support
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  1860
       #categoriesFor:               "/ Dolphin support
2606
61cc86fff103 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2604
diff changeset
  1861
       #methods                      "/ STV support
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1862
    ) includes:sel) ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1863
        "
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1864
         yes, the className is the receiver
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1865
        "
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1866
        (recTree notNil and:[recTree ~~ #Error]) ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1867
            isMeta := false.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1868
            recTree isUnaryMessage ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1869
                (recTree selector ~~ #class) ifTrue:[^ nil].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1870
                "id class methodsFor:..."
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1871
                recTree := recTree receiver.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1872
                isMeta := true.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1873
            ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1874
            recTree isPrimary ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1875
                name := recTree name.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1876
                isMeta ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1877
                    name := name , ' class'.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1878
                ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1879
                changeClassNames at:changeNr put:name.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1880
                ^ name
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1881
            ]
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1882
        ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1883
        "more strange things"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1884
        ^ nil
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1885
    ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1886
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1887
    "
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1888
     is it a change in a class-description ?
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1889
    "
2322
f97b8cd42889 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2319
diff changeset
  1890
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1891
    (('subclass:*' match:sel) 
2322
f97b8cd42889 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2319
diff changeset
  1892
    or:[('variable*ubclass:*' match:sel)]) ifTrue:[
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1893
        "/ must parse the full changes text, to get
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1894
        "/ privacy information.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1895
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1896
        changeStream := self streamForChange:changeNr.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1897
        changeStream notNil ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1898
            chunk := changeStream nextChunk.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1899
            changeStream close.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1900
            fullParseTree := Parser parseExpression:chunk.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1901
            (fullParseTree isNil or:[fullParseTree == #Error]) ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1902
                fullParseTree := nil
2396
26d6b768e3d2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2394
diff changeset
  1903
            ] ifFalse:[
26d6b768e3d2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2394
diff changeset
  1904
                fullParseTree isMessage ifFalse:[
26d6b768e3d2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2394
diff changeset
  1905
                    fullParseTree := nil
26d6b768e3d2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2394
diff changeset
  1906
                ]
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1907
            ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1908
            "/ actually, the nil case cannot happen
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1909
            fullParseTree notNil ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1910
                aParseTree := fullParseTree.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1911
                sel := aParseTree selector.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1912
            ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1913
        ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1914
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1915
        arg1Tree := aParseTree arg1.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1916
        (arg1Tree notNil and:[arg1Tree isConstant]) ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1917
            name := arg1Tree value asString.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1918
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1919
            "/ is it a private-class ?
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1920
            ('*privateIn:' match:sel) ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1921
                ownerTree := aParseTree args last.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1922
                ownerName := ownerTree name asString.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1923
                name := ownerName , '::' , name
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1924
            ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1925
            changeClassNames at:changeNr put:name.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1926
            ^ name
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1927
        ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1928
        "very strange"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1929
        ^ nil
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1930
    ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1931
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1932
    "
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1933
     is it a class remove ?
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1934
    "
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1935
    (sel == #removeClass:) ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1936
        (recTree notNil 
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1937
        and:[recTree ~~ #Error
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1938
        and:[recTree isPrimary
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1939
        and:[recTree name = 'Smalltalk']]]) ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1940
            arg1Tree := aParseTree arg1.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1941
            (arg1Tree notNil and:[arg1Tree isPrimary]) ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1942
                name := arg1Tree name.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1943
                changeClassNames at:changeNr put:name.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1944
                ^ name
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1945
            ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1946
        ]
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1947
    ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1948
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1949
    "
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1950
     is it a method category change ?
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1951
    "
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1952
    ((sel == #category:)
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1953
    or:[sel == #privacy:]) ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1954
        (recTree notNil 
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1955
        and:[recTree ~~ #Error
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1956
        and:[recTree isMessage
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1957
        and:[recTree selector == #compiledMethodAt:]]]) ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1958
            isMeta := false.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1959
            recTree := recTree receiver.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1960
            recTree isUnaryMessage ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1961
                (recTree selector ~~ #class) ifTrue:[^ nil].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1962
                "id class "
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1963
                recTree := recTree receiver
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1964
            ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1965
            recTree isPrimary ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1966
                isMeta ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1967
                    name := name , ' class'.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1968
                ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1969
                name := recTree name.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1970
                changeClassNames at:changeNr put:name.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1971
                ^ name
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1972
            ]
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1973
        ]
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1974
    ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1975
    ^ nil
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1976
2606
61cc86fff103 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2604
diff changeset
  1977
    "Modified: / 13.2.2000 / 15:05:28 / cg"
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1978
!
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1979
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1980
numberOfChanges
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1981
    ^ changePositions size
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1982
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1983
    "Created: 3.12.1995 / 18:15:39 / cg"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1984
!
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  1985
2511
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  1986
ownerClassNameOfChange:changeNr
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  1987
    "return the owner classname of a change 
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  1988
     For a normal class, this is the className;
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  1989
     for a private class, this is the name of the owning class"
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  1990
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  1991
    |name ns idx cls|
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  1992
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  1993
    name := self classNameOfChange:changeNr.
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  1994
    name isNil ifTrue:[^ nil].
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  1995
    cls := Smalltalk at:name asSymbol.
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  1996
    (cls notNil and:[cls isBehavior]) ifTrue:[
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  1997
        cls owningClass notNil ifTrue:[
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  1998
            ^ cls owningClass name
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  1999
        ].
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  2000
        ^ cls name
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  2001
    ].
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  2002
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  2003
"/    (name includes:$:) ifTrue:[
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  2004
"/        idx := name indexOf:$:.
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  2005
"/        ns := name copyTo:idx-1.
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  2006
"/        ns := Smalltalk at:ns asSymbol.
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  2007
"/        ns notNil ifTrue:[
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  2008
"/        
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  2009
"/        ].
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  2010
"/
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  2011
"/        name := name copyFrom:idx+2.
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  2012
"/        (Smalltalk at:ns asSymbol) notNil ifTrue:[
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  2013
"/            cls
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  2014
"/        ].
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  2015
"/        ^ name copyWithoutLast:6
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  2016
"/    ].
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  2017
    ^ name
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  2018
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  2019
    "Modified: 6.12.1995 / 17:06:31 / cg"
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  2020
!
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  2021
3364
8276ce475f4c className for metaClasses
Claus Gittinger <cg@exept.de>
parents: 3359
diff changeset
  2022
realClassNameOfChange:changeNr
8276ce475f4c className for metaClasses
Claus Gittinger <cg@exept.de>
parents: 3359
diff changeset
  2023
    "return the classname of a change"
8276ce475f4c className for metaClasses
Claus Gittinger <cg@exept.de>
parents: 3359
diff changeset
  2024
8276ce475f4c className for metaClasses
Claus Gittinger <cg@exept.de>
parents: 3359
diff changeset
  2025
    |name|
8276ce475f4c className for metaClasses
Claus Gittinger <cg@exept.de>
parents: 3359
diff changeset
  2026
8276ce475f4c className for metaClasses
Claus Gittinger <cg@exept.de>
parents: 3359
diff changeset
  2027
    name := changeClassNames at:changeNr.
8276ce475f4c className for metaClasses
Claus Gittinger <cg@exept.de>
parents: 3359
diff changeset
  2028
    name isNil ifTrue:[
8276ce475f4c className for metaClasses
Claus Gittinger <cg@exept.de>
parents: 3359
diff changeset
  2029
        name := self fullClassNameOfChange:changeNr.
8276ce475f4c className for metaClasses
Claus Gittinger <cg@exept.de>
parents: 3359
diff changeset
  2030
    ].
8276ce475f4c className for metaClasses
Claus Gittinger <cg@exept.de>
parents: 3359
diff changeset
  2031
    ^ name
8276ce475f4c className for metaClasses
Claus Gittinger <cg@exept.de>
parents: 3359
diff changeset
  2032
8276ce475f4c className for metaClasses
Claus Gittinger <cg@exept.de>
parents: 3359
diff changeset
  2033
    "Modified: / 6.12.1995 / 17:06:31 / cg"
8276ce475f4c className for metaClasses
Claus Gittinger <cg@exept.de>
parents: 3359
diff changeset
  2034
    "Created: / 5.11.2001 / 18:09:46 / cg"
8276ce475f4c className for metaClasses
Claus Gittinger <cg@exept.de>
parents: 3359
diff changeset
  2035
!
8276ce475f4c className for metaClasses
Claus Gittinger <cg@exept.de>
parents: 3359
diff changeset
  2036
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2037
selectorOfMethodChange:changeNr
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2038
    "return a method-changes selector, or nil if its not a methodChange"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2039
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  2040
    |sel |
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  2041
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  2042
    changeSelectors size >= changeNr ifTrue:[
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  2043
        sel := changeSelectors at:changeNr.
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  2044
        sel notNil ifTrue:[ ^ sel ].
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  2045
    ].
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  2046
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  2047
    sel := self extractSelectorOfMethodChange:changeNr.
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  2048
    sel notNil ifTrue:[
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  2049
        changeSelectors isNil ifTrue:[
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  2050
            changeSelectors := OrderedCollection new
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2051
        ].
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  2052
        changeSelectors grow:changeNr.
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  2053
        changeSelectors at:changeNr put:sel.
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2054
    ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2055
    ^ sel
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2056
!
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2057
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2058
sourceOfMethodChange:changeNr
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2059
    "return a method-changes source code, or nil if its not a methodChange."
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2060
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2061
    |aStream chunk sawExcla parseTree sourceChunk sel|
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2062
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2063
    aStream := self streamForChange:changeNr.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2064
    aStream isNil ifTrue:[^ nil].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2065
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2066
    (self changeIsFollowupMethodChange:changeNr) ifFalse:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2067
        sawExcla := aStream peekFor:(aStream class chunkSeparator).
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2068
        chunk := aStream nextChunk.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2069
    ] ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2070
        chunk := (changeChunks at:changeNr).
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2071
        sawExcla := true.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2072
    ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2073
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2074
    sawExcla ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2075
        parseTree := Parser parseExpression:chunk.
2797
97dea7bc3db3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2746
diff changeset
  2076
        (parseTree notNil 
97dea7bc3db3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2746
diff changeset
  2077
        and:[parseTree ~~ #Error
97dea7bc3db3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2746
diff changeset
  2078
        and:[parseTree isMessage]]) ifTrue:[
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2079
            sel := parseTree selector.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2080
            (#(
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2081
               #methodsFor: 
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2082
               #privateMethodsFor:
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2083
               #publicMethodsFor:
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2084
               #ignoredMethodsFor:
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2085
               #protectedMethodsFor:
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2086
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2087
               #methodsFor:stamp:             "/ Squeak support
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2088
               #commentStamp:prior:           "/ Squeak support
2527
afa639104477 some support for dolphin source files
Claus Gittinger <cg@exept.de>
parents: 2511
diff changeset
  2089
               #methodsFor                    "/ Dolphin support
2606
61cc86fff103 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2604
diff changeset
  2090
               #methods                       "/ STV support
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2091
              ) 
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2092
            includes:sel) ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2093
                sourceChunk := aStream nextChunk.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2094
            ]
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2095
        ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2096
    ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2097
    aStream close.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2098
    ^ sourceChunk
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2099
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2100
    "Created: / 5.9.1996 / 17:11:32 / cg"
2606
61cc86fff103 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2604
diff changeset
  2101
    "Modified: / 13.2.2000 / 15:05:45 / cg"
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2102
!
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2103
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2104
streamForChange:changeNr
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2105
    "answer a stream for change"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2106
 
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2107
    |aStream|
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2108
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2109
    (changeNr between:1 and:changePositions size) ifFalse:[^ nil].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2110
    aStream := FileStream readonlyFileNamed:changeFileName.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2111
    aStream isNil ifTrue:[^ nil].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2112
    aStream position:(changePositions at:changeNr).
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2113
    ^ aStream
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2114
! !
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2115
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2116
!ChangesBrowser methodsFor:'private-changeFile access'!
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2117
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2118
changeFileName:aFileName
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  2119
    "set the name of the changeFile"
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  2120
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2121
    changeFileName := aFileName
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2122
!
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2123
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2124
checkIfFileHasChanged
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  2125
    "check if the changeFile has been modified since the last check;
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  2126
     install a timeout for rechecking after some time."
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  2127
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2128
    |f info |
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2129
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2130
    Processor removeTimedBlock:checkBlock.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2131
    f := changeFileName asFilename.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2132
    (info := f info) isNil ifTrue:[
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  2133
        self newLabel:'(unaccessable)'
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2134
    ] ifFalse:[
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  2135
        (info modified) > changeFileTimestamp ifTrue:[
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  2136
            self newLabel:'(outdated)'.
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  2137
            autoUpdate value ifTrue:[
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  2138
                self doUpdate
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  2139
            ]
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  2140
        ] ifFalse:[
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  2141
            self newLabel:''
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  2142
        ]
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2143
    ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2144
    Processor addTimedBlock:checkBlock afterSeconds:5.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2145
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2146
    "Created: 8.9.1995 / 19:30:19 / claus"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2147
    "Modified: 8.9.1995 / 19:38:18 / claus"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2148
    "Modified: 1.11.1996 / 20:22:56 / cg"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2149
!
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2150
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2151
readChangesFile
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2152
    "read the changes file, create a list of header-lines (changeChunks)
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2153
     and a list of chunk-positions (changePositions)"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2154
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2155
    ^ self readChangesFileInBackground:false
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2156
!
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2157
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2158
readChangesFileInBackground:inBackground
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2159
    "read the changes file, create a list of header-lines (changeChunks)
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2160
     and a list of chunk-positions (changePositions).
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2161
     Starting with 2.10.3, the entries are multi-col entries;
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2162
     the cols are:
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2163
        1   delta (only if comparing)
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2164
                '+' -> new method (w.r.t. current state)
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2165
                '-' -> removed method (w.r.t. current state)
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2166
                '?' -> class does not exist currently
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2167
                '=' -> change is same as current methods source
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2168
        2   class/selector
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2169
        3   type of change
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2170
                doit
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2171
                method
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2172
                category change
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2173
        4   timestamp
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2174
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2175
     since comparing slows down startup time, it is now disabled by
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2176
     default and can be enabled via a toggle."
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2177
2641
cfd94f3cc611 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2637
diff changeset
  2178
    |aStream maxLen i f chunkText fullChunkText askedForEditingClassSource
2683
e76575e4346f private className extraction
tm
parents: 2682
diff changeset
  2179
     excla timeStampInfo entry changeDelta changeString changeType 
3067
96387c6aa216 allItalic now understood by CharacterArray
Claus Gittinger <cg@exept.de>
parents: 3065
diff changeset
  2180
     s changeClass sawExcla category 
96387c6aa216 allItalic now understood by CharacterArray
Claus Gittinger <cg@exept.de>
parents: 3065
diff changeset
  2181
     chunkPos sel headerLine cls p rec clsName
2683
e76575e4346f private className extraction
tm
parents: 2682
diff changeset
  2182
     myProcess myPriority myPrioRange
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2183
     done first text methodPos 
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2184
     singleJunkOnly methodChunks classCategoryChunks methodCategoryChunks singleInfo
2683
e76575e4346f private className extraction
tm
parents: 2682
diff changeset
  2185
     ownerTree ownerName
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2186
     m currentText t1 t2 methodSelector nameAndClass|
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2187
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2188
    editingClassSource := false.
2641
cfd94f3cc611 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2637
diff changeset
  2189
    askedForEditingClassSource := false.
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2190
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2191
    maxLen := 60.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2192
3674
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
  2193
    self newLabel:'updating ...'.
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
  2194
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
  2195
    (self class isXMLFile:changeFileName) ifTrue:[
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
  2196
        ^ self class readXMLChangesFromFile:changeFileName inBackground:inBackground
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
  2197
    ].
d5dac05f2892 xml: first attempt
Claus Gittinger <cg@exept.de>
parents: 3668
diff changeset
  2198
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2199
    f := changeFileName asFilename.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2200
    aStream :=  f readStream.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2201
    aStream isNil ifTrue:[^ nil].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2202
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2203
    i := f info.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2204
    changeFileSize := i size.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2205
    changeFileTimestamp := i modified.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2206
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2207
    self withReadCursorDo:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2208
        "
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2209
         this is a time consuming operation (especially, if reading an
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2210
         NFS-mounted directory; therefore lower my priority ...
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2211
        "
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2212
        inBackground ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2213
            myProcess := Processor activeProcess.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2214
            myPriority := myProcess priority.
2295
4e05198e7dd8 execute BG tasks at a prio range, to ensure progress.
Claus Gittinger <cg@exept.de>
parents: 2293
diff changeset
  2215
            myPrioRange := myProcess priorityRange.
4e05198e7dd8 execute BG tasks at a prio range, to ensure progress.
Claus Gittinger <cg@exept.de>
parents: 2293
diff changeset
  2216
            myProcess priorityRange:(Processor userBackgroundPriority to:Processor activePriority).
4e05198e7dd8 execute BG tasks at a prio range, to ensure progress.
Claus Gittinger <cg@exept.de>
parents: 2293
diff changeset
  2217
"/            myProcess priority:(Processor userBackgroundPriority).
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2218
        ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2219
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2220
        [
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2221
            changeChunks := OrderedCollection new.
2664
541f43019451 fixed class-chunk remembering (remember the full chunk,
Claus Gittinger <cg@exept.de>
parents: 2641
diff changeset
  2222
            changeClassNames := OrderedCollection new.
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2223
            changeHeaderLines := OrderedCollection new.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2224
            changePositions := OrderedCollection new.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2225
            changeTimeStamps := OrderedCollection new.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2226
            changeIsFollowupMethodChange := OrderedCollection new.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2227
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2228
            excla := aStream class chunkSeparator.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2229
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2230
            [aStream atEnd] whileFalse:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2231
                "
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2232
                 get a chunk (separated by excla)
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2233
                "
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2234
                aStream skipSeparators.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2235
                chunkPos := aStream position.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2236
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2237
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2238
                sawExcla := aStream peekFor:excla.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2239
                chunkText := fullChunkText := aStream nextChunk.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2240
                chunkText notNil ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2241
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2242
                    (chunkText startsWith:'''---- timestamp ') ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2243
                        timeStampInfo := (chunkText copyFrom:16 to:(chunkText size - 6)) withoutSpaces.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2244
                    ] ifFalse:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2245
                        "
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2246
                         only first line is saved in changeChunks ...
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2247
                        "
2664
541f43019451 fixed class-chunk remembering (remember the full chunk,
Claus Gittinger <cg@exept.de>
parents: 2641
diff changeset
  2248
"/                        index := chunkText indexOf:(Character cr).
541f43019451 fixed class-chunk remembering (remember the full chunk,
Claus Gittinger <cg@exept.de>
parents: 2641
diff changeset
  2249
"/                        (index ~~ 0) ifTrue:[
541f43019451 fixed class-chunk remembering (remember the full chunk,
Claus Gittinger <cg@exept.de>
parents: 2641
diff changeset
  2250
"/                            chunkText := chunkText copyTo:(index - 1).
541f43019451 fixed class-chunk remembering (remember the full chunk,
Claus Gittinger <cg@exept.de>
parents: 2641
diff changeset
  2251
"/
541f43019451 fixed class-chunk remembering (remember the full chunk,
Claus Gittinger <cg@exept.de>
parents: 2641
diff changeset
  2252
"/                            "take care for comment changes - must still be a
541f43019451 fixed class-chunk remembering (remember the full chunk,
Claus Gittinger <cg@exept.de>
parents: 2641
diff changeset
  2253
"/                             valid expression for classNameOfChange: to work"
541f43019451 fixed class-chunk remembering (remember the full chunk,
Claus Gittinger <cg@exept.de>
parents: 2641
diff changeset
  2254
"/
541f43019451 fixed class-chunk remembering (remember the full chunk,
Claus Gittinger <cg@exept.de>
parents: 2641
diff changeset
  2255
"/                            (chunkText endsWith:'comment:''') ifTrue:[
541f43019451 fixed class-chunk remembering (remember the full chunk,
Claus Gittinger <cg@exept.de>
parents: 2641
diff changeset
  2256
"/                                chunkText := chunkText , '...'''
541f43019451 fixed class-chunk remembering (remember the full chunk,
Claus Gittinger <cg@exept.de>
parents: 2641
diff changeset
  2257
"/                            ].
541f43019451 fixed class-chunk remembering (remember the full chunk,
Claus Gittinger <cg@exept.de>
parents: 2641
diff changeset
  2258
"/                            (chunkText endsWith:'primitiveDefinitions:''') ifTrue:[
541f43019451 fixed class-chunk remembering (remember the full chunk,
Claus Gittinger <cg@exept.de>
parents: 2641
diff changeset
  2259
"/                                sel := 'primitiveDefinitions:'.
541f43019451 fixed class-chunk remembering (remember the full chunk,
Claus Gittinger <cg@exept.de>
parents: 2641
diff changeset
  2260
"/                                chunkText := chunkText copyWithoutLast:1
541f43019451 fixed class-chunk remembering (remember the full chunk,
Claus Gittinger <cg@exept.de>
parents: 2641
diff changeset
  2261
"/                            ].
541f43019451 fixed class-chunk remembering (remember the full chunk,
Claus Gittinger <cg@exept.de>
parents: 2641
diff changeset
  2262
"/                            (chunkText endsWith:'primitiveVariables:''') ifTrue:[
541f43019451 fixed class-chunk remembering (remember the full chunk,
Claus Gittinger <cg@exept.de>
parents: 2641
diff changeset
  2263
"/                                sel := 'primitiveVariables:'.
541f43019451 fixed class-chunk remembering (remember the full chunk,
Claus Gittinger <cg@exept.de>
parents: 2641
diff changeset
  2264
"/                                chunkText := chunkText copyWithoutLast:1
541f43019451 fixed class-chunk remembering (remember the full chunk,
Claus Gittinger <cg@exept.de>
parents: 2641
diff changeset
  2265
"/                            ].
541f43019451 fixed class-chunk remembering (remember the full chunk,
Claus Gittinger <cg@exept.de>
parents: 2641
diff changeset
  2266
"/                            (chunkText endsWith:'primitiveFunctions:''') ifTrue:[
541f43019451 fixed class-chunk remembering (remember the full chunk,
Claus Gittinger <cg@exept.de>
parents: 2641
diff changeset
  2267
"/                                sel := 'primitiveFunctions:'.
541f43019451 fixed class-chunk remembering (remember the full chunk,
Claus Gittinger <cg@exept.de>
parents: 2641
diff changeset
  2268
"/                                chunkText := chunkText copyWithoutLast:1
541f43019451 fixed class-chunk remembering (remember the full chunk,
Claus Gittinger <cg@exept.de>
parents: 2641
diff changeset
  2269
"/                            ].
541f43019451 fixed class-chunk remembering (remember the full chunk,
Claus Gittinger <cg@exept.de>
parents: 2641
diff changeset
  2270
"/                        ].
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2271
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2272
                        changeChunks add:chunkText.
2664
541f43019451 fixed class-chunk remembering (remember the full chunk,
Claus Gittinger <cg@exept.de>
parents: 2641
diff changeset
  2273
                        changeClassNames add:nil.
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2274
                        changePositions add:chunkPos.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2275
                        changeTimeStamps add:timeStampInfo.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2276
                        changeIsFollowupMethodChange add:false.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2277
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2278
                        headerLine := nil.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2279
                        changeDelta := ' '.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2280
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2281
                        sawExcla ifFalse:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2282
                            (chunkText startsWith:'''---- snap') ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2283
                                changeType := ''.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2284
                                headerLine := chunkText.
3598
fd6bf70c705f remove trailing cr in changeLine of snap/fileIn
Claus Gittinger <cg@exept.de>
parents: 3597
diff changeset
  2285
                                changeString := (chunkText contractTo:maxLen) withoutSeparators.
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2286
                                timeStampInfo := nil.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2287
                            ] ifFalse:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2288
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2289
                                headerLine := chunkText , ' (doIt)'.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2290
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2291
                                "
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2292
                                 first, assume doIt - then lets have a more detailed look ...
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2293
                                "
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2294
                                ((chunkText startsWith:'''---- file')
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2295
                                or:[(chunkText startsWith:'''---- check')]) ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2296
                                    changeType := ''.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2297
                                    timeStampInfo := nil.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2298
                                ] ifFalse:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2299
                                    changeType := '(doIt)'.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2300
                                ].    
3598
fd6bf70c705f remove trailing cr in changeLine of snap/fileIn
Claus Gittinger <cg@exept.de>
parents: 3597
diff changeset
  2301
                                changeString := (chunkText contractTo:maxLen) withoutSeparators.
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2302
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2303
                                p := Parser parseExpression:fullChunkText inNameSpace:Smalltalk.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2304
                                (p notNil and:[p ~~ #Error]) ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2305
                                    p isMessage ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2306
                                        sel := p selector.
2292
321bca750f46 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2291
diff changeset
  2307
                                        rec := p receiver.
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2308
                                    ]
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2309
                                ] ifFalse:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2310
                                    sel := nil.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2311
                                    (Scanner new scanTokens:fullChunkText) size == 0 ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2312
                                        "/ a comment only
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2313
                                        changeType := '(comment)'.
2292
321bca750f46 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2291
diff changeset
  2314
                                        NoColoring ~~ true ifTrue:[
3067
96387c6aa216 allItalic now understood by CharacterArray
Claus Gittinger <cg@exept.de>
parents: 3065
diff changeset
  2315
                                            changeType := changeType allItalic.
96387c6aa216 allItalic now understood by CharacterArray
Claus Gittinger <cg@exept.de>
parents: 3065
diff changeset
  2316
                                            "/ changeString := changeString allItalic.
2292
321bca750f46 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2291
diff changeset
  2317
                                            changeType emphasisAllAdd:(#color -> UserPreferences current commentColor).
321bca750f46 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2291
diff changeset
  2318
                                        ]
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2319
                                    ] ifFalse:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2320
                                        changeType := '(???)'.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2321
                                    ]
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2322
                                ].
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2323
2291
6f517d3e1d83 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2290
diff changeset
  2324
                                (sel == #comment:) ifTrue:[
6f517d3e1d83 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2290
diff changeset
  2325
                                    changeType := '(comment)'.
2292
321bca750f46 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2291
diff changeset
  2326
                                    clsName := rec name.
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2327
                                    changeClass := (self nameSpaceForApply) classNamed:clsName.
2664
541f43019451 fixed class-chunk remembering (remember the full chunk,
Claus Gittinger <cg@exept.de>
parents: 2641
diff changeset
  2328
                                    changeClassNames at:changeClassNames size put:clsName.
2292
321bca750f46 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2291
diff changeset
  2329
                                    NoColoring ~~ true ifTrue:[
3067
96387c6aa216 allItalic now understood by CharacterArray
Claus Gittinger <cg@exept.de>
parents: 3065
diff changeset
  2330
                                        changeType := changeType allItalic.
2292
321bca750f46 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2291
diff changeset
  2331
                                        changeType emphasisAllAdd:(#color -> UserPreferences current commentColor).
3067
96387c6aa216 allItalic now understood by CharacterArray
Claus Gittinger <cg@exept.de>
parents: 3065
diff changeset
  2332
                                        "/ changeString := clsName allItalic.
2570
2f15ecfd80de compare comments
Claus Gittinger <cg@exept.de>
parents: 2555
diff changeset
  2333
                                    ].
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  2334
                                    autoCompare value ifTrue:[
2570
2f15ecfd80de compare comments
Claus Gittinger <cg@exept.de>
parents: 2555
diff changeset
  2335
                                        (changeClass isNil or:[changeClass isLoaded not]) ifTrue:[
2f15ecfd80de compare comments
Claus Gittinger <cg@exept.de>
parents: 2555
diff changeset
  2336
                                            changeDelta := '?'
2f15ecfd80de compare comments
Claus Gittinger <cg@exept.de>
parents: 2555
diff changeset
  2337
                                        ] ifFalse:[
2f15ecfd80de compare comments
Claus Gittinger <cg@exept.de>
parents: 2555
diff changeset
  2338
                                            (changeClass comment = (p args at:1) evaluate) ifTrue:[
2f15ecfd80de compare comments
Claus Gittinger <cg@exept.de>
parents: 2555
diff changeset
  2339
                                                changeDelta := '='.
2f15ecfd80de compare comments
Claus Gittinger <cg@exept.de>
parents: 2555
diff changeset
  2340
                                            ]
2f15ecfd80de compare comments
Claus Gittinger <cg@exept.de>
parents: 2555
diff changeset
  2341
                                        ]
2573
5a0d8ad2c073 more compares.
Claus Gittinger <cg@exept.de>
parents: 2571
diff changeset
  2342
                                    ].
5a0d8ad2c073 more compares.
Claus Gittinger <cg@exept.de>
parents: 2571
diff changeset
  2343
                                    sel := nil.
2291
6f517d3e1d83 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2290
diff changeset
  2344
                                ].
6f517d3e1d83 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2290
diff changeset
  2345
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2346
                                (sel == #removeSelector:) ifTrue:[
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2347
                                    nameAndClass := self extractClassAndClassNameFromParseTree:rec.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2348
                                    clsName := nameAndClass key. changeClass := nameAndClass value.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2349
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2350
                                    sel := (p args at:1) evaluate.
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2351
                                    changeClassNames at:changeClassNames size put:clsName.
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2352
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  2353
                                    autoCompare value ifTrue:[
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2354
                                        (changeClass isNil or:[changeClass isLoaded not]) ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2355
                                            changeDelta := '?'
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2356
                                        ] ifFalse:[
3586
b7d499c7ab7a implements -> includesSelector
Claus Gittinger <cg@exept.de>
parents: 3554
diff changeset
  2357
                                            (changeClass includesSelector:sel asSymbol) ifTrue:[
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2358
                                                changeDelta := '-'.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2359
                                            ] ifFalse:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2360
                                                changeDelta := '='.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2361
                                            ]
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2362
                                        ]
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2363
                                    ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2364
                                    changeType := '(remove)'.
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2365
                                    changeString := self contractClass:clsName selector:sel to:maxLen.
2573
5a0d8ad2c073 more compares.
Claus Gittinger <cg@exept.de>
parents: 2571
diff changeset
  2366
                                    sel := nil.
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2367
                                ].
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2368
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2369
                                (p ~~ #Error
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2370
                                and:[p isMessage 
2292
321bca750f46 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2291
diff changeset
  2371
                                and:[rec isMessage
321bca750f46 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2291
diff changeset
  2372
                                and:[rec selector == #compiledMethodAt:]]]) ifTrue:[
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2373
                                    nameAndClass := self extractClassAndClassNameFromParseTree:rec receiver.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2374
                                    clsName := nameAndClass key. changeClass := nameAndClass value.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2375
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2376
                                    (sel == #category:) ifTrue:[
2292
321bca750f46 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2291
diff changeset
  2377
                                        sel := (rec args at:1) evaluate.
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2378
                                        changeType := '(category change)'.
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2379
                                        changeString := self contractClass:clsName selector:sel to:maxLen.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2380
                                        changeClassNames at:changeClassNames size put:clsName.
3069
4bc1b0f7b848 Fix for non-existant classes (cg)
Stefan Vogel <sv@exept.de>
parents: 3067
diff changeset
  2381
                                        changeClass notNil ifTrue:[
4bc1b0f7b848 Fix for non-existant classes (cg)
Stefan Vogel <sv@exept.de>
parents: 3067
diff changeset
  2382
                                            m := changeClass compiledMethodAt:sel asSymbol.
4bc1b0f7b848 Fix for non-existant classes (cg)
Stefan Vogel <sv@exept.de>
parents: 3067
diff changeset
  2383
                                            m notNil ifTrue:[
4bc1b0f7b848 Fix for non-existant classes (cg)
Stefan Vogel <sv@exept.de>
parents: 3067
diff changeset
  2384
                                                m category = (p args at:1) evaluate ifTrue:[
4bc1b0f7b848 Fix for non-existant classes (cg)
Stefan Vogel <sv@exept.de>
parents: 3067
diff changeset
  2385
                                                    changeDelta := '='.
4bc1b0f7b848 Fix for non-existant classes (cg)
Stefan Vogel <sv@exept.de>
parents: 3067
diff changeset
  2386
                                                ]
3065
3de1f9ddd72a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3064
diff changeset
  2387
                                            ]
3de1f9ddd72a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3064
diff changeset
  2388
                                        ].
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2389
                                    ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2390
                                    (sel == #privacy:) ifTrue:[
2292
321bca750f46 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2291
diff changeset
  2391
                                        sel := (rec args at:1) evaluate.
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2392
                                        changeType := '(privacy change)'.
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2393
                                        changeString := self contractClass:clsName selector:sel to:maxLen.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2394
                                        changeClassNames at:changeClassNames size put:clsName.
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2395
                                    ].
2573
5a0d8ad2c073 more compares.
Claus Gittinger <cg@exept.de>
parents: 2571
diff changeset
  2396
                                    sel := nil.
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2397
                                ].
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2398
2290
59207b94df0c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2286
diff changeset
  2399
                                (Class definitionSelectors includes:sel) ifTrue:[
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2400
                                    changeType := '(class definition)'.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2401
                                    clsName := (p args at:1) evaluate.
2664
541f43019451 fixed class-chunk remembering (remember the full chunk,
Claus Gittinger <cg@exept.de>
parents: 2641
diff changeset
  2402
                                    changeClassNames at:changeClassNames size put:clsName.
2683
e76575e4346f private className extraction
tm
parents: 2682
diff changeset
  2403
e76575e4346f private className extraction
tm
parents: 2682
diff changeset
  2404
                                    "/ is it a private-class ?
e76575e4346f private className extraction
tm
parents: 2682
diff changeset
  2405
                                    ('*privateIn:' match:sel) ifTrue:[
e76575e4346f private className extraction
tm
parents: 2682
diff changeset
  2406
                                        ownerTree := p args last.
e76575e4346f private className extraction
tm
parents: 2682
diff changeset
  2407
                                        ownerName := ownerTree name asString.
e76575e4346f private className extraction
tm
parents: 2682
diff changeset
  2408
                                        clsName := ownerName , '::' , clsName
e76575e4346f private className extraction
tm
parents: 2682
diff changeset
  2409
                                    ].
e76575e4346f private className extraction
tm
parents: 2682
diff changeset
  2410
                                
2290
59207b94df0c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2286
diff changeset
  2411
                                    changeString := clsName.
2292
321bca750f46 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2291
diff changeset
  2412
                                    NoColoring ~~ true ifTrue:[
2867
0ce30d3c763f asText allBold -> allBold
Claus Gittinger <cg@exept.de>
parents: 2863
diff changeset
  2413
                                        changeType := changeType allBold.
0ce30d3c763f asText allBold -> allBold
Claus Gittinger <cg@exept.de>
parents: 2863
diff changeset
  2414
                                        changeString := changeString allBold.
2573
5a0d8ad2c073 more compares.
Claus Gittinger <cg@exept.de>
parents: 2571
diff changeset
  2415
                                    ].
5a0d8ad2c073 more compares.
Claus Gittinger <cg@exept.de>
parents: 2571
diff changeset
  2416
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  2417
                                    autoCompare value ifTrue:[
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2418
                                        cls := (self nameSpaceForApply) at:clsName asSymbol ifAbsent:nil.
2573
5a0d8ad2c073 more compares.
Claus Gittinger <cg@exept.de>
parents: 2571
diff changeset
  2419
                                        cls isNil ifTrue:[
5a0d8ad2c073 more compares.
Claus Gittinger <cg@exept.de>
parents: 2571
diff changeset
  2420
                                            changeDelta := '+'.
5a0d8ad2c073 more compares.
Claus Gittinger <cg@exept.de>
parents: 2571
diff changeset
  2421
                                        ] ifFalse:[
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2422
                                            (cls definitionSelector = sel 
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2423
                                            or:[
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2424
                                                "/ could be an ST/V, VAge or Dolphin definition
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2425
                                                cls definitionSelector = (sel , 'category:') 
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2426
                                            ]) 
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2427
                                            ifTrue:[
2816
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2428
                                                ((cls superclass isNil 
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2429
                                                    and:[p receiver isConstant 
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2430
                                                    and:[p receiver evaluate isNil]])
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2431
                                                or:[
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2432
                                                    cls superclass notNil 
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2433
                                                    and:[p receiver isConstant not
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2434
                                                    and:[cls superclass name = p receiver name]]
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2435
                                                ]) ifTrue:[
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2436
                                                    cls instanceVariableString asCollectionOfWords = (p args at:2) evaluate asCollectionOfWords ifTrue:[
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2437
                                                        cls classVariableString asCollectionOfWords = (p args at:3) evaluate asCollectionOfWords ifTrue:[
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2438
                                                            (p args at:4) evaluate isEmpty ifTrue:[
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2439
                                                                cls definitionSelector = (sel , 'category:') 
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2440
                                                                ifTrue:[
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2441
                                                                    "/ ST/V, VAge or Dolphin definition
2816
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2442
                                                                    changeDelta := '='.
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2443
                                                                ] ifFalse:[
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2444
                                                                    cls category = (p args at:5) evaluate ifTrue:[
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2445
                                                                        changeDelta := '='.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2446
                                                                    ] ifFalse:[
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2447
                                                                        changeType := '(class category change)'.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2448
                                                                    ]
2816
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2449
                                                                ]
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2450
                                                            ]
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2451
                                                        ]
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2452
                                                    ]
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2453
                                                ]
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2454
                                            ]
2573
5a0d8ad2c073 more compares.
Claus Gittinger <cg@exept.de>
parents: 2571
diff changeset
  2455
                                        ]
5a0d8ad2c073 more compares.
Claus Gittinger <cg@exept.de>
parents: 2571
diff changeset
  2456
                                    ].
5a0d8ad2c073 more compares.
Claus Gittinger <cg@exept.de>
parents: 2571
diff changeset
  2457
                                    sel := nil.
2265
693dad31ead8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2263
diff changeset
  2458
                                ] ifFalse:[
693dad31ead8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2263
diff changeset
  2459
                                    (#(
693dad31ead8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2263
diff changeset
  2460
                                      #'primitiveDefinitions:'
693dad31ead8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2263
diff changeset
  2461
                                      #'primitiveFunctions:'
693dad31ead8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2263
diff changeset
  2462
                                      #'primitiveVariables:'
693dad31ead8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2263
diff changeset
  2463
                                     ) includes:sel) ifTrue:[
693dad31ead8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2263
diff changeset
  2464
                                        changeType := '(class definition)'.
2292
321bca750f46 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2291
diff changeset
  2465
                                        clsName := rec evaluate.
2816
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2466
                                    ] ifFalse:[
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2467
                                        ((sel == #instanceVariableNames:) 
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2468
                                        and:[rec isMessage
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2469
                                        and:[rec selector == #class]]) ifTrue:[
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2470
                                            clsName := rec receiver name.
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2471
                                            changeClass := (self nameSpaceForApply) classNamed:clsName.
2816
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2472
                                            changeType := '(class definition)'.
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2473
                                            changeClassNames at:changeClassNames size put:clsName.
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2474
3202
9f6e0824af37 added a pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  2475
                                            autoCompare value ifTrue:[
2816
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2476
                                                changeClass isNil ifTrue:[
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2477
                                                    changeDelta := '?'.
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2478
                                                ] ifFalse:[
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2479
                                                    s := (p args at:1) evaluate.
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2480
                                                    s = changeClass class instanceVariableString ifTrue:[
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2481
                                                        changeDelta := '='.
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2482
                                                    ]
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2483
                                                ]
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2484
                                            ].
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  2485
                                        ]
2265
693dad31ead8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2263
diff changeset
  2486
                                    ]
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2487
                                ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2488
                            ]
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2489
                        ] ifTrue:[ "sawExcla"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2490
                            singleJunkOnly := false.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2491
                            methodChunks := false.
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2492
                            classCategoryChunks := methodCategoryChunks := false.    
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2493
                            singleInfo := false.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2494
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2495
                            "
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2496
                             method definitions actually consist of
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2497
                             two (or more) chunks; skip next chunk(s)
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2498
                             up to an empty one.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2499
                             The system only writes one chunk,
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2500
                             and we cannot handle more in this ChangesBrowser ....
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2501
                            "
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2502
                            clsName := nil.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2503
                            p := Parser parseExpression:chunkText inNameSpace:(self nameSpaceForApply).
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2504
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2505
                            (p notNil and:[p ~~ #Error]) ifTrue:[
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2506
                                rec := p receiver.
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2507
                                sel := p selector.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2508
                                (#(
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2509
                                   #methodsFor: 
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2510
                                   #privateMethodsFor:
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2511
                                   #publicMethodsFor:
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2512
                                   #ignoredMethodsFor:
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2513
                                   #protectedMethodsFor:
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2514
                                   #methodsFor:stamp:             "/ Squeak support
2527
afa639104477 some support for dolphin source files
Claus Gittinger <cg@exept.de>
parents: 2511
diff changeset
  2515
                                   #'commentStamp:prior:'         "/ Squeak support
afa639104477 some support for dolphin source files
Claus Gittinger <cg@exept.de>
parents: 2511
diff changeset
  2516
                                   #methodsFor                    "/ Dolphin support
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2517
                                   #categoriesForClass            "/ Dolphin support
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2518
                                   #categoriesFor:                "/ Dolphin support
2606
61cc86fff103 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2604
diff changeset
  2519
                                   #methods                       "/ STV support
3487
6f116facbc99 ST/V support
Claus Gittinger <cg@exept.de>
parents: 3472
diff changeset
  2520
                                   #publicMethods                 "/ STV support
3676
f2ddc7f83b7c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3674
diff changeset
  2521
                                   #methodsForUndefined: 
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2522
                                  ) 
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2523
                                includes:sel) ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2524
                                    methodChunks := true.
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2525
                                    nameAndClass := self extractClassAndClassNameFromParseTree:rec.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2526
                                    clsName := nameAndClass key. changeClass := nameAndClass value.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2527
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2528
                                    sel == #categoriesForClass ifTrue:[
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2529
                                        methodChunks := false.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2530
                                        classCategoryChunks := true.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2531
                                        changeType := '(class category change)'.
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2532
                                    ] ifFalse:[
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2533
                                        sel == #categoriesFor: ifTrue:[
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2534
                                            methodChunks := false.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2535
                                            methodCategoryChunks := true.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2536
                                            changeType := '(category change)'.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2537
                                            methodSelector := (p args at:1) evaluate.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2538
                                        ] ifFalse:[
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2539
                                            (sel == #'methodsFor') ifTrue:[
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2540
                                                category := 'Dolphin methods'.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2541
                                            ] ifFalse:[
3487
6f116facbc99 ST/V support
Claus Gittinger <cg@exept.de>
parents: 3472
diff changeset
  2542
                                                ((sel == #methods) or:[sel == #publicMethods]) ifTrue:[
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2543
                                                    category := 'STV methods'.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2544
                                                ] ifFalse:[
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2545
                                                    category := (p args at:1) evaluate.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2546
                                                ]
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2547
                                            ].
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2548
                                        ].
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2549
                                    ].
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2550
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2551
                                    sel == #'methodsFor:stamp:' ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2552
                                        "/ Squeak timeStamp
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2553
                                        timeStampInfo := (p args at:2) evaluate.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2554
                                        singleInfo := true
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2555
                                    ] ifFalse:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2556
                                        sel == #'commentStamp:prior:' ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2557
                                            singleJunkOnly := true.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2558
                                            methodChunks := false.
2301
d557a9dec28c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2295
diff changeset
  2559
                                        ]
d557a9dec28c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2295
diff changeset
  2560
                                    ]
d557a9dec28c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2295
diff changeset
  2561
                                ] ifFalse:[
d557a9dec28c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2295
diff changeset
  2562
                                    sel == #reorganize ifTrue:[
d557a9dec28c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2295
diff changeset
  2563
                                        singleJunkOnly := true.
d557a9dec28c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2295
diff changeset
  2564
                                        methodChunks := false.
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2565
                                    ]
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2566
                                ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2567
                            ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2568
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2569
                            done := false.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2570
                            first := true.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2571
                            [done] whileFalse:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2572
                                changeDelta := ' '.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2573
                                methodPos := aStream position.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2574
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2575
                                text := aStream nextChunk.
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2576
                                done := text isNil or:[text isEmpty].
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2577
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2578
                                done ifFalse:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2579
                                    first ifFalse:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2580
                                        changeChunks add:chunkText.
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2581
                                        changeClassNames add:clsName.
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2582
                                        changePositions add:methodPos.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2583
                                        changeTimeStamps add:timeStampInfo.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2584
                                        changeIsFollowupMethodChange add:true.
2641
cfd94f3cc611 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2637
diff changeset
  2585
                                        askedForEditingClassSource ifFalse:[
2863
c9cea7dfa990 suffix check fixed
Claus Gittinger <cg@exept.de>
parents: 2843
diff changeset
  2586
                                            (changeFileName asFilename hasSuffix:'st') ifFalse:[
2641
cfd94f3cc611 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2637
diff changeset
  2587
                                                editingClassSource :=  (self confirm:'Multiple method chunks without individual ''methodsFor:'' encountered.
2635
4ac62d4f2346 care for malformed changes file and ask
Claus Gittinger <cg@exept.de>
parents: 2606
diff changeset
  2588
Is this a class-file being browsed ?')
2641
cfd94f3cc611 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2637
diff changeset
  2589
                                            ] ifTrue:[
cfd94f3cc611 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2637
diff changeset
  2590
                                                editingClassSource := true.
cfd94f3cc611 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2637
diff changeset
  2591
                                            ].
cfd94f3cc611 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2637
diff changeset
  2592
                                            askedForEditingClassSource := true.
2635
4ac62d4f2346 care for malformed changes file and ask
Claus Gittinger <cg@exept.de>
parents: 2606
diff changeset
  2593
                                        ]
2664
541f43019451 fixed class-chunk remembering (remember the full chunk,
Claus Gittinger <cg@exept.de>
parents: 2641
diff changeset
  2594
                                    ] ifTrue:[
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2595
                                        changeClassNames at:changeClassNames size put:clsName.
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2596
                                    ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2597
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2598
                                    first := false.
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2599
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2600
                                    (classCategoryChunks or:[methodCategoryChunks]) ifTrue:[
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2601
                                        text := text asCollectionOfLines first asString.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2602
                                        classCategoryChunks ifTrue:[
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2603
                                            changeClass isNil ifTrue:[
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2604
                                                changeDelta := '?'.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2605
                                            ] ifFalse:[
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2606
                                                changeClass category = text ifTrue:[
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2607
                                                    changeDelta := '='.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2608
                                                ]
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2609
                                            ].
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2610
                                            changeString := clsName , ' category: ' , text storeString.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2611
                                        ]ifFalse:[
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2612
                                            changeString := '(' , clsName , ' compiledMethodAt:' , methodSelector storeString , ') category: ' , text storeString.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2613
                                        ].
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2614
                                    ] ifFalse:[
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2615
                                        "
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2616
                                         try to find the selector
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2617
                                        "
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2618
                                        methodSelector := nil.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2619
                                        clsName notNil ifTrue:[
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2620
                                            methodChunks ifTrue:[
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2621
                                                p := Parser 
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2622
                                                         parseMethodSpecification:text
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2623
                                                         in:nil
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2624
                                                         ignoreErrors:true
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2625
                                                         ignoreWarnings:true.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2626
                                                (p notNil and:[p ~~ #Error]) ifTrue:[
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2627
                                                    methodSelector := p selector.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2628
                                                ]
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2629
                                            ]
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2630
                                        ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2631
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2632
                                        methodSelector isNil ifTrue:[
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2633
                                            changeString := (chunkText contractTo:maxLen).
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2634
                                            changeType := '(change)'.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2635
                                            headerLine := chunkText , ' (change)'.
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2636
                                        ] ifFalse:[
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2637
                                            changeString :=  self contractClass:clsName selector:methodSelector to:maxLen.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2638
                                            changeType := '{ ' , category , ' }'.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2639
                                            headerLine := clsName , ' ' , methodSelector , ' ' , '(change category: ''' , category , ''')'.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2640
                                        ].
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2641
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2642
                                        autoCompare value ifTrue:[ 
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2643
                                            changeClass isNil ifFalse:[
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2644
                                                cls := changeClass theNonMetaclass
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2645
                                            ].
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2646
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2647
                                            (changeClass isNil or:[methodSelector isNil or:[cls isLoaded not]]) ifTrue:[
3806
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  2648
                                                changeClass isNil ifTrue:[
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  2649
                                                    changeDelta := '+'
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  2650
                                                ] ifFalse:[
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  2651
                                                    changeDelta := '?'
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  2652
                                                ]
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2653
                                            ] ifFalse:[
3586
b7d499c7ab7a implements -> includesSelector
Claus Gittinger <cg@exept.de>
parents: 3554
diff changeset
  2654
                                                (changeClass includesSelector:methodSelector asSymbol) ifFalse:[
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2655
                                                    changeDelta := '+'.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2656
                                                ] ifTrue:[
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2657
                                                    m := changeClass compiledMethodAt:methodSelector asSymbol.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2658
                                                    currentText := m source.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2659
                                                    currentText notNil ifTrue:[
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2660
                                                        text asString string withoutTrailingSeparators = currentText asString string withoutTrailingSeparators ifTrue:[
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2661
                                                            changeDelta := '='
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2662
                                                        ] ifFalse:[
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2663
                                                            t1 := currentText asCollectionOfLines collect:[:s | s withTabsExpanded].
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2664
                                                            t2 := text asCollectionOfLines collect:[:s | s withTabsExpanded].
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2665
                                                            t1 = t2 ifTrue:[
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2666
                                                                changeDelta := '='
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2667
                                                            ]
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2668
                                                        ]
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2669
                                                    ]
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2670
                                                ]
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2671
                                            ]
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2672
                                        ].
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2673
                                    ].
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2674
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2675
                                    entry := MultiColListEntry new.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2676
                                    entry tabulatorSpecification:tabSpec.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2677
                                    entry colAt:1 put:changeDelta.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2678
                                    entry colAt:2 put:changeString.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2679
                                    entry colAt:3 put:changeType.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2680
                                    timeStampInfo notNil ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2681
                                        entry colAt:4 put:timeStampInfo.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2682
                                    ].    
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2683
                                    changeHeaderLines add:entry
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2684
                                ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2685
                                changeString := nil.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2686
                                headerLine := nil.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2687
                                singleJunkOnly ifTrue:[done := true]
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2688
                            ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2689
                            singleInfo ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2690
                                timeStampInfo := nil
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2691
                            ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2692
                        ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2693
                        changeString notNil ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2694
                            entry := MultiColListEntry new.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2695
                            entry tabulatorSpecification:tabSpec.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2696
                            entry colAt:1 put:changeDelta.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2697
                            entry colAt:2 put:changeString.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2698
                            entry colAt:3 put:changeType.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2699
                            timeStampInfo notNil ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2700
                                entry colAt:4 put:timeStampInfo.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2701
                            ].    
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2702
                            changeHeaderLines add:entry
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2703
                        ] ifFalse:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2704
                            headerLine notNil ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2705
                                changeHeaderLines add:headerLine
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2706
                            ]
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2707
                        ]
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2708
                    ]
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2709
                ]
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2710
            ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2711
            anyChanges := false
3597
2e7fc0ae28c9 #valueNowOrOnUnwindDo: -> #ensure:
Claus Gittinger <cg@exept.de>
parents: 3586
diff changeset
  2712
        ] ensure:[
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2713
            aStream close.
2295
4e05198e7dd8 execute BG tasks at a prio range, to ensure progress.
Claus Gittinger <cg@exept.de>
parents: 2293
diff changeset
  2714
            inBackground ifTrue:[
4e05198e7dd8 execute BG tasks at a prio range, to ensure progress.
Claus Gittinger <cg@exept.de>
parents: 2293
diff changeset
  2715
                myProcess priority:myPriority.
4e05198e7dd8 execute BG tasks at a prio range, to ensure progress.
Claus Gittinger <cg@exept.de>
parents: 2293
diff changeset
  2716
                myProcess priorityRange:myPrioRange.
4e05198e7dd8 execute BG tasks at a prio range, to ensure progress.
Claus Gittinger <cg@exept.de>
parents: 2293
diff changeset
  2717
            ].
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2718
        ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2719
    ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2720
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2721
    self checkIfFileHasChanged
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2722
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2723
    "Modified: / 27.8.1995 / 23:06:55 / claus"
3378
a13d1dfdf7e5 use symbols as key when accesing smalltalk
Claus Gittinger <cg@exept.de>
parents: 3364
diff changeset
  2724
    "Modified: / 9.11.2001 / 02:24:46 / cg"
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2725
!
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2726
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2727
writeBackChanges
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2728
    "write back the changes file. To avoid problems when the disk is full
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2729
     or a crash occurs while writing (well, or someone kills us), 
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2730
     first write the stuff to a new temporary file. If this works ok,
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2731
     rename the old change-file to a .bak file and finally rename the
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2732
     tempfile back to the change-file. 
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2733
     That way, if anything happens, either the original file is left unchanged,
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2734
     or we have at least a backup of the previous change file."
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2735
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2736
    |inStream outStream tempfile stamp f|
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2737
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2738
    editingClassSource ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2739
        (self confirm:'You are editing a classes sourceFile (not a changeFile) !!\\Are you certain, you want to overwrite it ?' withCRs)
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2740
        ifFalse:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2741
            ^ false
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2742
        ]
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2743
    ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2744
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2745
    tempfile := Filename newTemporaryIn:nil.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2746
    tempfile exists ifTrue:[tempfile remove].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2747
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2748
    outStream := tempfile writeStream.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2749
    outStream isNil ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2750
        self warn:'cannot create temporary file in current directory.'.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2751
        ^ false
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2752
    ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2753
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2754
    inStream := FileStream readonlyFileNamed:changeFileName.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2755
    inStream isNil ifTrue:[^ false].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2756
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2757
    self withCursor:(Cursor write) do:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2758
        |excla sawExcla done first chunk
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2759
         nChanges "{Class:SmallInteger}" |
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2760
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2761
        Stream writeErrorSignal handle:[:ex |
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  2762
            self warn:('could not update the changes file.\\' , ex description) withCRs.
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2763
            tempfile exists ifTrue:[tempfile remove].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2764
            ^ false
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2765
        ] do:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2766
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2767
            excla := inStream class chunkSeparator.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2768
            nChanges := self numberOfChanges.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2769
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2770
            1 to:nChanges do:[:index |
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2771
                inStream position:(changePositions at:index).
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2772
                sawExcla := inStream peekFor:excla.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2773
                chunk := inStream nextChunk.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2774
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2775
                (chunk notNil
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2776
                and:[(chunk startsWith:'''---- snap') not]) ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2777
                    (stamp := changeTimeStamps at:index) notNil ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2778
                        outStream nextPutAll:'''---- timestamp ' , stamp , ' ----'''.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2779
                        outStream nextPut:excla; cr.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2780
                    ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2781
                ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2782
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2783
                sawExcla ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2784
                    outStream nextPut:excla.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2785
                    outStream nextChunkPut:chunk.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2786
                    outStream cr; cr.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2787
                    "
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2788
                     a method-definition chunk - output followups
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2789
                    "
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2790
                    done := false.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2791
                    first := true.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2792
                    [done] whileFalse:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2793
                        chunk := inStream nextChunk.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2794
                        chunk isNil ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2795
                            outStream cr; cr.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2796
                            done := true
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2797
                        ] ifFalse:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2798
                            chunk isEmpty ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2799
                                outStream space; nextChunkPut:chunk; cr; cr.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2800
                                done := true.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2801
                            ] ifFalse:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2802
                                first ifFalse:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2803
                                    outStream cr; cr.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2804
                                ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2805
                                outStream nextChunkPut:chunk.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2806
                            ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2807
                        ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2808
                        first := false.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2809
                    ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2810
                ] ifFalse:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2811
                    outStream nextChunkPut:chunk.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2812
                    outStream cr
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2813
                ]
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2814
            ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2815
            outStream close.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2816
            inStream close.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2817
        ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2818
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2819
        f := changeFileName asFilename.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2820
        f renameTo:(f withSuffix:'bak').
2466
66842be773bd care for cross-device rename
Claus Gittinger <cg@exept.de>
parents: 2451
diff changeset
  2821
        tempfile renameOrCopyTo:changeFileName.
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2822
        anyChanges := false
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2823
    ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2824
    ^ true
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2825
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2826
    "Modified: / 2.12.1996 / 22:29:15 / stefan"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2827
    "Modified: / 21.4.1998 / 17:50:11 / cg"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2828
! !
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2829
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2830
!ChangesBrowser methodsFor:'private-user interaction ops'!
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  2831
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  2832
appendChange:changeNr toFile:fileName
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  2833
    "append change to a file. return true if ok."
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  2834
2394
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  2835
    |aStream outStream chunk chunk2 sawExcla separator|
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  2836
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  2837
    aStream := self streamForChange:changeNr.
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  2838
    aStream isNil ifTrue:[
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  2839
        self warn:'oops - cannot read change'.
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  2840
        ^ false
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  2841
    ].
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  2842
    aStream skipSeparators.
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  2843
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  2844
    separator := aStream class chunkSeparator.
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  2845
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  2846
    (self changeIsFollowupMethodChange:changeNr) ifTrue:[
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  2847
        sawExcla := true.
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  2848
        chunk := changeChunks at:changeNr.
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  2849
        chunk withoutSeparators isEmpty ifTrue:[
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  2850
            self halt:'oops - should not happen'.
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  2851
        ]
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  2852
    ] ifFalse:[
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  2853
        sawExcla := aStream peekFor:separator.
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  2854
        chunk := aStream nextChunk.
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  2855
        chunk withoutSeparators isEmpty ifTrue:[
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  2856
            self halt:'oops - should not happen'.
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  2857
        ]
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  2858
    ].
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  2859
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  2860
    outStream := FileStream oldFileNamed:fileName.
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  2861
    outStream isNil ifTrue:[
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  2862
        outStream isNil ifTrue:[
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  2863
            outStream := FileStream newFileNamed:fileName.
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  2864
            outStream isNil ifTrue:[
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  2865
                self warn:'cannot update file ''%1''' with:fileName.
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  2866
                ^ false
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  2867
            ]
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  2868
        ]
73
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  2869
    ].
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  2870
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  2871
    outStream setToEnd.
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  2872
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  2873
    sawExcla ifTrue:[
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  2874
        outStream nextPut:separator
703
1b3b008d9f19 fixed to allow class-source files to be handled
Claus Gittinger <cg@exept.de>
parents: 627
diff changeset
  2875
    ].
1b3b008d9f19 fixed to allow class-source files to be handled
Claus Gittinger <cg@exept.de>
parents: 627
diff changeset
  2876
    outStream nextChunkPut:chunk; cr.
1b3b008d9f19 fixed to allow class-source files to be handled
Claus Gittinger <cg@exept.de>
parents: 627
diff changeset
  2877
    sawExcla ifTrue:[
2394
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  2878
        chunk2 := aStream nextChunk.
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  2879
        chunk2 withoutSeparators isEmpty ifTrue:[
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  2880
            self halt:'oops - should not happen'.
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  2881
        ].
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  2882
        outStream nextChunkPut:chunk2; space
703
1b3b008d9f19 fixed to allow class-source files to be handled
Claus Gittinger <cg@exept.de>
parents: 627
diff changeset
  2883
    ].
1b3b008d9f19 fixed to allow class-source files to be handled
Claus Gittinger <cg@exept.de>
parents: 627
diff changeset
  2884
    sawExcla ifTrue:[
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  2885
        outStream nextPut:separator
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  2886
    ].
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  2887
    outStream cr.
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  2888
    aStream close.
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  2889
    outStream close.
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  2890
    ^ true
703
1b3b008d9f19 fixed to allow class-source files to be handled
Claus Gittinger <cg@exept.de>
parents: 627
diff changeset
  2891
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  2892
    "Modified: / 6.2.1998 / 13:03:54 / cg"
73
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  2893
!
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  2894
51
57c1ccc3d7e0 *** empty log message ***
claus
parents: 50
diff changeset
  2895
applyChange:changeNr
57c1ccc3d7e0 *** empty log message ***
claus
parents: 50
diff changeset
  2896
    "fileIn a change"
57c1ccc3d7e0 *** empty log message ***
claus
parents: 50
diff changeset
  2897
3091
12dd79e44cea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3090
diff changeset
  2898
    |aStream applyAction nameSpace className changeClass ownerName ownerClass
3339
b4f4edeb8e4e first attempt in supporting VW5i XML format reading
Claus Gittinger <cg@exept.de>
parents: 3330
diff changeset
  2899
     sig reader doItChunk methodsForChunk pkg 
3633
9a71957dadcb unsued vars removed
Claus Gittinger <cg@exept.de>
parents: 3607
diff changeset
  2900
     alternativeClass shortName orgClassName|
45
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
  2901
51
57c1ccc3d7e0 *** empty log message ***
claus
parents: 50
diff changeset
  2902
    aStream := self streamForChange:changeNr.
57c1ccc3d7e0 *** empty log message ***
claus
parents: 50
diff changeset
  2903
    aStream isNil ifTrue:[^ self].
57c1ccc3d7e0 *** empty log message ***
claus
parents: 50
diff changeset
  2904
2965
4ca3db1708a1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2888
diff changeset
  2905
    className := self classNameOfChange:changeNr.
4ca3db1708a1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2888
diff changeset
  2906
    className notNil ifTrue:[
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2907
        className := className asSymbol.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2908
        changeClass := Smalltalk at:className ifAbsent:[].
2965
4ca3db1708a1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2888
diff changeset
  2909
        changeClass notNil ifTrue:[
4ca3db1708a1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2888
diff changeset
  2910
            changeClass isLoaded ifFalse:[
4ca3db1708a1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2888
diff changeset
  2911
                changeClass autoload
1427
0b2794583306 care for methodRedefinitionSignal when accepting
Claus Gittinger <cg@exept.de>
parents: 1425
diff changeset
  2912
            ]
0b2794583306 care for methodRedefinitionSignal when accepting
Claus Gittinger <cg@exept.de>
parents: 1425
diff changeset
  2913
        ]
51
57c1ccc3d7e0 *** empty log message ***
claus
parents: 50
diff changeset
  2914
    ].
45
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
  2915
51
57c1ccc3d7e0 *** empty log message ***
claus
parents: 50
diff changeset
  2916
    changeNrProcessed := changeNr.
45
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
  2917
358
a7546792f073 update changeFile if applying changes from another changeFile
Claus Gittinger <cg@exept.de>
parents: 326
diff changeset
  2918
    applyAction := [
1427
0b2794583306 care for methodRedefinitionSignal when accepting
Claus Gittinger <cg@exept.de>
parents: 1425
diff changeset
  2919
        (skipSignal notNil) ifTrue:[
0b2794583306 care for methodRedefinitionSignal when accepting
Claus Gittinger <cg@exept.de>
parents: 1425
diff changeset
  2920
            sig := skipSignal
0b2794583306 care for methodRedefinitionSignal when accepting
Claus Gittinger <cg@exept.de>
parents: 1425
diff changeset
  2921
        ] ifFalse:[
3436
c4fe19deba58 class based exceptions - abortSignal;
Claus Gittinger <cg@exept.de>
parents: 3406
diff changeset
  2922
            sig := AbortOperationRequest
1427
0b2794583306 care for methodRedefinitionSignal when accepting
Claus Gittinger <cg@exept.de>
parents: 1425
diff changeset
  2923
        ].
0b2794583306 care for methodRedefinitionSignal when accepting
Claus Gittinger <cg@exept.de>
parents: 1425
diff changeset
  2924
        sig catch:[
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2925
            nameSpace := self nameSpaceForApply.
3227
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2926
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2927
            pkg := enforcedPackage ? Class packageQuerySignal query.             
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2928
            Class packageQuerySignal answer:pkg
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2929
            do:[    
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2930
                Class nameSpaceQuerySignal answer:nameSpace
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2931
                do:[
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2932
                    "/ a followup methodsFor: chunk ...
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2933
                    (self changeIsFollowupMethodChange:changeNr) ifTrue:[
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2934
                        methodsForChunk := (changeChunks at:changeNr).
2286
6da16a42e507 care for defaultNameSpace being set to something
Claus Gittinger <cg@exept.de>
parents: 2267
diff changeset
  2935
                    ] ifFalse:[
3227
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2936
                        doItChunk := aStream nextChunk.   "/ an empty chunk sometimes ...
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2937
                        doItChunk notEmpty ifTrue:[
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2938
                            Compiler evaluate:doItChunk notifying:self.
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2939
                        ] ifFalse:[
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2940
                            methodsForChunk := aStream nextChunk.   "/ the real one
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2941
                        ]
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2942
                    ].
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2943
                    methodsForChunk notNil ifTrue:[
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2944
                        changeClass isNil ifTrue:[
3339
b4f4edeb8e4e first attempt in supporting VW5i XML format reading
Claus Gittinger <cg@exept.de>
parents: 3330
diff changeset
  2945
                            orgClassName := className.
b4f4edeb8e4e first attempt in supporting VW5i XML format reading
Claus Gittinger <cg@exept.de>
parents: 3330
diff changeset
  2946
3227
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2947
                            (className includes:$:) ifTrue:[
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2948
                                ownerName := className copyTo:(className lastIndexOf:$:) - 1.
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2949
                                (ownerName endsWith:$:) ifTrue:[
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2950
                                    ownerName := ownerName copyWithoutLast:1.
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2951
                                ].
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2952
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2953
                                ownerClass := Smalltalk at:(ownerName asSymbol) ifAbsent:[].
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2954
                                ownerClass notNil ifTrue:[
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2955
                                    ownerClass isLoaded ifFalse:[
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2956
                                        ownerClass autoload
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2957
                                    ]
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2958
                                ].
2965
4ca3db1708a1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2888
diff changeset
  2959
                            ].
3227
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2960
                            (nameSpace notNil and:[nameSpace ~~ Smalltalk]) ifTrue:[
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2961
                                changeClass := nameSpace at:className ifAbsent:[].
3227
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2962
                            ].
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2963
                            changeClass isNil ifTrue:[
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  2964
                                changeClass := Smalltalk at:className ifAbsent:[].
3227
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2965
                            ].
3339
b4f4edeb8e4e first attempt in supporting VW5i XML format reading
Claus Gittinger <cg@exept.de>
parents: 3330
diff changeset
  2966
                            [changeClass isNil] whileTrue:[
b4f4edeb8e4e first attempt in supporting VW5i XML format reading
Claus Gittinger <cg@exept.de>
parents: 3330
diff changeset
  2967
                                shortName := className copyFrom:(className lastIndexOf:$:) + 1.
b4f4edeb8e4e first attempt in supporting VW5i XML format reading
Claus Gittinger <cg@exept.de>
parents: 3330
diff changeset
  2968
                                shortName = className ifTrue:[
b4f4edeb8e4e first attempt in supporting VW5i XML format reading
Claus Gittinger <cg@exept.de>
parents: 3330
diff changeset
  2969
                                     shortName := ''
b4f4edeb8e4e first attempt in supporting VW5i XML format reading
Claus Gittinger <cg@exept.de>
parents: 3330
diff changeset
  2970
                                ].
b4f4edeb8e4e first attempt in supporting VW5i XML format reading
Claus Gittinger <cg@exept.de>
parents: 3330
diff changeset
  2971
                                className := Dialog 
b4f4edeb8e4e first attempt in supporting VW5i XML format reading
Claus Gittinger <cg@exept.de>
parents: 3330
diff changeset
  2972
                                                request:'No class ''' , className , ''' for change. Add to which class ?'
b4f4edeb8e4e first attempt in supporting VW5i XML format reading
Claus Gittinger <cg@exept.de>
parents: 3330
diff changeset
  2973
                                                initialAnswer:shortName.
b4f4edeb8e4e first attempt in supporting VW5i XML format reading
Claus Gittinger <cg@exept.de>
parents: 3330
diff changeset
  2974
                                className size == 0 ifTrue:[
b4f4edeb8e4e first attempt in supporting VW5i XML format reading
Claus Gittinger <cg@exept.de>
parents: 3330
diff changeset
  2975
                                    ^ self    
b4f4edeb8e4e first attempt in supporting VW5i XML format reading
Claus Gittinger <cg@exept.de>
parents: 3330
diff changeset
  2976
                                ].
b4f4edeb8e4e first attempt in supporting VW5i XML format reading
Claus Gittinger <cg@exept.de>
parents: 3330
diff changeset
  2977
                                alternativeClass := Smalltalk classNamed:className.
b4f4edeb8e4e first attempt in supporting VW5i XML format reading
Claus Gittinger <cg@exept.de>
parents: 3330
diff changeset
  2978
                                alternativeClass notNil ifTrue:[
b4f4edeb8e4e first attempt in supporting VW5i XML format reading
Claus Gittinger <cg@exept.de>
parents: 3330
diff changeset
  2979
                                    changeClass := alternativeClass
b4f4edeb8e4e first attempt in supporting VW5i XML format reading
Claus Gittinger <cg@exept.de>
parents: 3330
diff changeset
  2980
                                ]
2965
4ca3db1708a1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2888
diff changeset
  2981
                            ].
3339
b4f4edeb8e4e first attempt in supporting VW5i XML format reading
Claus Gittinger <cg@exept.de>
parents: 3330
diff changeset
  2982
                            methodsForChunk := methodsForChunk copyFrom:(methodsForChunk indexOfSeparator).
b4f4edeb8e4e first attempt in supporting VW5i XML format reading
Claus Gittinger <cg@exept.de>
parents: 3330
diff changeset
  2983
                            methodsForChunk := changeClass name , methodsForChunk.
2965
4ca3db1708a1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2888
diff changeset
  2984
                        ].
3227
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2985
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2986
                        reader := Compiler evaluate:methodsForChunk notifying:self.
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2987
                        reader fileInFrom:aStream notifying:self passChunk:false single:true.
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  2988
                    ]
1427
0b2794583306 care for methodRedefinitionSignal when accepting
Claus Gittinger <cg@exept.de>
parents: 1425
diff changeset
  2989
                ]
0b2794583306 care for methodRedefinitionSignal when accepting
Claus Gittinger <cg@exept.de>
parents: 1425
diff changeset
  2990
            ]
0b2794583306 care for methodRedefinitionSignal when accepting
Claus Gittinger <cg@exept.de>
parents: 1425
diff changeset
  2991
        ].
0b2794583306 care for methodRedefinitionSignal when accepting
Claus Gittinger <cg@exept.de>
parents: 1425
diff changeset
  2992
        changeNrProcessed := nil.
358
a7546792f073 update changeFile if applying changes from another changeFile
Claus Gittinger <cg@exept.de>
parents: 326
diff changeset
  2993
    ].
a7546792f073 update changeFile if applying changes from another changeFile
Claus Gittinger <cg@exept.de>
parents: 326
diff changeset
  2994
a7546792f073 update changeFile if applying changes from another changeFile
Claus Gittinger <cg@exept.de>
parents: 326
diff changeset
  2995
    "/
a7546792f073 update changeFile if applying changes from another changeFile
Claus Gittinger <cg@exept.de>
parents: 326
diff changeset
  2996
    "/ if I am showing the changes file, dont update it
a7546792f073 update changeFile if applying changes from another changeFile
Claus Gittinger <cg@exept.de>
parents: 326
diff changeset
  2997
    "/
a7546792f073 update changeFile if applying changes from another changeFile
Claus Gittinger <cg@exept.de>
parents: 326
diff changeset
  2998
    changeFileName = ObjectMemory nameForChanges ifTrue:[
3319
abb70a0e9df2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3304
diff changeset
  2999
        Class withoutUpdatingChangesDo:[
abb70a0e9df2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3304
diff changeset
  3000
            Class updateChangeListQuerySignal answer:updateChangeSet do:applyAction
abb70a0e9df2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3304
diff changeset
  3001
        ]
358
a7546792f073 update changeFile if applying changes from another changeFile
Claus Gittinger <cg@exept.de>
parents: 326
diff changeset
  3002
    ] ifFalse:[
1427
0b2794583306 care for methodRedefinitionSignal when accepting
Claus Gittinger <cg@exept.de>
parents: 1425
diff changeset
  3003
        applyAction value
45
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
  3004
    ].
132
claus
parents: 126
diff changeset
  3005
    aStream close
358
a7546792f073 update changeFile if applying changes from another changeFile
Claus Gittinger <cg@exept.de>
parents: 326
diff changeset
  3006
3436
c4fe19deba58 class based exceptions - abortSignal;
Claus Gittinger <cg@exept.de>
parents: 3406
diff changeset
  3007
    "Modified: / 16.11.2001 / 17:38:06 / cg"
45
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
  3008
!
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
  3009
255
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  3010
compareChange:changeNr
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3011
    "compare a change with the current (in-image) version; show the result of the compare (as dialog)"
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3012
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3013
    ^ self compareChange:changeNr showResult:true
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3014
!
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3015
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3016
compareChange:changeNr showResult:doShowResult
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3017
    "compare a change with current version.
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3018
     Return the result of the compare (same -> true, different -> false, uncomparable -> nil).
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3019
     If doShowResult is true, the outcome is shown in a dialog/diffViewer."
255
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  3020
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  3021
    |aStream chunk sawExcla parseTree thisClass cat oldSource newSource
742
2ef5e22d8983 code cleanup (unused vars eliminated)
Claus Gittinger <cg@exept.de>
parents: 724
diff changeset
  3022
     parser sel oldMethod outcome showDiff d t1 t2 selector isLoaded
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3023
     method beep superClass thisClassSym varsHere varsInChange addedVars removedVars
3534
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  3024
     isSame ownerClass|
255
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  3025
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  3026
    aStream := self streamForChange:changeNr.
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3027
    aStream isNil ifTrue:[^ nil].
255
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  3028
275
604a906c0eb7 better handling of changes for autoloaded classes
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
  3029
    showDiff := false.
604a906c0eb7 better handling of changes for autoloaded classes
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
  3030
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3031
    (self changeIsFollowupMethodChange:changeNr) ifFalse:[
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3032
        sawExcla := aStream peekFor:(aStream class chunkSeparator).
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3033
        chunk := aStream nextChunk.
703
1b3b008d9f19 fixed to allow class-source files to be handled
Claus Gittinger <cg@exept.de>
parents: 627
diff changeset
  3034
    ] ifTrue:[
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3035
        chunk := (changeChunks at:changeNr).
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3036
        sawExcla := true.
703
1b3b008d9f19 fixed to allow class-source files to be handled
Claus Gittinger <cg@exept.de>
parents: 627
diff changeset
  3037
    ].
1b3b008d9f19 fixed to allow class-source files to be handled
Claus Gittinger <cg@exept.de>
parents: 627
diff changeset
  3038
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3039
    isSame := nil.
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3040
761
5c2b46a38efa checkin from browser
Claus Gittinger <cg@exept.de>
parents: 744
diff changeset
  3041
    beep := false.
255
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  3042
    sawExcla ifFalse:[
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3043
        outcome := 'cannot compare this change\\(i.e. this is not a method change).'.
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3044
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  3045
        Class nameSpaceQuerySignal answer:(self nameSpaceForApply)
2286
6da16a42e507 care for defaultNameSpace being set to something
Claus Gittinger <cg@exept.de>
parents: 2267
diff changeset
  3046
        do:[
6da16a42e507 care for defaultNameSpace being set to something
Claus Gittinger <cg@exept.de>
parents: 2267
diff changeset
  3047
            parseTree := Parser parseExpression:chunk.
6da16a42e507 care for defaultNameSpace being set to something
Claus Gittinger <cg@exept.de>
parents: 2267
diff changeset
  3048
        ].
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3049
        (parseTree notNil and:[parseTree ~~ #Error and:[ parseTree isMessage ]]) ifTrue:[
2571
9812249daf39 more compare changes stuff
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  3050
            selector := parseTree selector.
9812249daf39 more compare changes stuff
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  3051
9812249daf39 more compare changes stuff
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  3052
            selector == #'removeSelector:' ifTrue:[
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3053
                thisClass := (parseTree receiver evaluate).
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3054
                thisClass isBehavior ifTrue:[
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3055
                    (self checkClassIsLoaded:thisClass) ifTrue:[
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3056
                        selector := (parseTree arg1 evaluate).
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3057
                        (thisClass includesSelector:selector) ifTrue:[
3455
a37fd86b0a7d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3445
diff changeset
  3058
                            outcome := 'Change removes the #' , selector , ' method from ' , thisClass name.
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3059
                            isSame := false.
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3060
                        ] ifFalse:[
3455
a37fd86b0a7d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3445
diff changeset
  3061
                            outcome := 'Change has no effect\\(there is no method for #' , selector , ' in ' , thisClass name , ')'.
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3062
                            isSame := true.
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3063
                        ]
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3064
                    ] ifFalse:[
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3065
                        beep := true.
3455
a37fd86b0a7d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3445
diff changeset
  3066
                        outcome := 'Cannot compare this change (compare requires class to be loaded).'.
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3067
                        isSame := nil.
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3068
                    ]
2286
6da16a42e507 care for defaultNameSpace being set to something
Claus Gittinger <cg@exept.de>
parents: 2267
diff changeset
  3069
                ] ifFalse:[
3455
a37fd86b0a7d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3445
diff changeset
  3070
                    outcome := 'Cannot compare this change (class not present)'.
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3071
                    isSame := nil.
2286
6da16a42e507 care for defaultNameSpace being set to something
Claus Gittinger <cg@exept.de>
parents: 2267
diff changeset
  3072
                ].
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3073
            ].
2571
9812249daf39 more compare changes stuff
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  3074
            selector == #'category:' ifTrue:[
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3075
                parseTree receiver isMessage ifTrue:[
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3076
                    parseTree receiver selector == #compiledMethodAt: ifTrue:[
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3077
                        (method := parseTree receiver evaluate) isMethod ifTrue:[
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3078
                            method category = parseTree arg1 evaluate ifTrue:[
3455
a37fd86b0a7d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3445
diff changeset
  3079
                                outcome := 'Change has no effect\\(same category)'.
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3080
                                isSame := true.
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3081
                            ] ifFalse:[
3455
a37fd86b0a7d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3445
diff changeset
  3082
                                outcome := 'Category is different (''' , method category , ''' vs. ''' , parseTree arg1 evaluate , ''')'.
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3083
                                isSame := false.
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3084
                            ]
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3085
                        ] ifFalse:[
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3086
                            beep := true.
3455
a37fd86b0a7d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3445
diff changeset
  3087
                            outcome := 'There is no such method'.
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3088
                            isSame := nil.
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3089
                        ]
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3090
                    ]
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3091
                ]
1713
f6a93c02e953 also show '=' for method-removes (if non-existing in image);
Claus Gittinger <cg@exept.de>
parents: 1706
diff changeset
  3092
            ].
2571
9812249daf39 more compare changes stuff
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  3093
            selector == #'comment:' ifTrue:[
2570
2f15ecfd80de compare comments
Claus Gittinger <cg@exept.de>
parents: 2555
diff changeset
  3094
                thisClass := (parseTree receiver evaluate).
2f15ecfd80de compare comments
Claus Gittinger <cg@exept.de>
parents: 2555
diff changeset
  3095
                thisClass isBehavior ifTrue:[
2f15ecfd80de compare comments
Claus Gittinger <cg@exept.de>
parents: 2555
diff changeset
  3096
                    (self checkClassIsLoaded:thisClass) ifTrue:[
2f15ecfd80de compare comments
Claus Gittinger <cg@exept.de>
parents: 2555
diff changeset
  3097
                        (thisClass comment = parseTree arg1 evaluate) ifTrue:[
3455
a37fd86b0a7d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3445
diff changeset
  3098
                            outcome := 'Change has no effect\\(same comment)'.
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3099
                            isSame := true.
2570
2f15ecfd80de compare comments
Claus Gittinger <cg@exept.de>
parents: 2555
diff changeset
  3100
                        ] ifFalse:[
3455
a37fd86b0a7d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3445
diff changeset
  3101
                            outcome := 'Comment is different'.
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3102
                            isSame := false.
2570
2f15ecfd80de compare comments
Claus Gittinger <cg@exept.de>
parents: 2555
diff changeset
  3103
                        ]
2f15ecfd80de compare comments
Claus Gittinger <cg@exept.de>
parents: 2555
diff changeset
  3104
                    ] ifFalse:[
2f15ecfd80de compare comments
Claus Gittinger <cg@exept.de>
parents: 2555
diff changeset
  3105
                        beep := true.
3455
a37fd86b0a7d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3445
diff changeset
  3106
                        outcome := 'Cannot compare this change (compare requires class to be loaded).'.
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3107
                        isSame := nil.
2570
2f15ecfd80de compare comments
Claus Gittinger <cg@exept.de>
parents: 2555
diff changeset
  3108
                    ]
2f15ecfd80de compare comments
Claus Gittinger <cg@exept.de>
parents: 2555
diff changeset
  3109
                ] ifFalse:[
3455
a37fd86b0a7d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3445
diff changeset
  3110
                    outcome := 'Cannot compare this change (class not present)'.
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3111
                    isSame := nil.
2570
2f15ecfd80de compare comments
Claus Gittinger <cg@exept.de>
parents: 2555
diff changeset
  3112
                ].
2f15ecfd80de compare comments
Claus Gittinger <cg@exept.de>
parents: 2555
diff changeset
  3113
            ].
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3114
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3115
            selector == #'instanceVariableNames:' ifTrue:[
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3116
                parseTree receiver isMessage ifTrue:[
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3117
                    parseTree receiver selector == #class ifTrue:[
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3118
                        thisClass := (parseTree receiver evaluate).
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3119
                        varsHere := thisClass instanceVariableString asCollectionOfWords.
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3120
                        varsInChange := (parseTree arguments at:1) evaluate asCollectionOfWords.
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3121
                        varsHere = varsInChange ifTrue:[
3455
a37fd86b0a7d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3445
diff changeset
  3122
                            outcome := 'Change has no effect\\(same definition)'.
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3123
                            isSame := true.
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3124
                        ] ifFalse:[
3455
a37fd86b0a7d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3445
diff changeset
  3125
                            outcome := 'Class-instanceVariable definition is different'.
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3126
                            isSame := false.
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3127
                        ].
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3128
                    ].
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3129
                ]
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3130
            ].
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3131
3534
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  3132
            (Class definitionSelectors includes:selector)
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  3133
            "/ selector == #'subclass:instanceVariableNames:classVariableNames:poolDictionaries:category:' 
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  3134
            ifTrue:[
2571
9812249daf39 more compare changes stuff
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  3135
                superClass := (parseTree receiver evaluate).
3543
f188a2e711ab checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3534
diff changeset
  3136
                superClass isBehavior ifFalse:[
f188a2e711ab checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3534
diff changeset
  3137
                    outcome := 'Cannot compare this change\\(superclass not loaded).'.
f188a2e711ab checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3534
diff changeset
  3138
                    isSame := nil.
f188a2e711ab checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3534
diff changeset
  3139
                ] ifTrue:[
2571
9812249daf39 more compare changes stuff
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  3140
                    (self checkClassIsLoaded:superClass) ifTrue:[
1713
f6a93c02e953 also show '=' for method-removes (if non-existing in image);
Claus Gittinger <cg@exept.de>
parents: 1706
diff changeset
  3141
                        thisClassSym := (parseTree arguments at:1) evaluate.
3534
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  3142
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  3143
                        (selector endsWith:':privateIn:') ifTrue:[
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  3144
                            ownerClass := (parseTree arguments at:5) evaluate.
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  3145
                            thisClass := ownerClass privateClassesAt:thisClassSym.
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  3146
                        ] ifFalse:[
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  3147
                            thisClass := (self nameSpaceForApply) at:thisClassSym ifAbsent:nil.
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  3148
                        ].
3543
f188a2e711ab checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3534
diff changeset
  3149
                        thisClass isNil ifTrue:[
f188a2e711ab checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3534
diff changeset
  3150
                            outcome := 'Change defines the class: ' , thisClassSym.
f188a2e711ab checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3534
diff changeset
  3151
                            isSame := false.
f188a2e711ab checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3534
diff changeset
  3152
                        ] ifFalse:[
2816
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  3153
                            (isLoaded := self checkClassIsLoaded:thisClass) ifFalse:[
3455
a37fd86b0a7d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3445
diff changeset
  3154
                                outcome := 'Cannot compare this change\\(compare requires class to be loaded).'.
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3155
                                isSame := nil.
2816
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  3156
                            ] ifTrue:[
2834
0fd76c32e250 better class def compare
Claus Gittinger <cg@exept.de>
parents: 2816
diff changeset
  3157
                                varsHere := thisClass instanceVariableString asCollectionOfWords.
0fd76c32e250 better class def compare
Claus Gittinger <cg@exept.de>
parents: 2816
diff changeset
  3158
                                varsInChange := (parseTree arguments at:2) evaluate asCollectionOfWords.
0fd76c32e250 better class def compare
Claus Gittinger <cg@exept.de>
parents: 2816
diff changeset
  3159
                                varsHere = varsInChange ifTrue:[
2816
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  3160
                                    thisClass classVariableString asCollectionOfWords = (parseTree arguments at:3) evaluate asCollectionOfWords ifTrue:[
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  3161
                                        ((thisClass sharedPools size == 0) and:[(parseTree arguments at:4) evaluate = '']) ifTrue:[
3534
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  3162
                                            ((selector endsWith:':category:')
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  3163
                                            and:[thisClass category ~= (parseTree arguments at:5) evaluate]) ifTrue:[
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  3164
                                                outcome := 'Category is different'.
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  3165
                                                isSame := false.
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  3166
                                            ] ifFalse:[
3455
a37fd86b0a7d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3445
diff changeset
  3167
                                                outcome := 'Change has no effect\\(same definition)'.
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3168
                                                isSame := true.
2816
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  3169
                                            ]
3534
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  3170
"/                                            thisClass category = (parseTree arguments at:5) evaluate ifTrue:[
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  3171
"/                                                outcome := 'Change has no effect\\(same definition)'.
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  3172
"/                                                isSame := true.
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  3173
"/                                            ] ifFalse:[
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  3174
"/                                                outcome := 'Category is different'.
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  3175
"/                                                isSame := false.
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  3176
"/                                            ]
2571
9812249daf39 more compare changes stuff
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  3177
                                        ] ifFalse:[
3455
a37fd86b0a7d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3445
diff changeset
  3178
                                            outcome := 'SharedPool definition is different'.
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3179
                                            isSame := false.
2816
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  3180
                                        ].
2571
9812249daf39 more compare changes stuff
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  3181
                                    ] ifFalse:[
3455
a37fd86b0a7d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3445
diff changeset
  3182
                                        outcome := 'ClassVariable definition is different'.
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3183
                                        isSame := false.
2816
04c3e709fbd2 better compare functions
Claus Gittinger <cg@exept.de>
parents: 2797
diff changeset
  3184
                                    ]
2571
9812249daf39 more compare changes stuff
Claus Gittinger <cg@exept.de>
parents: 2570
diff changeset
  3185
                                ] ifFalse:[
3455
a37fd86b0a7d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3445
diff changeset
  3186
                                    outcome := 'InstanceVariable definition is different'.
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3187
                                    isSame := false.
2834
0fd76c32e250 better class def compare
Claus Gittinger <cg@exept.de>
parents: 2816
diff changeset
  3188
                                    addedVars := varsInChange select:[:eachVar | (varsHere includes:eachVar) not].
0fd76c32e250 better class def compare
Claus Gittinger <cg@exept.de>
parents: 2816
diff changeset
  3189
                                    removedVars := varsHere select:[:eachVar | (varsInChange includes:eachVar) not].
0fd76c32e250 better class def compare
Claus Gittinger <cg@exept.de>
parents: 2816
diff changeset
  3190
                                    addedVars isEmpty ifTrue:[
3512
12fc20c430d6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3503
diff changeset
  3191
                                        removedVars isEmpty ifTrue:[
12fc20c430d6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3503
diff changeset
  3192
                                            outcome := 'Change reorders instanceVariable(s)'.
12fc20c430d6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3503
diff changeset
  3193
                                        ] ifFalse:[
12fc20c430d6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3503
diff changeset
  3194
                                            removedVars := removedVars collect:[:eachVar | '''' , eachVar , ''''].
12fc20c430d6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3503
diff changeset
  3195
                                            outcome := 'Change removes instanceVariable(s): ' , (removedVars asStringWith:Character space).
12fc20c430d6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3503
diff changeset
  3196
                                        ]
2834
0fd76c32e250 better class def compare
Claus Gittinger <cg@exept.de>
parents: 2816
diff changeset
  3197
                                    ] ifFalse:[
0fd76c32e250 better class def compare
Claus Gittinger <cg@exept.de>
parents: 2816
diff changeset
  3198
                                        removedVars isEmpty ifTrue:[
0fd76c32e250 better class def compare
Claus Gittinger <cg@exept.de>
parents: 2816
diff changeset
  3199
                                            addedVars := addedVars collect:[:eachVar | '''' , eachVar , ''''].
3455
a37fd86b0a7d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3445
diff changeset
  3200
                                            outcome := 'Change adds instanceVariable(s): ' , (addedVars asStringWith:Character space).
2834
0fd76c32e250 better class def compare
Claus Gittinger <cg@exept.de>
parents: 2816
diff changeset
  3201
                                        ].
0fd76c32e250 better class def compare
Claus Gittinger <cg@exept.de>
parents: 2816
diff changeset
  3202
                                    ].
1713
f6a93c02e953 also show '=' for method-removes (if non-existing in image);
Claus Gittinger <cg@exept.de>
parents: 1706
diff changeset
  3203
                                ]
f6a93c02e953 also show '=' for method-removes (if non-existing in image);
Claus Gittinger <cg@exept.de>
parents: 1706
diff changeset
  3204
                            ]
f6a93c02e953 also show '=' for method-removes (if non-existing in image);
Claus Gittinger <cg@exept.de>
parents: 1706
diff changeset
  3205
                        ]
f6a93c02e953 also show '=' for method-removes (if non-existing in image);
Claus Gittinger <cg@exept.de>
parents: 1706
diff changeset
  3206
                    ]
f6a93c02e953 also show '=' for method-removes (if non-existing in image);
Claus Gittinger <cg@exept.de>
parents: 1706
diff changeset
  3207
                ]
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3208
            ]
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3209
        ]
255
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  3210
    ] ifTrue:[
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  3211
        Class nameSpaceQuerySignal answer:(self nameSpaceForApply)
2286
6da16a42e507 care for defaultNameSpace being set to something
Claus Gittinger <cg@exept.de>
parents: 2267
diff changeset
  3212
        do:[
6da16a42e507 care for defaultNameSpace being set to something
Claus Gittinger <cg@exept.de>
parents: 2267
diff changeset
  3213
            parseTree := Parser parseExpression:chunk.
6da16a42e507 care for defaultNameSpace being set to something
Claus Gittinger <cg@exept.de>
parents: 2267
diff changeset
  3214
        ].
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3215
        (parseTree notNil 
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3216
         and:[parseTree ~~ #Error
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3217
         and:[parseTree isMessage]]) ifTrue:[
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3218
            "/ Squeak support (#methodsFor:***)
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3219
            (#(
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3220
               #methodsFor: 
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3221
               #privateMethodsFor:
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3222
               #publicMethodsFor:
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3223
               #ignoredMethodsFor:
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3224
               #protectedMethodsFor:
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3225
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3226
               #methodsFor:stamp:             "/ Squeak support
2527
afa639104477 some support for dolphin source files
Claus Gittinger <cg@exept.de>
parents: 2511
diff changeset
  3227
               #methodsFor                    "/ Dolphin support
2606
61cc86fff103 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2604
diff changeset
  3228
               #methods                       "/ STV support
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3229
              ) 
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3230
            includes:parseTree selector) ifTrue:[
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3231
                thisClass := (parseTree receiver evaluate).
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3232
                thisClass isBehavior ifTrue:[
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3233
                    (isLoaded := self checkClassIsLoaded:thisClass) ifFalse:[
3455
a37fd86b0a7d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3445
diff changeset
  3234
                        outcome := 'Cannot compare this change\\(compare requires class to be loaded).'.
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3235
                        isSame := nil.
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3236
                    ].
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3237
2527
afa639104477 some support for dolphin source files
Claus Gittinger <cg@exept.de>
parents: 2511
diff changeset
  3238
                    parseTree selector == #methodsFor ifTrue:[
afa639104477 some support for dolphin source files
Claus Gittinger <cg@exept.de>
parents: 2511
diff changeset
  3239
                        cat := 'Dolphin methods'.
afa639104477 some support for dolphin source files
Claus Gittinger <cg@exept.de>
parents: 2511
diff changeset
  3240
                    ] ifFalse:[
2606
61cc86fff103 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2604
diff changeset
  3241
                        parseTree selector == #methods ifTrue:[
61cc86fff103 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2604
diff changeset
  3242
                            cat := 'STV methods'.
61cc86fff103 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2604
diff changeset
  3243
                        ] ifFalse:[
61cc86fff103 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2604
diff changeset
  3244
                            cat := parseTree arg1 evaluate.
61cc86fff103 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2604
diff changeset
  3245
                        ].
2527
afa639104477 some support for dolphin source files
Claus Gittinger <cg@exept.de>
parents: 2511
diff changeset
  3246
                    ].
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3247
                    newSource := aStream nextChunk.
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3248
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  3249
                    Class nameSpaceQuerySignal answer:(self nameSpaceForApply)
2286
6da16a42e507 care for defaultNameSpace being set to something
Claus Gittinger <cg@exept.de>
parents: 2267
diff changeset
  3250
                    do:[
6da16a42e507 care for defaultNameSpace being set to something
Claus Gittinger <cg@exept.de>
parents: 2267
diff changeset
  3251
                        parser := Parser parseMethod:newSource in:thisClass.
6da16a42e507 care for defaultNameSpace being set to something
Claus Gittinger <cg@exept.de>
parents: 2267
diff changeset
  3252
                    ].
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3253
                    (parser notNil and:[parser ~~ #Error]) ifTrue:[
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3254
                        sel := parser selector.
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3255
                        oldMethod := thisClass compiledMethodAt:sel.
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3256
                        oldMethod notNil ifTrue:[
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3257
                            (oldMethod category = cat) ifFalse:[
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3258
                                Transcript showCR:'category changed.'.
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3259
                            ].
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3260
                            oldSource := oldMethod source.
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3261
                            (oldSource = newSource) ifTrue:[
3455
a37fd86b0a7d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3445
diff changeset
  3262
                                outcome := 'Same source'.
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3263
                                isSame := true.
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3264
                            ] ifFalse:[
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3265
                                oldSource isNil ifTrue:[
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3266
                                    beep := true.
3455
a37fd86b0a7d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3445
diff changeset
  3267
                                    outcome := 'No source for compare.'.
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3268
                                    isSame := true.
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3269
                                ] ifFalse:[
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3270
                                    "/
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3271
                                    "/ compare for tabulator <-> space changes
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3272
                                    "/ before showing diff ...
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3273
                                    "/
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3274
                                    t1 := oldSource asCollectionOfLines collect:[:s | s withTabsExpanded].
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3275
                                    t2 := newSource asCollectionOfLines collect:[:s | s withTabsExpanded].
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3276
                                    t1 = t2 ifTrue:[
3455
a37fd86b0a7d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3445
diff changeset
  3277
                                        outcome := 'Same source'.
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3278
                                        isSame := true.
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3279
                                    ] ifFalse:[
3455
a37fd86b0a7d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3445
diff changeset
  3280
                                        outcome := 'Source changed.'.
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3281
                                        showDiff := true.
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3282
                                        isSame := false.
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3283
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3284
                                        "/
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3285
                                        "/ check if only historyLine diffs
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3286
                                        "/
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3287
                                        (HistoryManager notNil 
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3288
                                        and:[HistoryManager isActive]) ifTrue:[
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3289
                                            (HistoryManager withoutHistoryLines:newSource)
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3290
                                            =
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3291
                                            (HistoryManager withoutHistoryLines:oldSource)
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3292
                                            ifTrue:[
3455
a37fd86b0a7d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3445
diff changeset
  3293
                                                outcome := 'Same source (history only)'.
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3294
                                                isSame := true.
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3295
                                                showDiff := false.
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3296
                                            ]
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3297
                                        ].
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3298
                                    ]
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3299
                                ]
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3300
                            ]
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3301
                        ] ifFalse:[
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3302
                            isLoaded ifTrue:[
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3303
                                beep := true.
3455
a37fd86b0a7d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3445
diff changeset
  3304
                                outcome := 'Method does not exist.'.
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3305
                                isSame := nil.
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3306
                            ]
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3307
                        ]
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3308
                    ] ifFalse:[
3455
a37fd86b0a7d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3445
diff changeset
  3309
                        outcome := 'Change is unparsable (parse error).'.
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3310
                        isSame := nil.
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3311
                    ].
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3312
                    doShowResult ifTrue:[
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3313
                        (showDiff and:[oldSource notNil and:[newSource notNil]]) ifTrue:[
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3314
                            d := DiffTextView 
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3315
                                    openOn:oldSource label:(resources string:'current version (in image)')
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3316
                                    and:newSource label:(resources string:'change version').
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3317
                            d label:'method differences'.
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3318
                        ]
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3319
                    ]
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3320
                ] ifFalse:[
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3321
                    beep := true.
3455
a37fd86b0a7d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3445
diff changeset
  3322
                    outcome := 'Class does not exist.'.
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3323
                    isSame := nil.
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3324
                ]
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3325
            ] ifFalse:[
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3326
                beep := true.
3455
a37fd86b0a7d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3445
diff changeset
  3327
                outcome := 'Not comparable.'.
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3328
                isSame := nil.
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3329
            ]
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3330
        ] ifFalse:[
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3331
            beep := true.
3455
a37fd86b0a7d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3445
diff changeset
  3332
            outcome := 'Not comparable.'.
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3333
            isSame := nil.
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3334
        ]
255
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  3335
    ].
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  3336
    aStream close.
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3337
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3338
    doShowResult ifTrue:[
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3339
        showDiff ifFalse:[
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3340
            outcome := (resources string:outcome) withCRs.
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3341
            beep ifTrue:[
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3342
                self warn:outcome.
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3343
            ] ifFalse:[
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3344
                self information:outcome.
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3345
            ]
553
b67caadfe334 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 548
diff changeset
  3346
"/        Transcript showCR:outcome.
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3347
        ].
255
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  3348
    ].
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  3349
    ^ isSame.
255
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  3350
1472
6620dc742f2a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1471
diff changeset
  3351
    "Created: / 24.11.1995 / 14:30:46 / cg"
2606
61cc86fff103 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2604
diff changeset
  3352
    "Modified: / 13.2.2000 / 15:04:39 / cg"
255
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  3353
!
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  3354
1359
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  3355
compressForClass:aClassNameOrNil
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  3356
    "compress the change-set; 
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  3357
     this replaces multiple method-changes by the last (i.e. the most recent) change.
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  3358
     If the class argument is nil, compress for all classes.
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  3359
     otherwise, only changes for that class are compressed."
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  3360
3456
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3361
    self
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3362
        compressForClass:aClassNameOrNil selector:nil
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3363
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3364
    "Modified: / 19.11.2001 / 22:04:12 / cg"
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3365
!
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3366
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3367
compressForClass:aClassNameOrNil selector:selectorToCompressOrNil
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3368
    "compress the change-set; 
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3369
     this replaces multiple method-changes by the last (i.e. the most recent) change.
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3370
     If the class argument is nil, compress for all classes.
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3371
     otherwise, only changes for that class are compressed."
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3372
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3373
    |lbl aStream searchIndex anyMore deleteSet index  
1359
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  3374
     str snapshotProto snapshotPrefix snapshotNameIndex fileName|
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  3375
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  3376
    aStream := FileStream readonlyFileNamed:changeFileName.
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  3377
    aStream isNil ifTrue:[^ self].
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  3378
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  3379
    aClassNameOrNil isNil ifTrue:[
3456
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3380
        selectorToCompressOrNil isNil ifTrue:[
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3381
            lbl := 'compressing...'.
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3382
        ] ifFalse:[
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3383
            lbl := 'compressing for ' , selectorToCompressOrNil , '...'.
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3384
        ]
1359
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  3385
    ] ifFalse:[
3456
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3386
        selectorToCompressOrNil isNil ifTrue:[
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3387
            lbl := 'compressing for ' , aClassNameOrNil , '...'.
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3388
        ] ifFalse:[
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3389
            lbl := 'compressing for ' , aClassNameOrNil , '>>' , selectorToCompressOrNil , '...'.
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3390
        ]
1359
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  3391
    ].
3456
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3392
    self newLabel:lbl.
1359
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  3393
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  3394
    CompressSnapshotInfo == true ifTrue:[
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3395
        "
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3396
         get a prototype snapshot record (to be independent of
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3397
         the actual format ..
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3398
        "
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3399
        str := WriteStream on:String new.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3400
        Class addChangeRecordForSnapshot:'foo' to:str.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3401
        snapshotProto := str contents.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3402
        snapshotPrefix := snapshotProto copyTo:10.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3403
        snapshotNameIndex := snapshotProto findString:'foo'.
1359
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  3404
    ].
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  3405
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  3406
    self withExecuteCursorDo:[
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3407
        |numChanges classes selectors types excla sawExcla
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3408
         changeNr chunk aParseTree parseTreeChunk
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3409
         thisClass thisSelector codeChunk codeParser
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3410
         compressThis|
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3411
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3412
        numChanges := self numberOfChanges.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3413
        classes := Array new:numChanges.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3414
        selectors := Array new:numChanges.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3415
        types := Array new:numChanges.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3416
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3417
        "starting at the end, get the change class and change selector;
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3418
         collect all in classes / selectors"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3419
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3420
        changeNr := numChanges.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3421
        excla := aStream class chunkSeparator.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3422
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3423
        [changeNr >= 1] whileTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3424
            aStream position:(changePositions at:changeNr).
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3425
            sawExcla := aStream peekFor:excla.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3426
            chunk := aStream nextChunk.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3427
            sawExcla ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3428
                "optimize a bit if multiple methods for same category arrive"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3429
                (chunk = parseTreeChunk) ifFalse:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3430
                    aParseTree := Parser parseExpression:chunk.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3431
                    parseTreeChunk := chunk
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3432
                ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3433
                (aParseTree notNil 
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3434
                and:[(aParseTree ~~ #Error) 
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3435
                and:[aParseTree isMessage]]) ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3436
                    (#(
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3437
                       #methodsFor: 
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3438
                       #privateMethodsFor:
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3439
                       #publicMethodsFor:
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3440
                       #ignoredMethodsFor:
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3441
                       #protectedMethodsFor:
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3442
                       #methodsFor:stamp:             "/ Squeak support
2527
afa639104477 some support for dolphin source files
Claus Gittinger <cg@exept.de>
parents: 2511
diff changeset
  3443
                       #methodsFor                    "/ Dolphin support
2606
61cc86fff103 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2604
diff changeset
  3444
                       #methods                       "/ STV support
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3445
                      ) 
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3446
                    includes:aParseTree selector) ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3447
                        thisClass := (aParseTree receiver evaluate).
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3448
                        codeChunk := aStream nextChunk.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3449
                        codeParser := Parser 
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3450
                                          parseMethodSpecification:codeChunk
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3451
                                          in:thisClass
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3452
                                          ignoreErrors:true
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3453
                                          ignoreWarnings:true.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3454
                        (codeParser notNil and:[codeParser ~~ #Error]) ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3455
                            selectors at:changeNr put:(codeParser selector).
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3456
                            classes at:changeNr put:thisClass.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3457
                            types at:changeNr put:#methodsFor
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3458
                        ]
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3459
                    ]
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3460
                ]
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3461
            ] ifFalse:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3462
                aParseTree := Parser parseExpression:chunk.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3463
                parseTreeChunk := chunk.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3464
                (aParseTree notNil 
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3465
                and:[(aParseTree ~~ #Error) 
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3466
                and:[aParseTree isMessage]]) ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3467
                    (aParseTree selector == #removeSelector:) ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3468
                        selectors at:changeNr put:(aParseTree arg1 value ).
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3469
                        classes at:changeNr put:(aParseTree receiver evaluate).
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3470
                        types at:changeNr put:#removeSelector
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3471
                    ]
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3472
                ] ifFalse:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3473
                    CompressSnapshotInfo == true ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3474
                        (chunk startsWith:snapshotPrefix) ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3475
                            str := chunk readStream position:snapshotNameIndex.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3476
                            fileName := str upTo:(Character space).
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3477
                            "
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3478
                             kludge to allow use of match-check below
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3479
                            "
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3480
                            selectors at:changeNr put:snapshotPrefix.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3481
                            classes at:changeNr put:fileName.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3482
                        ]
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3483
                    ]
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3484
                ]
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3485
            ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3486
            changeNr := changeNr - 1
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3487
        ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3488
        aStream close.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3489
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3490
        "for all changes, look for another class/selector occurence later
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3491
         in the list and, if there is one, add change number to the delete set"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3492
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3493
        deleteSet := OrderedCollection new.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3494
        changeNr := 1.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3495
        [changeNr < self numberOfChanges] whileTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3496
            thisClass := classes at:changeNr.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3497
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3498
            compressThis := false.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3499
            aClassNameOrNil isNil ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3500
                compressThis := true
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3501
            ] ifFalse:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3502
                "/ skipping unloaded/unknown classes
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3503
                thisClass isBehavior ifTrue:[
3359
2cc7eff866e4 isMeta/soleInstance -> theNonMetaclass
Claus Gittinger <cg@exept.de>
parents: 3341
diff changeset
  3504
                    compressThis := aClassNameOrNil = thisClass theNonMetaclass name. 
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3505
                ]
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3506
            ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3507
            compressThis ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3508
                thisSelector := selectors at:changeNr.
3456
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3509
                compressThis := (selectorToCompressOrNil isNil or:[thisSelector == selectorToCompressOrNil]).
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3510
                compressThis ifTrue:[
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3511
                    searchIndex := changeNr.
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3512
                    anyMore := true.
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3513
                    [anyMore] whileTrue:[
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3514
                        searchIndex := classes indexOf:thisClass startingAt:(searchIndex + 1).
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3515
                        (searchIndex ~~ 0) ifTrue:[
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3516
                            ((selectors at:searchIndex) == thisSelector) ifTrue:[
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3517
                                thisClass notNil ifTrue:[
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3518
                                    deleteSet add:changeNr.
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3519
                                    anyMore := false
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3520
                                ]
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3521
                            ]
3456
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3522
                        ] ifFalse:[
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3523
                            anyMore := false      
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3524
                        ]
3456
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3525
                    ].
2263
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3526
                ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3527
            ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3528
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3529
            changeNr := changeNr + 1
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3530
        ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3531
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3532
        "finally delete what has been found"
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3533
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3534
        (deleteSet size > 0) ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3535
            changeListView setSelection:nil.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3536
            index := deleteSet size.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3537
            [index > 0] whileTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3538
                self silentDeleteChange:(deleteSet at:index).
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3539
                index := index - 1
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3540
            ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3541
            self setChangeList.
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3542
            "
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3543
             scroll back a bit, if we are left way behind the list
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3544
            "
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3545
            changeListView firstLineShown > self numberOfChanges ifTrue:[
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3546
                changeListView makeLineVisible:self numberOfChanges
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3547
            ].
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3548
            self clearCodeView
46fc2bb1b9c1 changes to allow browsing Sqeak fileOut format.
Claus Gittinger <cg@exept.de>
parents: 2214
diff changeset
  3549
        ]
1359
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  3550
    ].
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  3551
    self newLabel:''.
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  3552
3359
2cc7eff866e4 isMeta/soleInstance -> theNonMetaclass
Claus Gittinger <cg@exept.de>
parents: 3341
diff changeset
  3553
    "Modified: / 5.11.2001 / 16:34:53 / cg"
3456
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  3554
    "Created: / 19.11.2001 / 22:03:42 / cg"
1359
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  3555
!
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  3556
255
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  3557
deleteChange:changeNr
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  3558
    "delete a change"
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  3559
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  3560
    self deleteChangesFrom:changeNr to:changeNr
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  3561
!
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  3562
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  3563
deleteChangesFrom:start to:stop
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  3564
    "delete a range of changes"
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  3565
562
8f772068fd1a #selection: now does a notification / #setSelection: does not
Claus Gittinger <cg@exept.de>
parents: 553
diff changeset
  3566
    changeListView setSelection:nil.
255
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  3567
    stop to:start by:-1 do:[:changeNr |
1648
db1ca601ad8c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1625
diff changeset
  3568
        self silentDeleteInternalChange:changeNr.
db1ca601ad8c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1625
diff changeset
  3569
        changeListView removeIndex:changeNr.
255
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  3570
    ].
744
cb962cb21e8c faster drawing when deleting items
Claus Gittinger <cg@exept.de>
parents: 742
diff changeset
  3571
1070
cdf5cf202f3b faster redraw, when deleting items.
Claus Gittinger <cg@exept.de>
parents: 1027
diff changeset
  3572
"/    changeListView contentsChanged.
cdf5cf202f3b faster redraw, when deleting items.
Claus Gittinger <cg@exept.de>
parents: 1027
diff changeset
  3573
"/    changeListView redrawFromLine:start.
255
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  3574
744
cb962cb21e8c faster drawing when deleting items
Claus Gittinger <cg@exept.de>
parents: 742
diff changeset
  3575
"/    self setChangeList
cb962cb21e8c faster drawing when deleting items
Claus Gittinger <cg@exept.de>
parents: 742
diff changeset
  3576
1648
db1ca601ad8c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1625
diff changeset
  3577
    "Modified: / 18.5.1998 / 14:22:27 / cg"
255
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  3578
!
08ec5e9cdbd2 disable entries
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
  3579
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  3580
makeChangeAPatch:changeNr
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  3581
    "append change to patchfile"
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  3582
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  3583
    self appendChange:changeNr toFile:'patches'
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  3584
!
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  3585
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  3586
makeChangePermanent:changeNr
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  3587
    "rewrite the source file where change changeNr lies"
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  3588
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  3589
    self notify:'this is not yet implemented'
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  3590
!
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  3591
73
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  3592
silentDeleteChange:changeNr
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  3593
    "delete a change do not update changeListView"
57
36e13831b62d *** empty log message ***
claus
parents: 56
diff changeset
  3594
73
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  3595
    anyChanges := true.
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  3596
    changeChunks removeIndex:changeNr.
3203
44ac975f0993 pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3202
diff changeset
  3597
    changePositions size >= changeNr ifTrue:[ changePositions removeIndex:changeNr ].
44ac975f0993 pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3202
diff changeset
  3598
    changeClassNames size >= changeNr ifTrue:[ changeClassNames removeIndex:changeNr ].
44ac975f0993 pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3202
diff changeset
  3599
    changeSelectors size >= changeNr ifTrue:[ changeSelectors removeIndex:changeNr ].
44ac975f0993 pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3202
diff changeset
  3600
    changeHeaderLines size >= changeNr ifTrue:[ changeHeaderLines removeIndex:changeNr ].
44ac975f0993 pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3202
diff changeset
  3601
    changeTimeStamps size >= changeNr ifTrue:[ changeTimeStamps removeIndex:changeNr ].
44ac975f0993 pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3202
diff changeset
  3602
    changeIsFollowupMethodChange size >= changeNr ifTrue:[ changeIsFollowupMethodChange removeIndex:changeNr ].
182
0c2f9214d531 handle & display timestamp records
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  3603
0c2f9214d531 handle & display timestamp records
Claus Gittinger <cg@exept.de>
parents: 176
diff changeset
  3604
    "Modified: 18.11.1995 / 17:08:44 / cg"
45
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
  3605
!
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
  3606
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  3607
silentDeleteChangesFor:aClassName from:start to:stop
1428
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  3608
    "delete changes for a given class in a range.
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  3609
     Return the number of deleted changes."
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  3610
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  3611
    |thisClassName index numDeleted|
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  3612
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  3613
    numDeleted := 0.
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  3614
    index := stop.
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  3615
    [index >= start] whileTrue:[
1428
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  3616
        thisClassName := self classNameOfChange:index.
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  3617
        thisClassName = aClassName ifTrue:[
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  3618
            self silentDeleteChange:index.
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  3619
            numDeleted := numDeleted + 1.
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  3620
        ].
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  3621
        index := index - 1
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  3622
    ].
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  3623
    ^ numDeleted
51
57c1ccc3d7e0 *** empty log message ***
claus
parents: 50
diff changeset
  3624
45
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
  3625
!
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
  3626
3607
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  3627
silentDeleteChangesFor:aClassName selector:selector from:start to:stop
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  3628
    "delete changes for given class/selector in a range.
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  3629
     Return the number of deleted changes."
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  3630
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  3631
    |thisClassName index numDeleted|
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  3632
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  3633
    numDeleted := 0.
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  3634
    index := stop.
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  3635
    [index >= start] whileTrue:[
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  3636
        thisClassName := self classNameOfChange:index.
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  3637
        thisClassName = aClassName ifTrue:[
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  3638
            (self selectorOfMethodChange:index) == selector ifTrue:[
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  3639
                self silentDeleteChange:index.
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  3640
                numDeleted := numDeleted + 1.
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  3641
            ]
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  3642
        ].
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  3643
        index := index - 1
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  3644
    ].
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  3645
    ^ numDeleted
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  3646
!
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  3647
2511
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  3648
silentDeleteChangesForClassAndPrivateClasses:aClassName from:start to:stop
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  3649
    "delete changes for a given class and its private classes in a range.
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  3650
     Return the number of deleted changes."
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  3651
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  3652
    |thisClassName index numDeleted|
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  3653
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  3654
    numDeleted := 0.
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  3655
    index := stop.
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  3656
    [index >= start] whileTrue:[
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  3657
        thisClassName := self ownerClassNameOfChange:index.
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  3658
        thisClassName = aClassName ifTrue:[
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  3659
            self silentDeleteChange:index.
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  3660
            numDeleted := numDeleted + 1.
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  3661
        ].
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  3662
        index := index - 1
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  3663
    ].
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  3664
    ^ numDeleted
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  3665
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  3666
!
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  3667
1070
cdf5cf202f3b faster redraw, when deleting items.
Claus Gittinger <cg@exept.de>
parents: 1027
diff changeset
  3668
silentDeleteInternalChange:changeNr
cdf5cf202f3b faster redraw, when deleting items.
Claus Gittinger <cg@exept.de>
parents: 1027
diff changeset
  3669
    "delete a change do not update changeListView"
cdf5cf202f3b faster redraw, when deleting items.
Claus Gittinger <cg@exept.de>
parents: 1027
diff changeset
  3670
cdf5cf202f3b faster redraw, when deleting items.
Claus Gittinger <cg@exept.de>
parents: 1027
diff changeset
  3671
    anyChanges := true.
cdf5cf202f3b faster redraw, when deleting items.
Claus Gittinger <cg@exept.de>
parents: 1027
diff changeset
  3672
    changeChunks removeIndex:changeNr.
1473
160652b05e38 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1472
diff changeset
  3673
    changePositions size >= changeNr ifTrue:[changePositions removeIndex:changeNr].
160652b05e38 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1472
diff changeset
  3674
    changeClassNames size >= changeNr ifTrue:[changeClassNames removeIndex:changeNr].
3203
44ac975f0993 pullDownMenu
Claus Gittinger <cg@exept.de>
parents: 3202
diff changeset
  3675
    changeSelectors size >= changeNr ifTrue:[ changeSelectors removeIndex:changeNr ].
2394
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  3676
    changeTimeStamps size >= changeNr ifTrue:[changeTimeStamps removeIndex:changeNr].
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  3677
    changeIsFollowupMethodChange size >= changeNr ifTrue:[changeIsFollowupMethodChange removeIndex:changeNr].
1473
160652b05e38 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1472
diff changeset
  3678
160652b05e38 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1472
diff changeset
  3679
    "Created: / 7.3.1997 / 16:28:32 / cg"
160652b05e38 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1472
diff changeset
  3680
    "Modified: / 7.2.1998 / 19:59:11 / cg"
1496
978b3c3565c9 #silentDeleteInternalChange: copy-paste error
Stefan Vogel <sv@exept.de>
parents: 1473
diff changeset
  3681
    "Modified: / 26.2.1998 / 18:20:48 / stefan"
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  3682
! !
0
571fd5eee315 Initial revision
claus
parents:
diff changeset
  3683
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  3684
!ChangesBrowser methodsFor:'termination'!
51
57c1ccc3d7e0 *** empty log message ***
claus
parents: 50
diff changeset
  3685
3392
2dae85e52160 changeSetBrowsers writeBack fixed (when closing)
Claus Gittinger <cg@exept.de>
parents: 3378
diff changeset
  3686
askIfChangesAreToBeWrittenBack
2dae85e52160 changeSetBrowsers writeBack fixed (when closing)
Claus Gittinger <cg@exept.de>
parents: 3378
diff changeset
  3687
    |action again|
2dae85e52160 changeSetBrowsers writeBack fixed (when closing)
Claus Gittinger <cg@exept.de>
parents: 3378
diff changeset
  3688
2dae85e52160 changeSetBrowsers writeBack fixed (when closing)
Claus Gittinger <cg@exept.de>
parents: 3378
diff changeset
  3689
    anyChanges ifFalse:[^ self].
2dae85e52160 changeSetBrowsers writeBack fixed (when closing)
Claus Gittinger <cg@exept.de>
parents: 3378
diff changeset
  3690
2dae85e52160 changeSetBrowsers writeBack fixed (when closing)
Claus Gittinger <cg@exept.de>
parents: 3378
diff changeset
  3691
    again := true.
2dae85e52160 changeSetBrowsers writeBack fixed (when closing)
Claus Gittinger <cg@exept.de>
parents: 3378
diff changeset
  3692
    [again] whileTrue:[
2dae85e52160 changeSetBrowsers writeBack fixed (when closing)
Claus Gittinger <cg@exept.de>
parents: 3378
diff changeset
  3693
        action := OptionBox 
2dae85e52160 changeSetBrowsers writeBack fixed (when closing)
Claus Gittinger <cg@exept.de>
parents: 3378
diff changeset
  3694
                          request:(resources at:'The modified changelist has not been written back to the change file.\\Write change file before closing ?') withCRs
2dae85e52160 changeSetBrowsers writeBack fixed (when closing)
Claus Gittinger <cg@exept.de>
parents: 3378
diff changeset
  3695
                          label:'ChangesBrowser'
2dae85e52160 changeSetBrowsers writeBack fixed (when closing)
Claus Gittinger <cg@exept.de>
parents: 3378
diff changeset
  3696
                          form:(WarningBox iconBitmap)
2dae85e52160 changeSetBrowsers writeBack fixed (when closing)
Claus Gittinger <cg@exept.de>
parents: 3378
diff changeset
  3697
                          buttonLabels:(resources array:#('Cancel' 'Don''t Write' 'Write'))
2dae85e52160 changeSetBrowsers writeBack fixed (when closing)
Claus Gittinger <cg@exept.de>
parents: 3378
diff changeset
  3698
                          values:#(#abort #ignore #save)
2dae85e52160 changeSetBrowsers writeBack fixed (when closing)
Claus Gittinger <cg@exept.de>
parents: 3378
diff changeset
  3699
                          default:#save
2dae85e52160 changeSetBrowsers writeBack fixed (when closing)
Claus Gittinger <cg@exept.de>
parents: 3378
diff changeset
  3700
                          onCancel:#abort.
2dae85e52160 changeSetBrowsers writeBack fixed (when closing)
Claus Gittinger <cg@exept.de>
parents: 3378
diff changeset
  3701
2dae85e52160 changeSetBrowsers writeBack fixed (when closing)
Claus Gittinger <cg@exept.de>
parents: 3378
diff changeset
  3702
        again := false.
3717
5083b0d53c5f fixed cancel in ask-if-changes-are-to-be-written-back when closing
Claus Gittinger <cg@exept.de>
parents: 3698
diff changeset
  3703
        action == #abort ifTrue:[AbortSignal raise. ^ self].
3392
2dae85e52160 changeSetBrowsers writeBack fixed (when closing)
Claus Gittinger <cg@exept.de>
parents: 3378
diff changeset
  3704
        action  == #save ifTrue:[
2dae85e52160 changeSetBrowsers writeBack fixed (when closing)
Claus Gittinger <cg@exept.de>
parents: 3378
diff changeset
  3705
            again := self writeBackChanges not
2dae85e52160 changeSetBrowsers writeBack fixed (when closing)
Claus Gittinger <cg@exept.de>
parents: 3378
diff changeset
  3706
        ].
2dae85e52160 changeSetBrowsers writeBack fixed (when closing)
Claus Gittinger <cg@exept.de>
parents: 3378
diff changeset
  3707
    ].
2dae85e52160 changeSetBrowsers writeBack fixed (when closing)
Claus Gittinger <cg@exept.de>
parents: 3378
diff changeset
  3708
!
2dae85e52160 changeSetBrowsers writeBack fixed (when closing)
Claus Gittinger <cg@exept.de>
parents: 3378
diff changeset
  3709
1787
d3d0266b35ec #terminate -> #closeRequest
Claus Gittinger <cg@exept.de>
parents: 1781
diff changeset
  3710
closeRequest
d3d0266b35ec #terminate -> #closeRequest
Claus Gittinger <cg@exept.de>
parents: 1781
diff changeset
  3711
    "window manager wants us to go away"
d3d0266b35ec #terminate -> #closeRequest
Claus Gittinger <cg@exept.de>
parents: 1781
diff changeset
  3712
3392
2dae85e52160 changeSetBrowsers writeBack fixed (when closing)
Claus Gittinger <cg@exept.de>
parents: 3378
diff changeset
  3713
    self askIfChangesAreToBeWrittenBack.
1787
d3d0266b35ec #terminate -> #closeRequest
Claus Gittinger <cg@exept.de>
parents: 1781
diff changeset
  3714
    super closeRequest
d3d0266b35ec #terminate -> #closeRequest
Claus Gittinger <cg@exept.de>
parents: 1781
diff changeset
  3715
!
d3d0266b35ec #terminate -> #closeRequest
Claus Gittinger <cg@exept.de>
parents: 1781
diff changeset
  3716
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  3717
saveAndTerminate
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  3718
    "update the changes file and quit.
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  3719
     Dont depend on this being sent, not all window managers
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  3720
     send it; instead, they simply destroy the view."
28
eea5a71a1e23 *** empty log message ***
claus
parents: 27
diff changeset
  3721
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  3722
    anyChanges ifTrue:[
1787
d3d0266b35ec #terminate -> #closeRequest
Claus Gittinger <cg@exept.de>
parents: 1781
diff changeset
  3723
        self writeBackChanges.
0
571fd5eee315 Initial revision
claus
parents:
diff changeset
  3724
    ].
1787
d3d0266b35ec #terminate -> #closeRequest
Claus Gittinger <cg@exept.de>
parents: 1781
diff changeset
  3725
    super saveAndTerminate
d3d0266b35ec #terminate -> #closeRequest
Claus Gittinger <cg@exept.de>
parents: 1781
diff changeset
  3726
d3d0266b35ec #terminate -> #closeRequest
Claus Gittinger <cg@exept.de>
parents: 1781
diff changeset
  3727
    "Modified: / 3.8.1998 / 19:54:00 / cg"
0
571fd5eee315 Initial revision
claus
parents:
diff changeset
  3728
! !
571fd5eee315 Initial revision
claus
parents:
diff changeset
  3729
73
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  3730
!ChangesBrowser methodsFor:'user interaction'!
51
57c1ccc3d7e0 *** empty log message ***
claus
parents: 50
diff changeset
  3731
3292
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3732
askForSearch:msg initialAnswer:initial thenSearchUsing:searchBlock2 onCancel:cancelBlock
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3733
    |searchString directionHolder searchBlock|
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3734
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3735
    searchString := self 
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3736
        askForSearchString:msg
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3737
        initialAnswer:initial
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3738
        directionInto:(directionHolder := ValueHolder new).
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3739
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3740
    searchString isNil ifTrue:[
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3741
        ^ cancelBlock value
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3742
    ].
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3743
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3744
    searchBlock := [:changeNr | searchBlock2 value:searchString value:changeNr].
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3745
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3746
    directionHolder value == #backward ifTrue:[
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3747
        changeNrShown isNil ifTrue:[
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3748
            changeNrShown := self numberOfChanges.
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3749
        ].
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3750
        self findPreviousForWhich:searchBlock
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3751
    ] ifFalse:[
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3752
        changeNrShown isNil ifTrue:[
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3753
            changeNrShown := 0.
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3754
        ].
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3755
        self findNextForWhich:searchBlock
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3756
    ].
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3757
!
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3758
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3759
askForSearchString:msg initialAnswer:initial directionInto:aValueHolder
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3760
    "common code to open a search box"
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3761
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3762
    |searchString direction|
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3763
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3764
    direction := #forward.
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3765
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3766
    Dialog aboutToOpenBoxNotificationSignal handle:[:ex |
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3767
        |box nextButton prevButton| 
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3768
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3769
        box := ex parameter.
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3770
        nextButton := box okButton.
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3771
        prevButton := Button label:(resources string:'Previous').
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3772
        prevButton action:[direction := #backward. box okPressed.].
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3773
        box addButton:prevButton after:nextButton.
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3774
        nextButton label:(resources string:'Next').
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3775
        ex proceed.
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3776
    ] do:[
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3777
        searchString := Dialog 
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3778
                request:msg 
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3779
                initialAnswer:initial
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3780
                onCancel:nil.
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3781
    ].
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3782
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3783
    searchString isNil ifTrue:[
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3784
        ^ nil
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3785
    ].
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3786
    aValueHolder value:direction.
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3787
    ^ searchString
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3788
!
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  3789
221
6c278b8ec6ca added autoUpdate
Claus Gittinger <cg@exept.de>
parents: 209
diff changeset
  3790
autoUpdate:aBoolean
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  3791
    "enabled/disable automatic update from the change-file (for monitoring)"
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  3792
221
6c278b8ec6ca added autoUpdate
Claus Gittinger <cg@exept.de>
parents: 209
diff changeset
  3793
    autoUpdate := aBoolean
6c278b8ec6ca added autoUpdate
Claus Gittinger <cg@exept.de>
parents: 209
diff changeset
  3794
6c278b8ec6ca added autoUpdate
Claus Gittinger <cg@exept.de>
parents: 209
diff changeset
  3795
    "Created: 3.12.1995 / 14:14:24 / cg"
6c278b8ec6ca added autoUpdate
Claus Gittinger <cg@exept.de>
parents: 209
diff changeset
  3796
    "Modified: 3.12.1995 / 14:20:45 / cg"
6c278b8ec6ca added autoUpdate
Claus Gittinger <cg@exept.de>
parents: 209
diff changeset
  3797
!
6c278b8ec6ca added autoUpdate
Claus Gittinger <cg@exept.de>
parents: 209
diff changeset
  3798
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3799
changeSelection:lineNrCollection
0
571fd5eee315 Initial revision
claus
parents:
diff changeset
  3800
    "show a change in the codeView"
571fd5eee315 Initial revision
claus
parents:
diff changeset
  3801
3785
741890c870a4 oops - exclas in changeSetBrowsers method source
Claus Gittinger <cg@exept.de>
parents: 3771
diff changeset
  3802
    |chunk lineNr|
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3803
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3804
    lineNrCollection isInteger ifTrue:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3805
        lineNr := lineNrCollection
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3806
    ] ifFalse:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3807
        changeListView multipleSelectOk ifTrue:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3808
            lineNrCollection size == 1 ifTrue:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3809
                lineNr := lineNrCollection first.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3810
            ]
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3811
        ] ifFalse:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3812
            lineNr := lineNrCollection
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3813
        ].
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3814
    ].
0
571fd5eee315 Initial revision
claus
parents:
diff changeset
  3815
2293
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
  3816
    lineNr isNil ifTrue:[
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
  3817
        codeView contents:nil.
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
  3818
        codeView initializeDoITAction.
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3819
        changeNrShown := nil.
2293
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
  3820
        ^ self
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
  3821
    ].
6ba9a8ce2780 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2292
diff changeset
  3822
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3823
    "/ display the changes code
3785
741890c870a4 oops - exclas in changeSetBrowsers method source
Claus Gittinger <cg@exept.de>
parents: 3771
diff changeset
  3824
    chunk := self sourceOfChange:lineNr.
741890c870a4 oops - exclas in changeSetBrowsers method source
Claus Gittinger <cg@exept.de>
parents: 3771
diff changeset
  3825
    chunk isNil ifTrue:[
2093
Claus Gittinger <cg@exept.de>
parents: 2078
diff changeset
  3826
        codeView initializeDoITAction.
2044
34e663fcfe53 default doItAction
Claus Gittinger <cg@exept.de>
parents: 2043
diff changeset
  3827
        ^ self
34e663fcfe53 default doItAction
Claus Gittinger <cg@exept.de>
parents: 2043
diff changeset
  3828
    ].
0
571fd5eee315 Initial revision
claus
parents:
diff changeset
  3829
    codeView contents:chunk.
13
145a9461122e *** empty log message ***
claus
parents: 6
diff changeset
  3830
    codeView acceptAction:[:theCode | self doApply "noChangesAllowed"].
2043
66b5276b2760 set self in changesBrowsers doIt.
Claus Gittinger <cg@exept.de>
parents: 1996
diff changeset
  3831
    codeView doItAction:[:theCode |
66b5276b2760 set self in changesBrowsers doIt.
Claus Gittinger <cg@exept.de>
parents: 1996
diff changeset
  3832
        |clsName cls|
66b5276b2760 set self in changesBrowsers doIt.
Claus Gittinger <cg@exept.de>
parents: 1996
diff changeset
  3833
66b5276b2760 set self in changesBrowsers doIt.
Claus Gittinger <cg@exept.de>
parents: 1996
diff changeset
  3834
        clsName := self classNameOfChange:lineNr.
3275
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  3835
        clsName := clsName asSymbolIfInterned.
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  3836
        clsName notNil ifTrue:[
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  3837
            cls := Smalltalk at:clsName ifAbsent:nil.
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  3838
        ].
2043
66b5276b2760 set self in changesBrowsers doIt.
Claus Gittinger <cg@exept.de>
parents: 1996
diff changeset
  3839
        Compiler 
66b5276b2760 set self in changesBrowsers doIt.
Claus Gittinger <cg@exept.de>
parents: 1996
diff changeset
  3840
            evaluate:theCode 
66b5276b2760 set self in changesBrowsers doIt.
Claus Gittinger <cg@exept.de>
parents: 1996
diff changeset
  3841
            in:nil 
66b5276b2760 set self in changesBrowsers doIt.
Claus Gittinger <cg@exept.de>
parents: 1996
diff changeset
  3842
            receiver:cls 
66b5276b2760 set self in changesBrowsers doIt.
Claus Gittinger <cg@exept.de>
parents: 1996
diff changeset
  3843
            notifying:self 
66b5276b2760 set self in changesBrowsers doIt.
Claus Gittinger <cg@exept.de>
parents: 1996
diff changeset
  3844
            logged:true 
66b5276b2760 set self in changesBrowsers doIt.
Claus Gittinger <cg@exept.de>
parents: 1996
diff changeset
  3845
            ifFail:nil 
66b5276b2760 set self in changesBrowsers doIt.
Claus Gittinger <cg@exept.de>
parents: 1996
diff changeset
  3846
    ].
15
7fc8fcef7bc6 *** empty log message ***
claus
parents: 13
diff changeset
  3847
    changeNrShown := lineNr.
0
571fd5eee315 Initial revision
claus
parents:
diff changeset
  3848
2044
34e663fcfe53 default doItAction
Claus Gittinger <cg@exept.de>
parents: 2043
diff changeset
  3849
    "Modified: / 28.2.1999 / 15:26:46 / cg"
51
57c1ccc3d7e0 *** empty log message ***
claus
parents: 50
diff changeset
  3850
!
57c1ccc3d7e0 *** empty log message ***
claus
parents: 50
diff changeset
  3851
3275
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  3852
classOfChange:changeNr
3806
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  3853
    ^ self
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  3854
        classOfChange:changeNr
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  3855
        ifAbsent:[:className |
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  3856
            |msg|
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  3857
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  3858
            className isNil ifTrue:[
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  3859
                msg := 'Could not extract classname from change'.
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  3860
            ] ifFalse:[
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  3861
                msg := 'Class not found: ''' , className , ''''.
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  3862
            ].
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  3863
            self warn:msg.
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  3864
            nil
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  3865
        ]
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  3866
!
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  3867
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  3868
classOfChange:changeNr ifAbsent:exceptionBlock
3275
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  3869
    |className cls isMeta|
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  3870
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  3871
    className := self fullClassNameOfChange:changeNr.
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  3872
    className isNil ifTrue:[
3806
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  3873
        ^ exceptionBlock value:nil
3275
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  3874
    ].
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  3875
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  3876
    isMeta := false.
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  3877
    (className endsWith:' class') ifTrue:[
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  3878
        className := className copyWithoutLast:6.
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  3879
        isMeta := true.
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  3880
    ].
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  3881
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  3882
    (cls := (self nameSpaceForApply) classNamed:className) isNil ifTrue:[
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  3883
        cls := Smalltalk classNamed:className
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  3884
    ].
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  3885
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  3886
    cls isNil ifTrue:[
3806
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  3887
        ^ exceptionBlock value:className
3275
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  3888
    ].
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  3889
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  3890
    isMeta ifTrue:[
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  3891
        cls := cls class
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  3892
    ].
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  3893
    ^ cls
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  3894
!
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  3895
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  3896
doApply
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  3897
    "user wants a change to be applied"
45
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
  3898
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3899
    self withSelectedChangesDo:[:changeNr |
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3900
        skipSignal := nil.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3901
        self applyChange:changeNr.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3902
        self autoSelect:(changeNr + 1)
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  3903
    ]
45
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
  3904
!
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
  3905
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  3906
doApplyAll
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  3907
    "user wants all changes to be applied"
37
50f59bad66b1 *** empty log message ***
claus
parents: 33
diff changeset
  3908
294
a693bd6d7ae6 read cursor while reading
Claus Gittinger <cg@exept.de>
parents: 293
diff changeset
  3909
    self withExecuteCursorDo:[
1378
f7cf4cf1baf2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1368
diff changeset
  3910
	|lastNr "{ Class: SmallInteger }" |
f7cf4cf1baf2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1368
diff changeset
  3911
f7cf4cf1baf2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1368
diff changeset
  3912
	self clearCodeView.
f7cf4cf1baf2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1368
diff changeset
  3913
	skipSignal isNil ifTrue:[skipSignal := Signal new].
f7cf4cf1baf2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1368
diff changeset
  3914
	lastNr := self numberOfChanges.
f7cf4cf1baf2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1368
diff changeset
  3915
	1 to:lastNr do:[:changeNr |
f7cf4cf1baf2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1368
diff changeset
  3916
	    changeListView setSelection:changeNr.
f7cf4cf1baf2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1368
diff changeset
  3917
	    self applyChange:changeNr
f7cf4cf1baf2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1368
diff changeset
  3918
	].
f7cf4cf1baf2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1368
diff changeset
  3919
	self autoSelectLast
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  3920
    ]
294
a693bd6d7ae6 read cursor while reading
Claus Gittinger <cg@exept.de>
parents: 293
diff changeset
  3921
975
41a41f54874d added findPrev (Alt-B) and findNext (Alt-F)
Claus Gittinger <cg@exept.de>
parents: 958
diff changeset
  3922
    "Modified: 21.1.1997 / 22:26:30 / cg"
37
50f59bad66b1 *** empty log message ***
claus
parents: 33
diff changeset
  3923
!
50f59bad66b1 *** empty log message ***
claus
parents: 33
diff changeset
  3924
3668
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3925
doApplyClassFromBeginning
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3926
    "user wants all changes for this class from 1 to changeNr to be applied"
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3927
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3928
    self withSingleSelectedChangeDo:[:changeNr |
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3929
        |thisClassName classNameToApply lastChange
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3930
         lastNr "{ Class: SmallInteger }" |
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3931
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3932
        classNameToApply := self classNameOfChange:changeNr.
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3933
        classNameToApply notNil ifTrue:[
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3934
            self clearCodeView.
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3935
            skipSignal isNil ifTrue:[skipSignal := Signal new].
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3936
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3937
            lastNr := self numberOfChanges.
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3938
            1 to:changeNr do:[:changeNr |
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3939
                thisClassName := self classNameOfChange:changeNr.
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3940
                thisClassName = classNameToApply ifTrue:[
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3941
                    changeListView setSelection:changeNr.
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3942
                    self applyChange:changeNr.
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3943
                    lastChange := changeNr
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3944
                ].
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3945
            ].
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3946
            self autoSelect:changeNr+1.
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3947
        ]
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3948
    ]
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3949
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3950
    "Modified: 21.1.1997 / 22:26:04 / cg"
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3951
!
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3952
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  3953
doApplyClassRest
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  3954
    "user wants all changes for this class from changeNr to be applied"
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  3955
3668
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3956
    self withSingleSelectedChangeDo:[:changeNr |
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3957
        |thisClassName classNameToApply lastChange
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3958
         lastNr "{ Class: SmallInteger }" |
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3959
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3960
        classNameToApply := self classNameOfChange:changeNr.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3961
        classNameToApply notNil ifTrue:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3962
            self clearCodeView.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3963
            skipSignal isNil ifTrue:[skipSignal := Signal new].
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3964
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3965
            lastNr := self numberOfChanges.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3966
            changeNr to:lastNr do:[:changeNr |
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3967
                thisClassName := self classNameOfChange:changeNr.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3968
                thisClassName = classNameToApply ifTrue:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3969
                    changeListView setSelection:changeNr.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3970
                    self applyChange:changeNr.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3971
                    lastChange := changeNr
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3972
                ].
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3973
            ].
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3974
            self autoSelect:lastChange.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  3975
        ]
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  3976
    ]
562
8f772068fd1a #selection: now does a notification / #setSelection: does not
Claus Gittinger <cg@exept.de>
parents: 553
diff changeset
  3977
975
41a41f54874d added findPrev (Alt-B) and findNext (Alt-F)
Claus Gittinger <cg@exept.de>
parents: 958
diff changeset
  3978
    "Modified: 21.1.1997 / 22:26:04 / cg"
37
50f59bad66b1 *** empty log message ***
claus
parents: 33
diff changeset
  3979
!
50f59bad66b1 *** empty log message ***
claus
parents: 33
diff changeset
  3980
3668
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3981
doApplyFromBeginning
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3982
    "user wants all changes from 1 to changeNr to be applied"
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3983
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3984
    self withSingleSelectedChangeDo:[:changeNr |
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3985
        |lastNr "{ Class: SmallInteger }" |
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3986
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3987
        self clearCodeView.
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3988
        skipSignal isNil ifTrue:[skipSignal := Signal new].
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3989
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3990
        1 to:changeNr do:[:changeNr |
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3991
            changeListView setSelection:changeNr.
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3992
            self applyChange:changeNr
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3993
        ].
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3994
        self autoSelect:changeNr+1.
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3995
    ]
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3996
!
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  3997
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  3998
doApplyRest
3806
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  3999
    "apply all changes from changeNr to the end"
28
eea5a71a1e23 *** empty log message ***
claus
parents: 27
diff changeset
  4000
3668
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  4001
    self withSingleSelectedChangeDo:[:changeNr |
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4002
        |lastNr "{ Class: SmallInteger }" |
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4003
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4004
        self clearCodeView.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4005
        skipSignal isNil ifTrue:[skipSignal := Signal new].
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4006
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4007
        lastNr := self numberOfChanges.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4008
        changeNr to:lastNr do:[:changeNr |
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4009
            changeListView setSelection:changeNr.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4010
            self applyChange:changeNr
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4011
        ].
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4012
        self autoSelect:self numberOfChanges.
37
50f59bad66b1 *** empty log message ***
claus
parents: 33
diff changeset
  4013
    ]
562
8f772068fd1a #selection: now does a notification / #setSelection: does not
Claus Gittinger <cg@exept.de>
parents: 553
diff changeset
  4014
975
41a41f54874d added findPrev (Alt-B) and findNext (Alt-F)
Claus Gittinger <cg@exept.de>
parents: 958
diff changeset
  4015
    "Modified: 21.1.1997 / 22:25:29 / cg"
37
50f59bad66b1 *** empty log message ***
claus
parents: 33
diff changeset
  4016
!
50f59bad66b1 *** empty log message ***
claus
parents: 33
diff changeset
  4017
3806
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  4018
doApplyToConflictOrEnd
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  4019
    "apply all changes from changeNr to either a conflict (i.e. method exists)
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  4020
     or the end."
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  4021
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  4022
    self withSingleSelectedChangeDo:[:changeNr |
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  4023
        |lastNr "{ Class: SmallInteger }"|
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  4024
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  4025
        self clearCodeView.
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  4026
        skipSignal isNil ifTrue:[skipSignal := Signal new].
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  4027
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  4028
        lastNr := self numberOfChanges.
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  4029
        changeNr to:lastNr do:[:changeNr |
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  4030
            | cls sel |
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  4031
            changeListView setSelection:changeNr.
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  4032
        
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  4033
            ((cls := self classOfChange:changeNr ifAbsent:[:className| nil]) notNil
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  4034
            and:[(sel := self selectorOfMethodChange:changeNr) notNil])
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  4035
            ifTrue:[
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  4036
                (cls implements:sel) ifTrue:[
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  4037
                    self autoSelect:changeNr.
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  4038
                    ^ self
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  4039
                ].
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  4040
            ].
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  4041
            self applyChange:changeNr
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  4042
        ].
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  4043
        self autoSelect:self numberOfChanges.
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  4044
    ]
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  4045
!
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  4046
45
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
  4047
doBrowse
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
  4048
    "user wants a browser on the class of a change"
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
  4049
3668
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  4050
    self withSingleSelectedChangeDo:[:changeNr |
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  4051
        |cls|
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  4052
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  4053
        cls := self classOfChange:changeNr.
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  4054
        cls notNil ifTrue:[
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  4055
            UserPreferences systemBrowserClass 
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  4056
                openInClass:cls 
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  4057
                selector:(self selectorOfMethodChange:changeNr)
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  4058
        ]
37
50f59bad66b1 *** empty log message ***
claus
parents: 33
diff changeset
  4059
    ]
3275
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4060
!
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4061
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4062
doBrowseImplementors
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4063
    "open an implementors-browser"
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4064
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4065
    |changeNr initial selector|
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4066
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4067
    (changeNr := self theSingleSelection) notNil ifTrue:[
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4068
        initial := self selectorOfMethodChange:changeNr.
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4069
    ].
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4070
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4071
    selector := Dialog 
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4072
                    request:'Selector to browse implementors of:'
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4073
                    initialAnswer:(initial ? '').
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4074
    selector size ~~ 0 ifTrue:[
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4075
        UserPreferences systemBrowserClass
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4076
            browseImplementorsOf:selector asSymbol.
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4077
    ]
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4078
!
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4079
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4080
doBrowseSenders
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4081
    "user wants a browser on the class of a change"
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4082
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4083
    |changeNr initial selector|
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4084
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4085
    (changeNr := self theSingleSelection) notNil ifTrue:[
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4086
        initial := self selectorOfMethodChange:changeNr.
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4087
    ].
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4088
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4089
    selector := Dialog 
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4090
                    request:'Selector to browse senders of:'
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4091
                    initialAnswer:(initial ? '').
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4092
    selector size ~~ 0 ifTrue:[
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4093
        UserPreferences systemBrowserClass
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4094
            browseAllCallsOn:selector asSymbol.
88c43d1cfc99 added browse-senders & browse implementors
Claus Gittinger <cg@exept.de>
parents: 3249
diff changeset
  4095
    ]
37
50f59bad66b1 *** empty log message ***
claus
parents: 33
diff changeset
  4096
!
50f59bad66b1 *** empty log message ***
claus
parents: 33
diff changeset
  4097
2541
f8b6ae881564 experimental: checkIn & deleteForClass added.
Claus Gittinger <cg@exept.de>
parents: 2527
diff changeset
  4098
doCheckinAndDeleteClassAll
f8b6ae881564 experimental: checkIn & deleteForClass added.
Claus Gittinger <cg@exept.de>
parents: 2527
diff changeset
  4099
    "first checkin the selected changes class then delete all changes
f8b6ae881564 experimental: checkIn & deleteForClass added.
Claus Gittinger <cg@exept.de>
parents: 2527
diff changeset
  4100
     for it."
f8b6ae881564 experimental: checkIn & deleteForClass added.
Claus Gittinger <cg@exept.de>
parents: 2527
diff changeset
  4101
3442
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4102
    |classes answer|
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4103
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4104
"/    self theSingleSelection isNil ifTrue:[
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4105
"/        ^ self information:'Only possible if a single change is selected.'.
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4106
"/    ].
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4107
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4108
    self withExecuteCursorDo:[
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4109
        classes := IdentitySet new.
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4110
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4111
        self withSelectedChangesDo:[:changeNr |
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4112
            | className class |
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4113
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4114
            className := self classNameOfChange:changeNr.
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4115
            className notNil ifTrue:[
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4116
                class := Smalltalk classNamed:className.
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4117
                class isNil ifTrue:[
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4118
                    self halt:'oops - no class: ', className.
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4119
                ].
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4120
                class notNil ifTrue:[
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4121
                    class := class theNonMetaclass.
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4122
                    (classes includes:class) ifFalse:[
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4123
                        class isPrivate ifTrue:[
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4124
                            (classes includes:class owningClass) ifFalse:[
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4125
                                answer := self confirmWithCancel:('This is a private class.\\CheckIn the owner ''%1'' and all of its private classes ?' 
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4126
                                                                    bindWith:class owningClass name allBold) withCRs.
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4127
                                answer isNil ifTrue:[^ self].
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4128
                                answer ifTrue:[
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4129
                                    classes add:class owningClass
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4130
                                ]
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4131
                            ]
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4132
                        ] ifFalse:[
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4133
                            classes add:class
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4134
                        ].
2682
3f35115e39f1 care for private-class-checkin
tm
parents: 2664
diff changeset
  4135
                    ]
2541
f8b6ae881564 experimental: checkIn & deleteForClass added.
Claus Gittinger <cg@exept.de>
parents: 2527
diff changeset
  4136
                ]
3442
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4137
            ]
2541
f8b6ae881564 experimental: checkIn & deleteForClass added.
Claus Gittinger <cg@exept.de>
parents: 2527
diff changeset
  4138
        ].
3442
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4139
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4140
        changeListView setSelection:nil.
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4141
        classes do:[:eachClass |
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4142
            (SourceCodeManagerUtilities checkinClass:eachClass withLog:nil)
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4143
                ifTrue:[
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4144
                    self silentDeleteChangesForClassAndPrivateClasses:eachClass name
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4145
                           from:1 to:(self numberOfChanges).
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4146
                ]
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4147
        ].
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4148
        self setChangeList. 
2541
f8b6ae881564 experimental: checkIn & deleteForClass added.
Claus Gittinger <cg@exept.de>
parents: 2527
diff changeset
  4149
    ]
f8b6ae881564 experimental: checkIn & deleteForClass added.
Claus Gittinger <cg@exept.de>
parents: 2527
diff changeset
  4150
3442
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4151
    "Modified: / 6.9.1995 / 17:11:16 / claus"
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3436
diff changeset
  4152
    "Modified: / 17.11.2001 / 14:21:13 / cg"
2541
f8b6ae881564 experimental: checkIn & deleteForClass added.
Claus Gittinger <cg@exept.de>
parents: 2527
diff changeset
  4153
!
f8b6ae881564 experimental: checkIn & deleteForClass added.
Claus Gittinger <cg@exept.de>
parents: 2527
diff changeset
  4154
73
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  4155
doCompare
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  4156
    "compare change with current system version
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  4157
     - give a note in transcript"
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  4158
3668
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  4159
    self withSingleSelectedChangeDo:[:changeNr |
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  4160
        self withExecuteCursorDo:[
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  4161
            self compareChange:changeNr
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  4162
        ].
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  4163
        self newLabel:''
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4164
    ].
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4165
394
1d19a14fc96e show activity notifiactions
Claus Gittinger <cg@exept.de>
parents: 392
diff changeset
  4166
    "Modified: 24.2.1996 / 19:37:19 / cg"
73
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  4167
!
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  4168
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4169
doCompareAndCompress
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4170
    "remove all changes, which are equivalent to the current image version"
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4171
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4172
    |toDelete|
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4173
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4174
    toDelete := OrderedCollection new.
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4175
    self withExecuteCursorDo:[
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4176
        1 to:self numberOfChanges do:[:changeNr |
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4177
            (self compareChange:changeNr showResult:false) == true ifTrue:[
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4178
                toDelete add:changeNr
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4179
            ]
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4180
        ].
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4181
    ].
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4182
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4183
    toDelete reverseDo:[:changeNr |
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4184
        self silentDeleteChange:changeNr.
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4185
    ].
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4186
    self setChangeList.
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4187
    "
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4188
     scroll back a bit, if we are left way behind the list
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4189
    "
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4190
    changeListView firstLineShown > self numberOfChanges ifTrue:[
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4191
        changeListView makeLineVisible:self numberOfChanges
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4192
    ].
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4193
    self clearCodeView.
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4194
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4195
    self newLabel:''
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4196
!
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4197
45
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
  4198
doCompress
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
  4199
    "compress the change-set; this replaces multiple method-changes by the last 
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
  4200
     (i.e. the most recent) change"
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
  4201
1359
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  4202
    self compressForClass:nil
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  4203
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  4204
    "Modified: / 29.10.1997 / 01:03:26 / cg"
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  4205
!
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  4206
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  4207
doCompressClass
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  4208
    "compress changes for the selected class.
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  4209
     this replaces multiple method-changes by the last (i.e. the most recent) change."
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  4210
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4211
    self theSingleSelection isNil ifTrue:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4212
        ^ self information:'Only possible if a single change is selected.'.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4213
    ].
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4214
3456
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  4215
    self selectedClassNames do:[:classNameToCompress |
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  4216
        self compressForClass:classNameToCompress.
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  4217
    ]
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  4218
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  4219
    "Created: / 29.10.1997 / 01:05:16 / cg"
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  4220
    "Modified: / 19.11.2001 / 21:55:17 / cg"
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  4221
!
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  4222
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  4223
doCompressSelector
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  4224
    "compress changes for the selected class & selector.
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  4225
     this replaces multiple method-changes by the last (i.e. the most recent) change."
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  4226
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  4227
    |classSelectorPairs|
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  4228
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  4229
    self theSingleSelection isNil ifTrue:[
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  4230
        ^ self information:'Only possible if a single change is selected.'.
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  4231
    ].
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  4232
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  4233
    classSelectorPairs := Set new.
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4234
    self withSelectedChangesDo:[:changeNr |
3456
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  4235
        | classNameToCompress selector |
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4236
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4237
        classNameToCompress := self classNameOfChange:changeNr.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4238
        classNameToCompress notNil ifTrue:[
3456
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  4239
            selector := self selectorOfMethodChange:changeNr.
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  4240
            selector notNil ifTrue:[
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  4241
                classSelectorPairs add:(classNameToCompress -> selector).
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  4242
            ]
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4243
        ]
3456
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  4244
    ].
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  4245
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  4246
    classSelectorPairs do:[:pair |
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  4247
        self compressForClass:pair key selector:pair value.
1359
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  4248
    ]
17bc3051f5d7 added #compressForClass
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
  4249
3456
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  4250
    "Created: / 19.11.2001 / 21:50:59 / cg"
080399eeaab1 added compressForClass-selector function
Claus Gittinger <cg@exept.de>
parents: 3455
diff changeset
  4251
    "Modified: / 19.11.2001 / 22:10:08 / cg"
45
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
  4252
!
950b84ba89e6 *** empty log message ***
claus
parents: 37
diff changeset
  4253
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4254
doDelete
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4255
    "delete currently selected change(s)"
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4256
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4257
    self withSelectedChangesReverseDo:[:changeNr |
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4258
        self deleteChange:changeNr.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4259
        self autoSelectOrEnd:changeNr
73
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  4260
    ]
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  4261
!
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  4262
3249
b6509548b414 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3242
diff changeset
  4263
doDeleteAndSelectPrevious
b6509548b414 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3242
diff changeset
  4264
    "delete currently selected change(s)"
b6509548b414 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3242
diff changeset
  4265
b6509548b414 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3242
diff changeset
  4266
    self withSelectedChangesReverseDo:[:changeNr |
b6509548b414 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3242
diff changeset
  4267
        self deleteChange:changeNr.
b6509548b414 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3242
diff changeset
  4268
        self autoSelectOrEnd:changeNr-1
b6509548b414 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3242
diff changeset
  4269
    ]
b6509548b414 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3242
diff changeset
  4270
!
b6509548b414 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3242
diff changeset
  4271
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4272
doDeleteClassAll
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4273
    "delete all changes with same class as currently selected change"
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4274
3227
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  4275
    |classNamesToDelete lastChangeNr overAllNumDeletedBefore|
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  4276
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  4277
    lastChangeNr := -1.
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  4278
    classNamesToDelete := Set new.
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4279
    self withSelectedChangesDo:[:changeNr |
3227
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  4280
        |classNameToDelete|
1428
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  4281
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  4282
        classNameToDelete := self classNameOfChange:changeNr.
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  4283
        classNameToDelete notNil ifTrue:[
3227
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  4284
            classNamesToDelete add:classNameToDelete.
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  4285
        ].
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  4286
        lastChangeNr := lastChangeNr max:changeNr.
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  4287
    ].
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  4288
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  4289
    overAllNumDeletedBefore := 0.
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  4290
    changeListView setSelection:nil.
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  4291
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  4292
    self withExecuteCursorDo:[
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  4293
        classNamesToDelete do:[:classNameToDelete |
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  4294
            |numDeletedBefore|
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  4295
1428
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  4296
            self silentDeleteChangesFor:classNameToDelete
3227
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  4297
                                   from:lastChangeNr
1428
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  4298
                                     to:(self numberOfChanges).
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  4299
            numDeletedBefore := self 
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  4300
                                   silentDeleteChangesFor:classNameToDelete
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  4301
                                   from:1
3227
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  4302
                                   to:(lastChangeNr-1).
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  4303
            lastChangeNr := lastChangeNr - numDeletedBefore.
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  4304
            overAllNumDeletedBefore := overAllNumDeletedBefore + numDeletedBefore.    
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  4305
        ].
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  4306
    ].
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  4307
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  4308
    self setChangeList. 
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  4309
    self autoSelectOrEnd:lastChangeNr
286
96d31200b0c1 added delete-for-class-from-beginning; ignore timestamps for fileOut/checkin/snapshot entries
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  4310
1431
f4900d4f0c06 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1428
diff changeset
  4311
    "Created: / 13.12.1995 / 16:07:14 / cg"
f4900d4f0c06 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1428
diff changeset
  4312
    "Modified: / 28.1.1998 / 20:42:14 / cg"
286
96d31200b0c1 added delete-for-class-from-beginning; ignore timestamps for fileOut/checkin/snapshot entries
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  4313
!
96d31200b0c1 added delete-for-class-from-beginning; ignore timestamps for fileOut/checkin/snapshot entries
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  4314
2511
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  4315
doDeleteClassAndPrivateClassesAll
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  4316
    "delete all changes with same class and private classes
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  4317
     as currently selected change"
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  4318
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4319
    self theSingleSelection isNil ifTrue:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4320
        ^ self information:'Only possible if a single change is selected.'.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4321
    ].
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4322
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4323
    self withSelectedChangesDo:[:changeNr |
2511
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  4324
        |classNameToDelete numDeletedBefore|
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  4325
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  4326
        classNameToDelete := self ownerClassNameOfChange:changeNr.
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  4327
        classNameToDelete notNil ifTrue:[
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  4328
            changeListView setSelection:nil.
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  4329
            self silentDeleteChangesForClassAndPrivateClasses:classNameToDelete
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  4330
                                   from:changeNr
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  4331
                                     to:(self numberOfChanges).
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  4332
            numDeletedBefore := self 
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  4333
                                   silentDeleteChangesForClassAndPrivateClasses:classNameToDelete
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  4334
                                   from:1
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  4335
                                   to:(changeNr-1).
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  4336
            self setChangeList. 
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  4337
            self autoSelectOrEnd:(changeNr - numDeletedBefore)
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  4338
        ]
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  4339
    ]
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  4340
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  4341
    "Created: / 13.12.1995 / 16:07:14 / cg"
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  4342
    "Modified: / 28.1.1998 / 20:42:14 / cg"
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  4343
!
57e9fd0ec5c5 added new menu action:
Claus Gittinger <cg@exept.de>
parents: 2477
diff changeset
  4344
286
96d31200b0c1 added delete-for-class-from-beginning; ignore timestamps for fileOut/checkin/snapshot entries
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  4345
doDeleteClassFromBeginning
96d31200b0c1 added delete-for-class-from-beginning; ignore timestamps for fileOut/checkin/snapshot entries
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  4346
    "delete changes with same class as currently selected change from the beginning
96d31200b0c1 added delete-for-class-from-beginning; ignore timestamps for fileOut/checkin/snapshot entries
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  4347
     up to the selected change.
96d31200b0c1 added delete-for-class-from-beginning; ignore timestamps for fileOut/checkin/snapshot entries
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  4348
     Useful to get rid of obsolete changes before a fileout or checkin entry."
96d31200b0c1 added delete-for-class-from-beginning; ignore timestamps for fileOut/checkin/snapshot entries
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  4349
3668
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  4350
    self withSingleSelectedChangeDo:[:changeNr |
1428
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  4351
        |classNameToDelete prevSelection numDeleted|
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  4352
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  4353
        classNameToDelete := self classNameOfChange:changeNr.
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  4354
        classNameToDelete notNil ifTrue:[
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  4355
            prevSelection := changeNr.
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  4356
            changeListView setSelection:nil.
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  4357
            numDeleted := self 
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  4358
                                silentDeleteChangesFor:classNameToDelete 
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  4359
                                from:1 
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  4360
                                to:changeNr.
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  4361
            self setChangeList.
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  4362
            self autoSelectOrEnd:(changeNr + 1 - numDeleted)
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  4363
        ]
180d03d00db4 fixed selection after deleting a bunch of changes
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
  4364
    ].
286
96d31200b0c1 added delete-for-class-from-beginning; ignore timestamps for fileOut/checkin/snapshot entries
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  4365
96d31200b0c1 added delete-for-class-from-beginning; ignore timestamps for fileOut/checkin/snapshot entries
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  4366
    "Created: 13.12.1995 / 15:41:58 / cg"
562
8f772068fd1a #selection: now does a notification / #setSelection: does not
Claus Gittinger <cg@exept.de>
parents: 553
diff changeset
  4367
    "Modified: 25.5.1996 / 12:26:34 / cg"
51
57c1ccc3d7e0 *** empty log message ***
claus
parents: 50
diff changeset
  4368
!
57c1ccc3d7e0 *** empty log message ***
claus
parents: 50
diff changeset
  4369
73
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  4370
doDeleteClassRest
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  4371
    "delete rest of changes with same class as currently selected change"
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  4372
3668
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  4373
    self withSingleSelectedChangeDo:[:changeNr |
1648
db1ca601ad8c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1625
diff changeset
  4374
        | classNameToDelete |
db1ca601ad8c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1625
diff changeset
  4375
db1ca601ad8c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1625
diff changeset
  4376
        classNameToDelete := self classNameOfChange:changeNr.
db1ca601ad8c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1625
diff changeset
  4377
        classNameToDelete notNil ifTrue:[
db1ca601ad8c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1625
diff changeset
  4378
            changeListView setSelection:nil.
db1ca601ad8c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1625
diff changeset
  4379
            self silentDeleteChangesFor:classNameToDelete 
db1ca601ad8c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1625
diff changeset
  4380
                                   from:changeNr
db1ca601ad8c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1625
diff changeset
  4381
                                     to:(self numberOfChanges).
db1ca601ad8c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1625
diff changeset
  4382
            self setChangeList.
db1ca601ad8c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1625
diff changeset
  4383
            self autoSelectOrEnd:changeNr
db1ca601ad8c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1625
diff changeset
  4384
        ]
73
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  4385
    ]
562
8f772068fd1a #selection: now does a notification / #setSelection: does not
Claus Gittinger <cg@exept.de>
parents: 553
diff changeset
  4386
1648
db1ca601ad8c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1625
diff changeset
  4387
    "Modified: / 18.5.1998 / 14:25:07 / cg"
73
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  4388
!
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  4389
3607
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4390
doDeleteClassSelectorAll
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4391
    "delete all changes with same class and selector as currently selected change"
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4392
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4393
    |classNameSelectorPairsToDelete lastChangeNr overAllNumDeletedBefore|
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4394
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4395
    lastChangeNr := -1.
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4396
    classNameSelectorPairsToDelete := Set new.
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4397
    self withSelectedChangesDo:[:changeNr |
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4398
        |className selector|
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4399
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4400
        className := self classNameOfChange:changeNr.
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4401
        selector := self selectorOfMethodChange:changeNr.
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4402
        selector notNil ifTrue:[
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4403
            (className notNil and:[selector notNil]) ifTrue:[
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4404
                classNameSelectorPairsToDelete add:(className -> selector).
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4405
            ]
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4406
        ].
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4407
        lastChangeNr := lastChangeNr max:changeNr.
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4408
    ].
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4409
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4410
    overAllNumDeletedBefore := 0.
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4411
    changeListView setSelection:nil.
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4412
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4413
    self withExecuteCursorDo:[
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4414
        classNameSelectorPairsToDelete do:[:pair |
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4415
            |numDeletedBefore className selector|
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4416
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4417
            className := pair key.
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4418
            selector  := pair value.
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4419
            self silentDeleteChangesFor:className selector:selector
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4420
                                   from:lastChangeNr
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4421
                                     to:(self numberOfChanges).
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4422
            numDeletedBefore := self 
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4423
                                   silentDeleteChangesFor:className selector:selector
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4424
                                   from:1
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4425
                                   to:(lastChangeNr-1).
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4426
            lastChangeNr := lastChangeNr - numDeletedBefore.
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4427
            overAllNumDeletedBefore := overAllNumDeletedBefore + numDeletedBefore.    
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4428
        ].
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4429
    ].
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4430
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4431
    self setChangeList. 
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4432
    self autoSelectOrEnd:lastChangeNr
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4433
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4434
    "Created: / 13.12.1995 / 16:07:14 / cg"
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4435
    "Modified: / 28.1.1998 / 20:42:14 / cg"
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4436
!
7c475122d0f6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3598
diff changeset
  4437
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4438
doDeleteRest
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4439
    "delete all changes from current to the end"
51
57c1ccc3d7e0 *** empty log message ***
claus
parents: 50
diff changeset
  4440
3668
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  4441
    self withSingleSelectedChangeDo:[:changeNr |
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  4442
        self deleteChangesFrom:changeNr to:(self numberOfChanges).
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  4443
        self clearCodeView.
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  4444
        self autoSelectOrEnd:changeNr-1
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  4445
    ]
132
claus
parents: 126
diff changeset
  4446
!
claus
parents: 126
diff changeset
  4447
claus
parents: 126
diff changeset
  4448
doFileoutAndDeleteClassAll
claus
parents: 126
diff changeset
  4449
    "first fileOut the selected changes class then delete all changes
claus
parents: 126
diff changeset
  4450
     for it."
claus
parents: 126
diff changeset
  4451
3668
635cb7c9fdcd added applyFromBeginning
Claus Gittinger <cg@exept.de>
parents: 3633
diff changeset
  4452
    self withSingleSelectedChangeDo:[:changeNr |
2835
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4453
        | className class |
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4454
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4455
        className := self classNameOfChange:changeNr.
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4456
        className notNil ifTrue:[
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4457
            class := Smalltalk classNamed:className.
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4458
            class notNil ifTrue:[
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4459
                Class fileOutErrorSignal handle:[:ex |
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4460
                    self warn:('fileout failed: ' , ex description).
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4461
                ] do:[
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4462
                    class fileOut.
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4463
                    self doDeleteClassAll
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4464
                ].
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4465
            ].
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4466
e78ff6b04c84 added compare&compress
Claus Gittinger <cg@exept.de>
parents: 2834
diff changeset
  4467
        ].
132
claus
parents: 126
diff changeset
  4468
    ]
claus
parents: 126
diff changeset
  4469
claus
parents: 126
diff changeset
  4470
    "Modified: 6.9.1995 / 17:11:16 / claus"
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4471
!
73
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  4472
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4473
doMakePatch
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4474
    "user wants a change to be made a patch
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4475
     - copy it over to the patches file"
89
43ca5e534f5e *** empty log message ***
claus
parents: 81
diff changeset
  4476
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4477
    self withSelectedChangesDo:[:changeNr |
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4478
        self makeChangeAPatch:changeNr.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4479
        self autoSelect:(changeNr + 1)
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4480
    ]
73
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  4481
!
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  4482
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4483
doMakePermanent
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4484
    "user wants a change to be made permanent
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4485
     - rewrite the source file where this change has to go"
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4486
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4487
    |yesNoBox|
73
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  4488
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4489
    (self theSingleSelection) isNil ifTrue:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4490
        ^ self information:'Only possible if a single change is selected.'.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4491
    ].
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4492
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4493
    yesNoBox := YesNoBox new.
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4494
    yesNoBox title:(resources at:'Warning: this operation cannot be undone').
1378
f7cf4cf1baf2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1368
diff changeset
  4495
    yesNoBox okText:(resources at:'continue') noText:(resources at:'abort').
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4496
    yesNoBox okAction:[   |changeNr|
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4497
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4498
                          changeNr := self theSingleSelection.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4499
                          changeNr notNil ifTrue:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4500
                              self makeChangePermanent:changeNr.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4501
                              self autoSelect:(changeNr + 1)
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4502
                          ]
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4503
                      ].
917
72349fe1f8ee destroy box after use
Claus Gittinger <cg@exept.de>
parents: 911
diff changeset
  4504
    yesNoBox showAtPointer.
72349fe1f8ee destroy box after use
Claus Gittinger <cg@exept.de>
parents: 911
diff changeset
  4505
    yesNoBox destroy
72349fe1f8ee destroy box after use
Claus Gittinger <cg@exept.de>
parents: 911
diff changeset
  4506
72349fe1f8ee destroy box after use
Claus Gittinger <cg@exept.de>
parents: 911
diff changeset
  4507
    "Modified: 7.1.1997 / 23:03:33 / cg"
73
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  4508
!
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  4509
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4510
doSave
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4511
    "user wants a change to be appended to a file"
73
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  4512
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4513
    |fileName|
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4514
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4515
    self withSelectedChangesDo:[:changeNr |
1473
160652b05e38 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1472
diff changeset
  4516
        fileName := Dialog
160652b05e38 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1472
diff changeset
  4517
                        requestFileName:'append change to:'
2394
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  4518
                        default:(lastSaveFileName ? '')
1473
160652b05e38 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1472
diff changeset
  4519
                        ok:'append'
160652b05e38 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1472
diff changeset
  4520
                        abort:'abort'
160652b05e38 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1472
diff changeset
  4521
                        pattern:'*.chg'.
160652b05e38 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1472
diff changeset
  4522
160652b05e38 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1472
diff changeset
  4523
        fileName notNil ifTrue:[
2394
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  4524
            lastSaveFileName := fileName.
1473
160652b05e38 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1472
diff changeset
  4525
            self withCursor:(Cursor write) do:[
160652b05e38 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1472
diff changeset
  4526
                self appendChange:changeNr toFile:fileName.
160652b05e38 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1472
diff changeset
  4527
            ].
160652b05e38 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1472
diff changeset
  4528
            self autoSelect:(changeNr + 1)
160652b05e38 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1472
diff changeset
  4529
        ].
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4530
    ]
73
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  4531
!
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  4532
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4533
doSaveClass
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4534
    "user wants changes for some class from current to end to be appended to a file"
89
43ca5e534f5e *** empty log message ***
claus
parents: 81
diff changeset
  4535
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4536
    (self theSingleSelection) isNil ifTrue:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4537
        ^ self information:'Only possible if a single change is selected.'.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4538
    ].
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4539
    self doSaveClassFrom:1
89
43ca5e534f5e *** empty log message ***
claus
parents: 81
diff changeset
  4540
!
43ca5e534f5e *** empty log message ***
claus
parents: 81
diff changeset
  4541
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4542
doSaveClassAll
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4543
    "user wants changes for some class from current to end to be appended to a file"
73
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  4544
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4545
    (self theSingleSelection) isNil ifTrue:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4546
        ^ self information:'Only possible if a single change is selected.'.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4547
    ].
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4548
    self doSaveClassFrom:1
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4549
!
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4550
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4551
doSaveClassFrom:startNr
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4552
    "user wants changes from current to end to be appended to a file"
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4553
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4554
    |changeNr classNameToSave|
73
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  4555
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4556
    (changeNr := self theSingleSelection) isNil ifTrue:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4557
        ^ self information:'Only possible if a single change is selected.'.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4558
    ].
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4559
    classNameToSave := self classNameOfChange:changeNr.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4560
    classNameToSave notNil ifTrue:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4561
        self saveClass:classNameToSave from:startNr
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4562
    ]
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4563
!
73
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  4564
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4565
doSaveClassRest
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4566
    "user wants changes for some class from current to end to be appended to a file"
73
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  4567
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4568
    |changeNr|
132
claus
parents: 126
diff changeset
  4569
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4570
    (changeNr := self theSingleSelection) isNil ifTrue:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4571
        ^ self information:'Only possible if a single change is selected.'.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4572
    ].
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4573
    self doSaveClassFrom:changeNr
81
b3b4d34c5ada *** empty log message ***
claus
parents: 77
diff changeset
  4574
!
b3b4d34c5ada *** empty log message ***
claus
parents: 77
diff changeset
  4575
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4576
doSaveRest
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4577
    "user wants changes from current to end to be appended to a file"
73
e332d9c71624 *** empty log message ***
claus
parents: 68
diff changeset
  4578
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4579
    |changeNr fileName|
51
57c1ccc3d7e0 *** empty log message ***
claus
parents: 50
diff changeset
  4580
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4581
    (changeNr := self theSingleSelection) isNil ifTrue:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4582
        ^ self information:'Only possible if a single change is selected.'.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4583
    ].
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4584
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4585
    fileName := Dialog
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4586
                    requestFileName:'append changes to:'
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4587
                    default:(lastSaveFileName ? '')
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4588
                    ok:'append'
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4589
                    abort:'abort'
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4590
                    pattern:'*.chg'.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4591
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4592
    fileName notNil ifTrue:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4593
        lastSaveFileName := fileName.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4594
        self withCursor:(Cursor write) do:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4595
            changeNr to:(self numberOfChanges) do:[:changeNr |
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4596
                changeListView setSelection:changeNr.
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4597
                (self appendChange:changeNr toFile:fileName) ifFalse:[
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4598
                    ^ self
2394
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  4599
                ]
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  4600
            ]
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4601
        ]
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4602
    ]
562
8f772068fd1a #selection: now does a notification / #setSelection: does not
Claus Gittinger <cg@exept.de>
parents: 553
diff changeset
  4603
8f772068fd1a #selection: now does a notification / #setSelection: does not
Claus Gittinger <cg@exept.de>
parents: 553
diff changeset
  4604
    "Modified: 25.5.1996 / 12:26:41 / cg"
51
57c1ccc3d7e0 *** empty log message ***
claus
parents: 50
diff changeset
  4605
!
57c1ccc3d7e0 *** empty log message ***
claus
parents: 50
diff changeset
  4606
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4607
doUpdate
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4608
    "reread the changes-file"
51
57c1ccc3d7e0 *** empty log message ***
claus
parents: 50
diff changeset
  4609
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4610
    self readChangesFileInBackground:true.
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4611
    realized ifTrue:[
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4612
	self setChangeList.
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4613
    ]
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4614
51
57c1ccc3d7e0 *** empty log message ***
claus
parents: 50
diff changeset
  4615
!
57c1ccc3d7e0 *** empty log message ***
claus
parents: 50
diff changeset
  4616
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4617
doWriteBack
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4618
    "write back the list onto the changes file"
51
57c1ccc3d7e0 *** empty log message ***
claus
parents: 50
diff changeset
  4619
57c1ccc3d7e0 *** empty log message ***
claus
parents: 50
diff changeset
  4620
    anyChanges ifTrue:[
1378
f7cf4cf1baf2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1368
diff changeset
  4621
	(self writeBackChanges) ifTrue:[
f7cf4cf1baf2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1368
diff changeset
  4622
	    realized ifTrue:[
f7cf4cf1baf2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1368
diff changeset
  4623
		self readChangesFileInBackground:false.
f7cf4cf1baf2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1368
diff changeset
  4624
		realized ifTrue:[
f7cf4cf1baf2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1368
diff changeset
  4625
		    self setChangeList
f7cf4cf1baf2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1368
diff changeset
  4626
		]
f7cf4cf1baf2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1368
diff changeset
  4627
	    ]
f7cf4cf1baf2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1368
diff changeset
  4628
	]
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4629
    ]
703
1b3b008d9f19 fixed to allow class-source files to be handled
Claus Gittinger <cg@exept.de>
parents: 627
diff changeset
  4630
1b3b008d9f19 fixed to allow class-source files to be handled
Claus Gittinger <cg@exept.de>
parents: 627
diff changeset
  4631
    "Modified: 5.9.1996 / 17:19:46 / cg"
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  4632
!
126
claus
parents: 123
diff changeset
  4633
1471
f73ed23816d4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  4634
doubleClickOnChange:lineNr
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4635
    "action performed when a change-list entry is doubleClicked"
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4636
1471
f73ed23816d4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  4637
    self doBrowse
f73ed23816d4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  4638
f73ed23816d4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  4639
    "Created: / 6.2.1998 / 13:08:49 / cg"
f73ed23816d4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  4640
!
f73ed23816d4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
  4641
1127
32383ecaebe4 added alt-S for search
Claus Gittinger <cg@exept.de>
parents: 1109
diff changeset
  4642
findClass
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4643
    "findClass menu action: let user enter a classes name, and select the next change for that class"
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4644
3292
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  4645
    |current|
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4646
1127
32383ecaebe4 added alt-S for search
Claus Gittinger <cg@exept.de>
parents: 1109
diff changeset
  4647
    changeNrShown notNil ifTrue:[
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4648
        current := self classNameOfChange:changeNrShown.
1127
32383ecaebe4 added alt-S for search
Claus Gittinger <cg@exept.de>
parents: 1109
diff changeset
  4649
    ].
3292
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  4650
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  4651
    self 
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  4652
        askForSearch:'Class to search for:'
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  4653
        initialAnswer:current
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  4654
        thenSearchUsing:[:searchString :changeNr |
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  4655
                            |thisClass|
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  4656
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  4657
                            thisClass := self classNameOfChange:changeNr.
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  4658
                            (thisClass = searchString 
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  4659
                            or:[searchString includesMatchCharacters and:[searchString match:thisClass]]) 
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  4660
                        ]
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  4661
        onCancel:[^ self].
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  4662
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  4663
    lastSearchType := #class.
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4664
    changeNrShown == 0 ifTrue:[changeNrShown := nil].
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4665
!
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4666
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4667
findNext
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4668
    "findNext menu action: select the next change. 
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4669
     Searches for what the last search was for; i.e. either same class or same selector"
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4670
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4671
    lastSearchType == #selector ifTrue:[
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4672
        ^ self findNextForSelector
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4673
    ].
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4674
    lastSearchType == #snapshot ifTrue:[
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4675
        ^ self findNextSnapshot
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4676
    ].
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4677
    lastSearchType == #string ifTrue:[
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4678
        ^ self findNextForString
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4679
    ].
3534
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4680
    lastSearchType == #difference ifTrue:[
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4681
        ^ self findNextDifference
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4682
    ].
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4683
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4684
    ^ self findNextForClass
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4685
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4686
    "Created: / 18.6.1998 / 22:15:00 / cg"
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4687
    "Modified: / 18.6.1998 / 22:15:25 / cg"
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4688
!
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4689
3534
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4690
findNextDifference
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4691
    lastSearchType := #difference.
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4692
    changeNrShown isNil ifTrue:[^ self].
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4693
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4694
    self findNextForWhich:[:changeNr | 
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4695
            (self compareChange:changeNr showResult:false) == true ifTrue:[
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4696
                "/ same
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4697
                false
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4698
            ] ifFalse:[
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4699
                "/ different
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4700
                true
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4701
            ]
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4702
        ]
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4703
!
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4704
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4705
findNextForClass
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4706
    "findNextForClass menu action: select the next change for the selected changes class"
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4707
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4708
    |cls|
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4709
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4710
    lastSearchType := #class.
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4711
    changeNrShown isNil ifTrue:[^ self].
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4712
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4713
    cls := self classNameOfChange:changeNrShown.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4714
    cls isNil ifTrue:[^ self].
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4715
3341
8f156ac559d5 fixed matching in find actions
Claus Gittinger <cg@exept.de>
parents: 3339
diff changeset
  4716
    self findNextForWhich:[:changeNr | 
8f156ac559d5 fixed matching in find actions
Claus Gittinger <cg@exept.de>
parents: 3339
diff changeset
  4717
                |thisClass|
8f156ac559d5 fixed matching in find actions
Claus Gittinger <cg@exept.de>
parents: 3339
diff changeset
  4718
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4719
                thisClass := self classNameOfChange:changeNr.
3341
8f156ac559d5 fixed matching in find actions
Claus Gittinger <cg@exept.de>
parents: 3339
diff changeset
  4720
                (thisClass = cls 
8f156ac559d5 fixed matching in find actions
Claus Gittinger <cg@exept.de>
parents: 3339
diff changeset
  4721
                or:[cls includesMatchCharacters and:[cls match:thisClass]]) 
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4722
        ]
3341
8f156ac559d5 fixed matching in find actions
Claus Gittinger <cg@exept.de>
parents: 3339
diff changeset
  4723
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4724
!
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4725
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4726
findNextForSelector
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4727
    "findNextForSelector menu action: select the next change for the selected changes selector"
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4728
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4729
    |sel|
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4730
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4731
    lastSearchType := #selector.
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4732
    changeNrShown isNil ifTrue:[^ self].
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4733
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4734
    sel := self selectorOfMethodChange:changeNrShown.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4735
    sel isNil ifTrue:[^ self].
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4736
3341
8f156ac559d5 fixed matching in find actions
Claus Gittinger <cg@exept.de>
parents: 3339
diff changeset
  4737
    self findNextForWhich: [:changeNr | 
8f156ac559d5 fixed matching in find actions
Claus Gittinger <cg@exept.de>
parents: 3339
diff changeset
  4738
                |thisSelector|
8f156ac559d5 fixed matching in find actions
Claus Gittinger <cg@exept.de>
parents: 3339
diff changeset
  4739
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4740
                thisSelector := self selectorOfMethodChange:changeNr.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4741
                (thisSelector = sel or:[sel includesMatchCharacters and:[sel match:thisSelector]]) 
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4742
        ]
3341
8f156ac559d5 fixed matching in find actions
Claus Gittinger <cg@exept.de>
parents: 3339
diff changeset
  4743
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4744
!
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4745
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4746
findNextForString
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4747
    self findNextWithString:lastSearchString
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4748
!
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4749
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4750
findNextForWhich:aBlock
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4751
    "helper: select the next change for which aBlock evaluates to true"
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4752
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4753
    self withCursor:Cursor questionMark do:[
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4754
        Object userInterruptSignal handle:[:ex |
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4755
            self beep.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4756
            ^ 0
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4757
        ] do:[
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4758
            |lastNr nr|
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4759
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4760
            lastNr := self numberOfChanges.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4761
            nr := changeNrShown + 1.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4762
            [nr <= lastNr] whileTrue:[
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4763
                (aBlock value:nr) ifTrue:[
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4764
                    changeListView setSelection:nr .
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4765
                    self changeSelection:nr.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4766
                    ^ nr
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4767
                ].
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4768
                nr := nr + 1.
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4769
            ].
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4770
        ].
1127
32383ecaebe4 added alt-S for search
Claus Gittinger <cg@exept.de>
parents: 1109
diff changeset
  4771
    ].
2132
4b6c57b84a10 common code cleanup
Claus Gittinger <cg@exept.de>
parents: 2114
diff changeset
  4772
    self showNotFound.
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4773
    self windowGroup sensor flushKeyboard. "/ avoid multiple beeps, in case of type ahead
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4774
    ^ 0
1127
32383ecaebe4 added alt-S for search
Claus Gittinger <cg@exept.de>
parents: 1109
diff changeset
  4775
!
32383ecaebe4 added alt-S for search
Claus Gittinger <cg@exept.de>
parents: 1109
diff changeset
  4776
1848
61054ff3d470 added find prev/next snapshot to search menu
Claus Gittinger <cg@exept.de>
parents: 1833
diff changeset
  4777
findNextSnapshot
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4778
    "findNextSnapshot menu action: select the next change which is for a snapShot-image save action"
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4779
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4780
    lastSearchType := #snapshot.
1848
61054ff3d470 added find prev/next snapshot to search menu
Claus Gittinger <cg@exept.de>
parents: 1833
diff changeset
  4781
    changeNrShown isNil ifTrue:[^ self].
61054ff3d470 added find prev/next snapshot to search menu
Claus Gittinger <cg@exept.de>
parents: 1833
diff changeset
  4782
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4783
    self findNextForWhich: [:changeNr | self changeIsSnapShotInfo:changeNr ]
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4784
!
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4785
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4786
findNextWithString:searchString
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4787
    lastSearchType := #string.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4788
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4789
    lastSearchString := searchString.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4790
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4791
    changeNrShown isNil ifTrue:[
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4792
        changeNrShown := 0.
1848
61054ff3d470 added find prev/next snapshot to search menu
Claus Gittinger <cg@exept.de>
parents: 1833
diff changeset
  4793
    ].
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4794
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4795
    self findNextForWhich:
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4796
        [:changeNr |
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4797
            |s|
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4798
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4799
            s := self sourceOfMethodChange:changeNr.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4800
            s notNil and:[
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4801
                (searchString includesMatchCharacters not
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4802
                            and:[(s findString:searchString) ~~ 0])
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4803
                or:[ searchString includesMatchCharacters
3341
8f156ac559d5 fixed matching in find actions
Claus Gittinger <cg@exept.de>
parents: 3339
diff changeset
  4804
                            and:[('*' , searchString , '*') match:s ]]]
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4805
        ].
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4806
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4807
    changeNrShown == 0 ifTrue:[changeNrShown := nil].
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4808
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4809
    codeView setSearchPattern:searchString.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4810
    codeView 
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4811
        searchFwd:searchString
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4812
        ignoreCase:false 
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4813
        startingAtLine:1 col:0 
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4814
        ifAbsent:nil.
3341
8f156ac559d5 fixed matching in find actions
Claus Gittinger <cg@exept.de>
parents: 3339
diff changeset
  4815
1848
61054ff3d470 added find prev/next snapshot to search menu
Claus Gittinger <cg@exept.de>
parents: 1833
diff changeset
  4816
!
61054ff3d470 added find prev/next snapshot to search menu
Claus Gittinger <cg@exept.de>
parents: 1833
diff changeset
  4817
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4818
findPrevious
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4819
    "findPrevious menu action: select the previous change. 
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4820
     Searches for what the last search was for; i.e. either same class or same selector"
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4821
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4822
    lastSearchType == #selector ifTrue:[
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4823
        ^ self findPreviousForSelector
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4824
    ].
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4825
    lastSearchType == #snapshot ifTrue:[
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4826
        ^ self findPreviousSnapshot
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4827
    ].
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4828
    lastSearchType == #string ifTrue:[
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4829
        ^ self findPreviousForString
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4830
    ].
3534
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4831
    lastSearchType == #difference ifTrue:[
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4832
        ^ self findPreviousDifference
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4833
    ].
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4834
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4835
    ^ self findPreviousForClass
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4836
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4837
    "Created: / 18.6.1998 / 22:15:15 / cg"
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4838
!
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4839
3534
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4840
findPreviousDifference
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4841
    lastSearchType := #difference.
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4842
    changeNrShown isNil ifTrue:[^ self].
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4843
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4844
    self findPreviousForWhich:[:changeNr | 
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4845
            (self compareChange:changeNr showResult:false) == true ifTrue:[
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4846
                "/ same
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4847
                false
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4848
            ] ifFalse:[
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4849
                "/ different
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4850
                true
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4851
            ]
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4852
        ]
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4853
!
917a8a0deb34 search next difference;
Claus Gittinger <cg@exept.de>
parents: 3512
diff changeset
  4854
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4855
findPreviousForClass
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4856
    "findPreviousForClass menu action: select the previous change for the selected changes class"
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4857
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4858
    |cls|
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4859
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4860
    lastSearchType := #class.
975
41a41f54874d added findPrev (Alt-B) and findNext (Alt-F)
Claus Gittinger <cg@exept.de>
parents: 958
diff changeset
  4861
    changeNrShown isNil ifTrue:[^ self].
41a41f54874d added findPrev (Alt-B) and findNext (Alt-F)
Claus Gittinger <cg@exept.de>
parents: 958
diff changeset
  4862
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4863
    cls := self classNameOfChange:changeNrShown.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4864
    cls isNil ifTrue:[^ self].
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4865
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4866
    self findPreviousForWhich:
3341
8f156ac559d5 fixed matching in find actions
Claus Gittinger <cg@exept.de>
parents: 3339
diff changeset
  4867
        [:changeNr | 
8f156ac559d5 fixed matching in find actions
Claus Gittinger <cg@exept.de>
parents: 3339
diff changeset
  4868
                |thisClass|
8f156ac559d5 fixed matching in find actions
Claus Gittinger <cg@exept.de>
parents: 3339
diff changeset
  4869
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4870
                thisClass := self classNameOfChange:changeNr.
3341
8f156ac559d5 fixed matching in find actions
Claus Gittinger <cg@exept.de>
parents: 3339
diff changeset
  4871
                (thisClass = cls 
8f156ac559d5 fixed matching in find actions
Claus Gittinger <cg@exept.de>
parents: 3339
diff changeset
  4872
                or:[cls includesMatchCharacters and:[cls match:thisClass]])
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4873
        ]
3341
8f156ac559d5 fixed matching in find actions
Claus Gittinger <cg@exept.de>
parents: 3339
diff changeset
  4874
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4875
!
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4876
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4877
findPreviousForSelector
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4878
    "findPreviousForSelector menu action: select the previous change for the selected changes selector"
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4879
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4880
    |sel|
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4881
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4882
    lastSearchType := #selector.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4883
    changeNrShown isNil ifTrue:[^ self].
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4884
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4885
    sel := self selectorOfMethodChange:changeNrShown.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4886
    sel isNil ifTrue:[^ self].
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4887
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4888
    self findPreviousForWhich:
3341
8f156ac559d5 fixed matching in find actions
Claus Gittinger <cg@exept.de>
parents: 3339
diff changeset
  4889
        [:changeNr | 
8f156ac559d5 fixed matching in find actions
Claus Gittinger <cg@exept.de>
parents: 3339
diff changeset
  4890
                |thisSelector|
8f156ac559d5 fixed matching in find actions
Claus Gittinger <cg@exept.de>
parents: 3339
diff changeset
  4891
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4892
                thisSelector := self selectorOfMethodChange:changeNr.
3341
8f156ac559d5 fixed matching in find actions
Claus Gittinger <cg@exept.de>
parents: 3339
diff changeset
  4893
                (thisSelector = sel 
8f156ac559d5 fixed matching in find actions
Claus Gittinger <cg@exept.de>
parents: 3339
diff changeset
  4894
                or:[sel includesMatchCharacters and:[sel match:thisSelector]]) 
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4895
        ]
3341
8f156ac559d5 fixed matching in find actions
Claus Gittinger <cg@exept.de>
parents: 3339
diff changeset
  4896
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4897
!
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4898
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4899
findPreviousForString
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4900
    self findPreviousWithString:lastSearchString
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4901
!
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4902
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4903
findPreviousForWhich:aBlock
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4904
    "helper: select the previous change for which aBlock evaluates to true"
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4905
975
41a41f54874d added findPrev (Alt-B) and findNext (Alt-F)
Claus Gittinger <cg@exept.de>
parents: 958
diff changeset
  4906
    self withCursor:Cursor questionMark do:[
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4907
        Object userInterruptSignal handle:[:ex |
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4908
            self beep.
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4909
            ^ 0
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4910
        ] do:[
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4911
            |nr|
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4912
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4913
            nr := changeNrShown - 1.
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4914
            [nr >= 1] whileTrue:[
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4915
                (aBlock value:nr) ifTrue:[
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4916
                    changeListView setSelection:nr .
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4917
                    self changeSelection:nr.
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4918
                    ^ nr
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4919
                ].
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4920
                nr := nr - 1.
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4921
            ].
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4922
        ]
975
41a41f54874d added findPrev (Alt-B) and findNext (Alt-F)
Claus Gittinger <cg@exept.de>
parents: 958
diff changeset
  4923
    ].
2132
4b6c57b84a10 common code cleanup
Claus Gittinger <cg@exept.de>
parents: 2114
diff changeset
  4924
    self showNotFound.
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4925
    self windowGroup sensor flushKeyboard. "/ avoid multiple beeps, in case of type ahead
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4926
    ^ 0
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4927
!
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4928
1848
61054ff3d470 added find prev/next snapshot to search menu
Claus Gittinger <cg@exept.de>
parents: 1833
diff changeset
  4929
findPreviousSnapshot
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4930
    "findPreviousSnapshot menu action: select the previous change which is for a snapShot-image save action"
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4931
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4932
    lastSearchType := #snapshot.
1848
61054ff3d470 added find prev/next snapshot to search menu
Claus Gittinger <cg@exept.de>
parents: 1833
diff changeset
  4933
    changeNrShown isNil ifTrue:[^ self].
61054ff3d470 added find prev/next snapshot to search menu
Claus Gittinger <cg@exept.de>
parents: 1833
diff changeset
  4934
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4935
    self findPreviousForWhich: [:changeNr | self changeIsSnapShotInfo:changeNr ]
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4936
!
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4937
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4938
findPreviousWithString:searchString
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4939
    lastSearchType := #string.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4940
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4941
    lastSearchString := searchString.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4942
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4943
    changeNrShown isNil ifTrue:[
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4944
        changeNrShown := 0.
1848
61054ff3d470 added find prev/next snapshot to search menu
Claus Gittinger <cg@exept.de>
parents: 1833
diff changeset
  4945
    ].
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4946
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4947
    self findPreviousForWhich:
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4948
        [:changeNr |
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4949
            |s includesMatchCharacters|
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4950
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4951
            includesMatchCharacters := searchString includesMatchCharacters.
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4952
            s := self sourceOfMethodChange:changeNr.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4953
            s notNil and:[
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  4954
                (includesMatchCharacters not and:[(s findString:searchString) ~~ 0])
3341
8f156ac559d5 fixed matching in find actions
Claus Gittinger <cg@exept.de>
parents: 3339
diff changeset
  4955
                or:[includesMatchCharacters and:[('*' , searchString , '*') match:s ]]]
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4956
        ].
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4957
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4958
    changeNrShown == 0 ifTrue:[changeNrShown := nil].
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4959
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4960
    codeView setSearchPattern:searchString.
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4961
    codeView 
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4962
        searchFwd:searchString
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4963
        ignoreCase:false 
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4964
        startingAtLine:1 col:0 
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4965
        ifAbsent:nil.
3341
8f156ac559d5 fixed matching in find actions
Claus Gittinger <cg@exept.de>
parents: 3339
diff changeset
  4966
1848
61054ff3d470 added find prev/next snapshot to search menu
Claus Gittinger <cg@exept.de>
parents: 1833
diff changeset
  4967
!
61054ff3d470 added find prev/next snapshot to search menu
Claus Gittinger <cg@exept.de>
parents: 1833
diff changeset
  4968
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4969
findSelector
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4970
    "findSelector menu action: let user enter a selector, and select the next change for that selector"
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4971
3292
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  4972
    |current|
1706
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4973
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4974
    changeNrShown notNil ifTrue:[
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4975
        current := self selectorOfMethodChange:changeNrShown.
dd888c645873 added more search functions and a control-menu.
Claus Gittinger <cg@exept.de>
parents: 1670
diff changeset
  4976
    ].
3292
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  4977
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  4978
    self 
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  4979
        askForSearch:'Selector to search for:'
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  4980
        initialAnswer:current
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  4981
        thenSearchUsing:[:searchString :changeNr |
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  4982
                            |thisSelector|
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  4983
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  4984
                            thisSelector := self selectorOfMethodChange:changeNr.
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  4985
                            (thisSelector = searchString 
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  4986
                            or:[searchString includesMatchCharacters and:[searchString match:thisSelector]]) 
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  4987
                        ]
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  4988
        onCancel:[^ self].
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  4989
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  4990
    lastSearchType := #selector.
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  4991
    changeNrShown == 0 ifTrue:[changeNrShown := nil].
975
41a41f54874d added findPrev (Alt-B) and findNext (Alt-F)
Claus Gittinger <cg@exept.de>
parents: 958
diff changeset
  4992
!
41a41f54874d added findPrev (Alt-B) and findNext (Alt-F)
Claus Gittinger <cg@exept.de>
parents: 958
diff changeset
  4993
2576
b5f0d32b09d3 added string search (in methods code)
Claus Gittinger <cg@exept.de>
parents: 2573
diff changeset
  4994
findString
3292
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  4995
    |searchString directionHolder|
2576
b5f0d32b09d3 added string search (in methods code)
Claus Gittinger <cg@exept.de>
parents: 2573
diff changeset
  4996
b5f0d32b09d3 added string search (in methods code)
Claus Gittinger <cg@exept.de>
parents: 2573
diff changeset
  4997
    lastSearchType := #string.
b5f0d32b09d3 added string search (in methods code)
Claus Gittinger <cg@exept.de>
parents: 2573
diff changeset
  4998
b5f0d32b09d3 added string search (in methods code)
Claus Gittinger <cg@exept.de>
parents: 2573
diff changeset
  4999
    searchString := codeView selection.
2843
6e3fc30cd41f commented; much better functionality
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
  5000
    searchString size == 0 ifTrue:[searchString := lastSearchString].
3292
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  5001
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  5002
    searchString := self 
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  5003
        askForSearchString:'String to search for:'
3554
1ef7694bd41a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3543
diff changeset
  5004
        initialAnswer:(searchString ? '')
3292
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  5005
        directionInto:(directionHolder := ValueHolder new).
3554
1ef7694bd41a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3543
diff changeset
  5006
1ef7694bd41a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3543
diff changeset
  5007
    searchString size == 0 ifTrue:[
2576
b5f0d32b09d3 added string search (in methods code)
Claus Gittinger <cg@exept.de>
parents: 2573
diff changeset
  5008
        ^ self
b5f0d32b09d3 added string search (in methods code)
Claus Gittinger <cg@exept.de>
parents: 2573
diff changeset
  5009
    ].
b5f0d32b09d3 added string search (in methods code)
Claus Gittinger <cg@exept.de>
parents: 2573
diff changeset
  5010
3292
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  5011
    directionHolder value == #backward ifTrue:[
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  5012
        self findPreviousWithString:searchString.
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  5013
    ] ifFalse:[
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  5014
        self findNextWithString:searchString.
7eca3bb7b8cb added previous buttons to searches
Claus Gittinger <cg@exept.de>
parents: 3275
diff changeset
  5015
    ]
2576
b5f0d32b09d3 added string search (in methods code)
Claus Gittinger <cg@exept.de>
parents: 2573
diff changeset
  5016
!
b5f0d32b09d3 added string search (in methods code)
Claus Gittinger <cg@exept.de>
parents: 2573
diff changeset
  5017
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  5018
noChangesAllowed
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  5019
    "show a warning that changes cannot be changed"
93
claus
parents: 92
diff changeset
  5020
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  5021
    self warn:'Changes are not allowed to be changed.'
0
571fd5eee315 Initial revision
claus
parents:
diff changeset
  5022
!
571fd5eee315 Initial revision
claus
parents:
diff changeset
  5023
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  5024
saveClass:aClassName from:startNr
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  5025
    "user wants changes from current to end to be appended to a file"
51
57c1ccc3d7e0 *** empty log message ***
claus
parents: 50
diff changeset
  5026
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  5027
    |changeNr fileName|
51
57c1ccc3d7e0 *** empty log message ***
claus
parents: 50
diff changeset
  5028
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  5029
    changeNr := changeListView selection.
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  5030
    changeNr notNil ifTrue:[
2394
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  5031
        fileName := Dialog
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  5032
                        requestFileName:'append changes for class to:'
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  5033
                        default:(lastSaveFileName ? '')
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  5034
                        ok:'append'
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  5035
                        abort:'abort'
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  5036
                        pattern:'*.chg'.
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  5037
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  5038
        fileName notNil ifTrue:[
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  5039
            lastSaveFileName := fileName.
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  5040
            self withCursor:(Cursor write) do:[
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  5041
                startNr to:(self numberOfChanges) do:[:changeNr |
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  5042
                    |thisClassName|
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  5043
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  5044
                    thisClassName := self classNameOfChange:changeNr.
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  5045
                    thisClassName = aClassName ifTrue:[
3211
f603f235e5c4 multiple select
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
  5046
                        self setSingleSelection:changeNr.
2394
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  5047
                        (self appendChange:changeNr toFile:fileName) ifFalse:[
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  5048
                            ^ self
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  5049
                        ]
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  5050
                    ]
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  5051
                ]
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  5052
            ]
0841cfed6ec5 fixed delete followed by save-change
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
  5053
        ].
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  5054
    ]
562
8f772068fd1a #selection: now does a notification / #setSelection: does not
Claus Gittinger <cg@exept.de>
parents: 553
diff changeset
  5055
8f772068fd1a #selection: now does a notification / #setSelection: does not
Claus Gittinger <cg@exept.de>
parents: 553
diff changeset
  5056
    "Modified: 25.5.1996 / 12:26:44 / cg"
3227
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  5057
!
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  5058
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  5059
setEnforcedNameSpace
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  5060
    |nsName listOfKnownNameSpaces|
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  5061
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  5062
    listOfKnownNameSpaces := Set new.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  5063
    NameSpace 
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  5064
        allNamespaces 
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  5065
            do:[:eachNameSpace | 
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  5066
                listOfKnownNameSpaces add:eachNameSpace name
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  5067
            ].
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  5068
    listOfKnownNameSpaces := listOfKnownNameSpaces asOrderedCollection sort.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  5069
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  5070
    nsName := Dialog 
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  5071
                request:'When applying, new classes are created in nameSpace:'
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  5072
                initialAnswer:(enforcedNameSpace ? Class nameSpaceQuerySignal query name)
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  5073
                list:listOfKnownNameSpaces.
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  5074
    nsName size ~~ 0 ifTrue:[
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  5075
        enforcedNameSpace := NameSpace name:nsName
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  5076
    ]
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  5077
!
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  5078
3227
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  5079
setEnforcedPackage
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  5080
    |pkg listOfKnownPackages|
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  5081
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  5082
    listOfKnownPackages := Set new.
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  5083
    Smalltalk allClassesDo:[:eachClass | 
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  5084
                                |package|
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  5085
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  5086
                                package := eachClass package.
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  5087
                                package size > 0 ifTrue:[
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  5088
                                    listOfKnownPackages add:package
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  5089
                                ]
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  5090
                           ].
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  5091
    listOfKnownPackages := listOfKnownPackages asOrderedCollection sort.
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  5092
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  5093
    pkg := Dialog 
3472
9673ed96d22c support for dolphin fileIn
Claus Gittinger <cg@exept.de>
parents: 3456
diff changeset
  5094
                request:'When applying, changes go into package:'
3227
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  5095
                initialAnswer:(enforcedPackage ? Class packageQuerySignal query)
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  5096
                list:listOfKnownPackages.
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  5097
    pkg size ~~ 0 ifTrue:[
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  5098
        enforcedPackage := pkg
442696985817 deleteAllForClass - support multiple selection
Claus Gittinger <cg@exept.de>
parents: 3224
diff changeset
  5099
    ]
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  5100
! !
0
571fd5eee315 Initial revision
claus
parents:
diff changeset
  5101
761
5c2b46a38efa checkin from browser
Claus Gittinger <cg@exept.de>
parents: 744
diff changeset
  5102
!ChangesBrowser class methodsFor:'documentation'!
202
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  5103
468378999911 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
  5104
version
3806
46e459fdde4c added "apply to next conflict"
Claus Gittinger <cg@exept.de>
parents: 3785
diff changeset
  5105
    ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.270 2002-08-16 11:50:04 cg Exp $'
276
017219e571e4 more stuff for autoloaded classes
Claus Gittinger <cg@exept.de>
parents: 275
diff changeset
  5106
! !