ChgSetBrwsr.st
author claus
Thu, 17 Nov 1994 15:47:59 +0100
changeset 52 7b48409ae088
parent 45 950b84ba89e6
child 106 f4eb10b3b463
permissions -rw-r--r--
*** empty log message ***
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
45
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    14
	 instanceVariableNames:'changeSet originalChangeSet'
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    15
	 classVariableNames:''
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    16
	 poolDictionaries:''
950b84ba89e6 *** empty log message ***
claus
parents: 40
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 comment:'
205d53e91c52 Initial revision
claus
parents:
diff changeset
    21
COPYRIGHT (c) 1993 by Claus Gittinger
45
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    22
	      All Rights Reserved
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
    23
52
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
    24
$Header: /cvs/stx/stx/libtool/Attic/ChgSetBrwsr.st,v 1.4 1994-11-17 14:47:59 claus Exp $
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
    25
'!
205d53e91c52 Initial revision
claus
parents:
diff changeset
    26
205d53e91c52 Initial revision
claus
parents:
diff changeset
    27
!ChangeSetBrowser class methodsFor:'documentation'!
205d53e91c52 Initial revision
claus
parents:
diff changeset
    28
205d53e91c52 Initial revision
claus
parents:
diff changeset
    29
copyright
205d53e91c52 Initial revision
claus
parents:
diff changeset
    30
"
205d53e91c52 Initial revision
claus
parents:
diff changeset
    31
 COPYRIGHT (c) 1993 by Claus Gittinger
45
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    32
	      All Rights Reserved
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
    33
205d53e91c52 Initial revision
claus
parents:
diff changeset
    34
 This software is furnished under a license and may be used
205d53e91c52 Initial revision
claus
parents:
diff changeset
    35
 only in accordance with the terms of that license and with the
205d53e91c52 Initial revision
claus
parents:
diff changeset
    36
 inclusion of the above copyright notice.   This software may not
205d53e91c52 Initial revision
claus
parents:
diff changeset
    37
 be provided or otherwise made available to, or used by, any
205d53e91c52 Initial revision
claus
parents:
diff changeset
    38
 other person.  No title to or ownership of the software is
205d53e91c52 Initial revision
claus
parents:
diff changeset
    39
 hereby transferred.
205d53e91c52 Initial revision
claus
parents:
diff changeset
    40
"
205d53e91c52 Initial revision
claus
parents:
diff changeset
    41
!
205d53e91c52 Initial revision
claus
parents:
diff changeset
    42
205d53e91c52 Initial revision
claus
parents:
diff changeset
    43
version
205d53e91c52 Initial revision
claus
parents:
diff changeset
    44
"
52
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
    45
$Header: /cvs/stx/stx/libtool/Attic/ChgSetBrwsr.st,v 1.4 1994-11-17 14:47:59 claus Exp $
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
    46
"
205d53e91c52 Initial revision
claus
parents:
diff changeset
    47
!
205d53e91c52 Initial revision
claus
parents:
diff changeset
    48
205d53e91c52 Initial revision
claus
parents:
diff changeset
    49
documentation
205d53e91c52 Initial revision
claus
parents:
diff changeset
    50
"
205d53e91c52 Initial revision
claus
parents:
diff changeset
    51
    like a changesBrowser, but manipulates the per-project change-lists.
205d53e91c52 Initial revision
claus
parents:
diff changeset
    52
"
205d53e91c52 Initial revision
claus
parents:
diff changeset
    53
! !
205d53e91c52 Initial revision
claus
parents:
diff changeset
    54
205d53e91c52 Initial revision
claus
parents:
diff changeset
    55
!ChangeSetBrowser class methodsFor:'instance creation'!
205d53e91c52 Initial revision
claus
parents:
diff changeset
    56
40
a9ae39be7004 *** empty log message ***
claus
parents: 30
diff changeset
    57
openOn:aChangeSet
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
    58
    "create c changes browser on a change set"
205d53e91c52 Initial revision
claus
parents:
diff changeset
    59
45
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    60
    ^ ((self new label:'ChangeSet Browser') changeSet:aChangeSet) open
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
    61
! !
205d53e91c52 Initial revision
claus
parents:
diff changeset
    62
205d53e91c52 Initial revision
claus
parents:
diff changeset
    63
!ChangeSetBrowser methodsFor:'initialize / release'!
205d53e91c52 Initial revision
claus
parents:
diff changeset
    64
205d53e91c52 Initial revision
claus
parents:
diff changeset
    65
initializeMiddleButtonMenu
205d53e91c52 Initial revision
claus
parents:
diff changeset
    66
    |labels|
205d53e91c52 Initial revision
claus
parents:
diff changeset
    67
205d53e91c52 Initial revision
claus
parents:
diff changeset
    68
    labels := resources array:#(
45
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    69
			       'apply change'
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    70
			       'apply changes to end'
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    71
			       'apply all changes'
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    72
			       '-'
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    73
			       'delete'
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    74
			       'delete to end'
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    75
			       'delete changes for this class to end'
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    76
			       'delete all changes for this class'
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    77
			       '-'
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    78
			       'update'
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    79
			       'compress'
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    80
			       'compare with current version'
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    81
			       '-'
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    82
			       'make change a patch'
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    83
			       'update sourcefile from change'
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    84
			       '-'
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    85
			       'saveback changeSet').
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
    86
205d53e91c52 Initial revision
claus
parents:
diff changeset
    87
    changeListView
45
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    88
	middleButtonMenu:(PopUpMenu 
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    89
			    labels:labels
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    90
			 selectors:#(
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    91
				     doApply
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    92
				     doApplyRest
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    93
				     doApplyAll
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    94
				     nil
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    95
				     doDelete
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    96
				     doDeleteRest
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    97
				     doDeleteClassRest
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    98
				     doDeleteClassAll
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
    99
				     nil
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   100
				     doUpdate
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   101
				     doCompress
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   102
				     doCompare
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   103
				     nil
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   104
				     doMakePatch
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   105
				     doMakePermanent
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   106
				     nil
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   107
				     doSaveBack)
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   108
			  receiver:self
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   109
			       for:changeListView)
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
   110
! !
205d53e91c52 Initial revision
claus
parents:
diff changeset
   111
205d53e91c52 Initial revision
claus
parents:
diff changeset
   112
!ChangeSetBrowser methodsFor:'private'!
205d53e91c52 Initial revision
claus
parents:
diff changeset
   113
205d53e91c52 Initial revision
claus
parents:
diff changeset
   114
queryCloseText
45
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   115
	^ 'Quit without updating changeSet ?'
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
   116
!
205d53e91c52 Initial revision
claus
parents:
diff changeset
   117
205d53e91c52 Initial revision
claus
parents:
diff changeset
   118
streamForChange:changeNr
205d53e91c52 Initial revision
claus
parents:
diff changeset
   119
    "answer a stream for change"
205d53e91c52 Initial revision
claus
parents:
diff changeset
   120
205d53e91c52 Initial revision
claus
parents:
diff changeset
   121
    |change|
205d53e91c52 Initial revision
claus
parents:
diff changeset
   122
205d53e91c52 Initial revision
claus
parents:
diff changeset
   123
    change := changeSet at:changeNr.
205d53e91c52 Initial revision
claus
parents:
diff changeset
   124
    change isNil ifTrue:[^nil].
205d53e91c52 Initial revision
claus
parents:
diff changeset
   125
    ^ ReadStream on:(change source)
205d53e91c52 Initial revision
claus
parents:
diff changeset
   126
!
205d53e91c52 Initial revision
claus
parents:
diff changeset
   127
205d53e91c52 Initial revision
claus
parents:
diff changeset
   128
changeSet:aChangeSet
205d53e91c52 Initial revision
claus
parents:
diff changeset
   129
    originalChangeSet := aChangeSet.
205d53e91c52 Initial revision
claus
parents:
diff changeset
   130
    changeSet := OrderedCollection new.
205d53e91c52 Initial revision
claus
parents:
diff changeset
   131
    originalChangeSet do:[:aChange |
45
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   132
	changeSet add:aChange
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
   133
    ].
205d53e91c52 Initial revision
claus
parents:
diff changeset
   134
!
205d53e91c52 Initial revision
claus
parents:
diff changeset
   135
45
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   136
readChangesFileInBackground:dummy
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
   137
    "read the changeSet, create a list of header-lines"
205d53e91c52 Initial revision
claus
parents:
diff changeset
   138
205d53e91c52 Initial revision
claus
parents:
diff changeset
   139
    changeSet size == 0 ifTrue:[^ nil].
205d53e91c52 Initial revision
claus
parents:
diff changeset
   140
205d53e91c52 Initial revision
claus
parents:
diff changeset
   141
    self withCursor:(Cursor read) do:[
45
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   142
	changeChunks := OrderedCollection new.
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   143
	changeHeaderLines := OrderedCollection new.
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
   144
45
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   145
	changeSet do:[:aChange |
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   146
	    changeChunks add:(aChange printString).
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   147
	    changeHeaderLines add:(aChange printString)
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   148
	].
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   149
	changeClassNames := OrderedCollection new:(changeChunks size).
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   150
	anyChanges := false
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
   151
    ]
205d53e91c52 Initial revision
claus
parents:
diff changeset
   152
!
205d53e91c52 Initial revision
claus
parents:
diff changeset
   153
205d53e91c52 Initial revision
claus
parents:
diff changeset
   154
saveBackChanges
205d53e91c52 Initial revision
claus
parents:
diff changeset
   155
    "save back the change set"
205d53e91c52 Initial revision
claus
parents:
diff changeset
   156
205d53e91c52 Initial revision
claus
parents:
diff changeset
   157
    [originalChangeSet isEmpty] whileFalse:[
45
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   158
	originalChangeSet removeLast
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
   159
    ].
205d53e91c52 Initial revision
claus
parents:
diff changeset
   160
    changeSet do:[:aChange |
45
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   161
	originalChangeSet add:aChange
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
   162
    ]
205d53e91c52 Initial revision
claus
parents:
diff changeset
   163
!
205d53e91c52 Initial revision
claus
parents:
diff changeset
   164
205d53e91c52 Initial revision
claus
parents:
diff changeset
   165
silentDeleteChange:changeNr
205d53e91c52 Initial revision
claus
parents:
diff changeset
   166
    "delete a change do not update changeListView"
205d53e91c52 Initial revision
claus
parents:
diff changeset
   167
205d53e91c52 Initial revision
claus
parents:
diff changeset
   168
    anyChanges := true.
205d53e91c52 Initial revision
claus
parents:
diff changeset
   169
    changeChunks removeIndex:changeNr.
205d53e91c52 Initial revision
claus
parents:
diff changeset
   170
    changeClassNames removeIndex:changeNr.
205d53e91c52 Initial revision
claus
parents:
diff changeset
   171
    changeSet removeIndex:changeNr
205d53e91c52 Initial revision
claus
parents:
diff changeset
   172
! !
205d53e91c52 Initial revision
claus
parents:
diff changeset
   173
205d53e91c52 Initial revision
claus
parents:
diff changeset
   174
!ChangeSetBrowser methodsFor:'user actions'!
205d53e91c52 Initial revision
claus
parents:
diff changeset
   175
205d53e91c52 Initial revision
claus
parents:
diff changeset
   176
doSaveBack
205d53e91c52 Initial revision
claus
parents:
diff changeset
   177
    anyChanges ifTrue:[
45
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   178
	self saveBackChanges.
950b84ba89e6 *** empty log message ***
claus
parents: 40
diff changeset
   179
	self doUpdate
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
   180
    ]
205d53e91c52 Initial revision
claus
parents:
diff changeset
   181
! !