ChangeSetBrowser.st
author Claus Gittinger <cg@exept.de>
Wed, 02 Feb 2000 20:35:59 +0100
changeset 2577 14b7cc070a6b
parent 1474 a791314e2e1d
child 2862 ae3f14623d62
permissions -rw-r--r--
added implementorsOf and sendersOf menu functions
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
     1
"
205d53e91c52 Initial revision
claus
parents:
diff changeset
     2
 COPYRIGHT (c) 1993 by Claus Gittinger
45
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
     3
	      All Rights Reserved
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
     4
205d53e91c52 Initial revision
claus
parents:
diff changeset
     5
 This software is furnished under a license and may be used
205d53e91c52 Initial revision
claus
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
205d53e91c52 Initial revision
claus
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
205d53e91c52 Initial revision
claus
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
205d53e91c52 Initial revision
claus
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
205d53e91c52 Initial revision
claus
parents:
diff changeset
    10
 hereby transferred.
205d53e91c52 Initial revision
claus
parents:
diff changeset
    11
"
205d53e91c52 Initial revision
claus
parents:
diff changeset
    12
205d53e91c52 Initial revision
claus
parents:
diff changeset
    13
ChangesBrowser subclass:#ChangeSetBrowser
1470
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 224
diff changeset
    14
	instanceVariableNames:'changeSet originalChangeSet'
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 224
diff changeset
    15
	classVariableNames:''
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 224
diff changeset
    16
	poolDictionaries:''
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 224
diff changeset
    17
	category:'Interface-Browsers'
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
    18
!
205d53e91c52 Initial revision
claus
parents:
diff changeset
    19
205d53e91c52 Initial revision
claus
parents:
diff changeset
    20
!ChangeSetBrowser class methodsFor:'documentation'!
205d53e91c52 Initial revision
claus
parents:
diff changeset
    21
205d53e91c52 Initial revision
claus
parents:
diff changeset
    22
copyright
205d53e91c52 Initial revision
claus
parents:
diff changeset
    23
"
205d53e91c52 Initial revision
claus
parents:
diff changeset
    24
 COPYRIGHT (c) 1993 by Claus Gittinger
45
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    25
	      All Rights Reserved
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
    26
205d53e91c52 Initial revision
claus
parents:
diff changeset
    27
 This software is furnished under a license and may be used
205d53e91c52 Initial revision
claus
parents:
diff changeset
    28
 only in accordance with the terms of that license and with the
205d53e91c52 Initial revision
claus
parents:
diff changeset
    29
 inclusion of the above copyright notice.   This software may not
205d53e91c52 Initial revision
claus
parents:
diff changeset
    30
 be provided or otherwise made available to, or used by, any
205d53e91c52 Initial revision
claus
parents:
diff changeset
    31
 other person.  No title to or ownership of the software is
205d53e91c52 Initial revision
claus
parents:
diff changeset
    32
 hereby transferred.
205d53e91c52 Initial revision
claus
parents:
diff changeset
    33
"
205d53e91c52 Initial revision
claus
parents:
diff changeset
    34
!
205d53e91c52 Initial revision
claus
parents:
diff changeset
    35
205d53e91c52 Initial revision
claus
parents:
diff changeset
    36
documentation
205d53e91c52 Initial revision
claus
parents:
diff changeset
    37
"
205d53e91c52 Initial revision
claus
parents:
diff changeset
    38
    like a changesBrowser, but manipulates the per-project change-lists.
205d53e91c52 Initial revision
claus
parents:
diff changeset
    39
"
205d53e91c52 Initial revision
claus
parents:
diff changeset
    40
! !
205d53e91c52 Initial revision
claus
parents:
diff changeset
    41
205d53e91c52 Initial revision
claus
parents:
diff changeset
    42
!ChangeSetBrowser class methodsFor:'instance creation'!
205d53e91c52 Initial revision
claus
parents:
diff changeset
    43
40
a9ae39be7004 *** empty log message ***
claus
parents: 30
diff changeset
    44
openOn:aChangeSet
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
    45
    "create c changes browser on a change set"
205d53e91c52 Initial revision
claus
parents:
diff changeset
    46
45
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    47
    ^ ((self new label:'ChangeSet Browser') changeSet:aChangeSet) open
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
    48
! !
205d53e91c52 Initial revision
claus
parents:
diff changeset
    49
1470
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 224
diff changeset
    50
!ChangeSetBrowser class methodsFor:'defaults'!
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 224
diff changeset
    51
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 224
diff changeset
    52
defaultLabel
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 224
diff changeset
    53
    ^ 'ChangeSet Browser'
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 224
diff changeset
    54
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 224
diff changeset
    55
    "Created: / 6.2.1998 / 13:25:47 / cg"
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 224
diff changeset
    56
! !
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 224
diff changeset
    57
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
    58
!ChangeSetBrowser methodsFor:'initialize / release'!
205d53e91c52 Initial revision
claus
parents:
diff changeset
    59
224
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    60
changeListMenu
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    61
    |labels selectors|
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
    62
224
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    63
    labels := #(
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    64
			     'apply change'
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    65
			     'apply changes to end'
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    66
			     'apply all changes'
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    67
			     '-'
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    68
			     'delete'
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    69
			     'delete to end'
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    70
			     'delete changes for this class to end'
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    71
			     'delete all changes for this class'
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    72
			     '-'
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    73
			     'update'
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    74
"/                             'compress'
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    75
			     'compare with current version'
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    76
			     '-'
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    77
			     'make change a patch'
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    78
"/                             'update sourcefile from change'
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    79
			     '-'
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    80
			     'saveback changeSet'
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    81
		).
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
    82
224
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    83
    selectors := #(
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    84
			     doApply
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    85
			     doApplyRest
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    86
			     doApplyAll
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    87
			     nil
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    88
			     doDelete
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    89
			     doDeleteRest
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    90
			     doDeleteClassRest
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    91
			     doDeleteClassAll
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    92
			     nil
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    93
			     doUpdate
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    94
"/                             doCompress
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    95
			     doCompare
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    96
			     nil
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    97
			     doMakePatch
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    98
"/                             doMakePermanent
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    99
			     nil
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   100
			     doSaveBack
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   101
		).
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   102
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   103
    ^ PopUpMenu 
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   104
	 labels:labels
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   105
	 selectors:selectors
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   106
	 receiver:self
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   107
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   108
    "Created: 3.12.1995 / 18:06:35 / cg"
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   109
    "Modified: 3.12.1995 / 18:13:06 / cg"
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
   110
! !
205d53e91c52 Initial revision
claus
parents:
diff changeset
   111
1474
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   112
!ChangeSetBrowser ignoredMethodsFor:'private'!
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   113
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   114
applyChange:changeNr
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   115
    "fileIn a change"
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   116
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   117
    |nm applyAction|
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   118
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   119
    nm := self classNameOfChange:changeNr.
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   120
    nm notNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   121
        |cls|
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   122
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   123
        cls := Smalltalk at:(nm asSymbol) ifAbsent:[].
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   124
        cls notNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   125
            cls isLoaded ifFalse:[
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   126
                cls autoload
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   127
            ]
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   128
        ]
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   129
    ].
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   130
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   131
    changeNrProcessed := changeNr.
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   132
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   133
    applyAction := [
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   134
        |sig|
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   135
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   136
        (skipSignal notNil) ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   137
            sig := skipSignal
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   138
        ] ifFalse:[
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   139
            sig := Object abortSignal
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   140
        ].
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   141
        sig catch:[
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   142
            |change reader doItChunk methodsForChunk|
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   143
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   144
            (changeSet at:changeNr) applyChange.
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   145
        ].
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   146
        changeNrProcessed := nil.
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   147
    ].
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   148
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   149
    "/
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   150
    "/ if I am showing the changes file, dont update it
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   151
    "/
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   152
    changeFileName = ObjectMemory nameForChanges ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   153
        Class withoutUpdatingChangesDo:applyAction
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   154
    ] ifFalse:[
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   155
        applyAction value
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   156
    ].
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   157
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   158
    "Created: / 7.2.1998 / 19:32:35 / cg"
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   159
    "Modified: / 7.2.1998 / 19:35:11 / cg"
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   160
! !
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   161
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
   162
!ChangeSetBrowser methodsFor:'private'!
205d53e91c52 Initial revision
claus
parents:
diff changeset
   163
1470
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 224
diff changeset
   164
changeIsFollowupMethodChange:changeNr
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 224
diff changeset
   165
    ^ false
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 224
diff changeset
   166
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 224
diff changeset
   167
    "Created: / 6.2.1998 / 13:04:59 / cg"
1474
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   168
    "Modified: / 7.2.1998 / 19:28:52 / cg"
1470
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 224
diff changeset
   169
!
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 224
diff changeset
   170
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
   171
changeSet:aChangeSet
205d53e91c52 Initial revision
claus
parents:
diff changeset
   172
    originalChangeSet := aChangeSet.
205d53e91c52 Initial revision
claus
parents:
diff changeset
   173
    changeSet := OrderedCollection new.
106
claus
parents: 52
diff changeset
   174
    originalChangeSet notNil ifTrue:[
claus
parents: 52
diff changeset
   175
	originalChangeSet do:[:aChange |
claus
parents: 52
diff changeset
   176
	    changeSet add:aChange
claus
parents: 52
diff changeset
   177
	].
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
   178
    ].
205d53e91c52 Initial revision
claus
parents:
diff changeset
   179
!
205d53e91c52 Initial revision
claus
parents:
diff changeset
   180
222
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   181
checkIfFileHasChanged
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   182
    Processor removeTimedBlock:checkBlock.
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   183
    changeSet size ~= originalChangeSet size ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   184
        self newLabel:'(outdated)'.
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   185
        autoUpdate ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   186
            self doUpdate
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   187
        ]
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   188
    ] ifFalse:[
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   189
        self newLabel:''
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   190
    ].
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   191
    Processor addTimedBlock:checkBlock afterSeconds:5.
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   192
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   193
    "Created: 3.12.1995 / 13:52:30 / cg"
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   194
    "Modified: 3.12.1995 / 14:15:06 / cg"
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   195
!
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   196
224
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   197
classNameOfChange:nr
1474
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   198
    ^ (changeSet at:nr) className
224
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   199
1474
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   200
    "Created: / 3.12.1995 / 18:15:56 / cg"
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   201
    "Modified: / 7.2.1998 / 19:24:29 / cg"
224
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   202
!
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   203
1470
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 224
diff changeset
   204
fullClassNameOfChange:nr
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 224
diff changeset
   205
    ^ (changeSet at:nr) className
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 224
diff changeset
   206
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 224
diff changeset
   207
    "Created: / 6.2.1998 / 13:02:25 / cg"
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 224
diff changeset
   208
    "Modified: / 6.2.1998 / 13:07:02 / cg"
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 224
diff changeset
   209
!
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 224
diff changeset
   210
224
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   211
numberOfChanges
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   212
    ^ changeSet size
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   213
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   214
    "Created: 3.12.1995 / 18:15:56 / cg"
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   215
!
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   216
222
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   217
queryCloseText
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   218
	^ 'Quit without updating changeSet ?'
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   219
!
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   220
45
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   221
readChangesFileInBackground:dummy
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
   222
    "read the changeSet, create a list of header-lines"
205d53e91c52 Initial revision
claus
parents:
diff changeset
   223
205d53e91c52 Initial revision
claus
parents:
diff changeset
   224
    changeSet size == 0 ifTrue:[^ nil].
205d53e91c52 Initial revision
claus
parents:
diff changeset
   225
224
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   226
    self newLabel:'updating ...'.
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
   227
    self withCursor:(Cursor read) do:[
45
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   228
	changeChunks := OrderedCollection new.
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   229
	changeHeaderLines := OrderedCollection new.
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
   230
45
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   231
	changeSet do:[:aChange |
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   232
	    changeChunks add:(aChange printString).
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   233
	    changeHeaderLines add:(aChange printString)
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   234
	].
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   235
	changeClassNames := OrderedCollection new:(changeChunks size).
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   236
	anyChanges := false
224
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   237
    ].
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   238
    self newLabel:''.
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   239
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   240
    "Created: 3.12.1995 / 18:02:39 / cg"
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
   241
!
205d53e91c52 Initial revision
claus
parents:
diff changeset
   242
205d53e91c52 Initial revision
claus
parents:
diff changeset
   243
saveBackChanges
205d53e91c52 Initial revision
claus
parents:
diff changeset
   244
    "save back the change set"
205d53e91c52 Initial revision
claus
parents:
diff changeset
   245
205d53e91c52 Initial revision
claus
parents:
diff changeset
   246
    [originalChangeSet isEmpty] whileFalse:[
45
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   247
	originalChangeSet removeLast
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
   248
    ].
205d53e91c52 Initial revision
claus
parents:
diff changeset
   249
    changeSet do:[:aChange |
45
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   250
	originalChangeSet add:aChange
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
   251
    ]
205d53e91c52 Initial revision
claus
parents:
diff changeset
   252
!
205d53e91c52 Initial revision
claus
parents:
diff changeset
   253
1470
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 224
diff changeset
   254
selectorOfMethodChange:changeNr
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 224
diff changeset
   255
    ^ (changeSet at:changeNr) selector
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 224
diff changeset
   256
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 224
diff changeset
   257
    "Created: / 6.2.1998 / 13:28:20 / cg"
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 224
diff changeset
   258
    "Modified: / 6.2.1998 / 13:29:59 / cg"
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 224
diff changeset
   259
!
6c0fc11207fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 224
diff changeset
   260
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
   261
silentDeleteChange:changeNr
205d53e91c52 Initial revision
claus
parents:
diff changeset
   262
    "delete a change do not update changeListView"
205d53e91c52 Initial revision
claus
parents:
diff changeset
   263
1474
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   264
    changeSet removeIndex:changeNr.
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   265
    super silentDeleteChange:changeNr.
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   266
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   267
    "Created: / 3.12.1995 / 18:14:17 / cg"
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   268
    "Modified: / 7.2.1998 / 19:57:57 / cg"
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   269
!
224
1ca3d2486f59 misc fixes
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   270
1474
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   271
silentDeleteInternalChange:changeNr
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   272
    "delete a change do not update changeListView"
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   273
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   274
    changeSet removeIndex:changeNr.
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   275
    super silentDeleteInternalChange:changeNr.
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   276
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   277
    "Modified: / 7.2.1998 / 19:44:45 / cg"
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   278
    "Created: / 7.2.1998 / 19:58:02 / cg"
222
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   279
!
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   280
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   281
streamForChange:changeNr
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   282
    "answer a stream for change"
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   283
1474
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   284
    |change s|
222
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   285
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   286
    change := changeSet at:changeNr.
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   287
    change isNil ifTrue:[^nil].
1474
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   288
    change isMethodChange ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   289
        s := '!!' , change className , 
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   290
             ' methodsFor:''' , change methodCategory , '''!!\' withCRs ,
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   291
             change source , '\' withCRs , '!! !!\' withCRs.
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   292
        ^ ReadStream on:s
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   293
    ].
222
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   294
    ^ ReadStream on:(change source)
1474
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   295
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   296
    "Modified: / 7.2.1998 / 19:52:44 / cg"
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
   297
! !
205d53e91c52 Initial revision
claus
parents:
diff changeset
   298
205d53e91c52 Initial revision
claus
parents:
diff changeset
   299
!ChangeSetBrowser methodsFor:'user actions'!
205d53e91c52 Initial revision
claus
parents:
diff changeset
   300
205d53e91c52 Initial revision
claus
parents:
diff changeset
   301
doSaveBack
205d53e91c52 Initial revision
claus
parents:
diff changeset
   302
    anyChanges ifTrue:[
45
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   303
	self saveBackChanges.
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   304
	self doUpdate
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
   305
    ]
222
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   306
!
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   307
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   308
doUpdate
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   309
    changeSet := OrderedCollection new.
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   310
    originalChangeSet notNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   311
        originalChangeSet do:[:aChange |
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   312
            changeSet add:aChange
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   313
        ].
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   314
    ].
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   315
    super doUpdate
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   316
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   317
    "Created: 3.12.1995 / 13:54:14 / cg"
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
   318
! !
222
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   319
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   320
!ChangeSetBrowser class methodsFor:'documentation'!
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   321
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   322
version
1474
Claus Gittinger <cg@exept.de>
parents: 1470
diff changeset
   323
    ^ '$Header: /cvs/stx/stx/libtool/ChangeSetBrowser.st,v 1.13 1998-02-07 19:01:32 cg Exp $'
222
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   324
! !