--- a/UndoSupport.st Wed Feb 23 13:33:40 2005 +0100
+++ b/UndoSupport.st Fri Feb 25 12:00:07 2005 +0100
@@ -13,14 +13,15 @@
"{ Package: 'stx:libbasic2' }"
Object subclass:#UndoSupport
- instanceVariableNames:'actionPerformer transaction undoList redoList'
+ instanceVariableNames:'actionPerformer transaction undoList redoList
+ infoOfCurrentTransaction'
classVariableNames:''
poolDictionaries:''
category:'Views-Text'
!
Object subclass:#CompoundAction
- instanceVariableNames:'actions'
+ instanceVariableNames:'actions userFriendlyInfo'
classVariableNames:''
poolDictionaries:''
privateIn:UndoSupport
@@ -75,6 +76,12 @@
^ self basicNew initialize.
! !
+!UndoSupport methodsFor:'accessing'!
+
+actionInfo:aString
+ infoOfCurrentTransaction := aString
+! !
+
!UndoSupport methodsFor:'initialization'!
actionPerformer:something
@@ -100,13 +107,18 @@
!
closeTransactionAndAddTo:aList
+ |actionToAdd|
+
transaction notEmptyOrNil ifTrue:[
- transaction size == 1 ifTrue:[
- aList add:transaction first
+ (transaction size == 1 and:[infoOfCurrentTransaction isNil]) ifTrue:[
+ actionToAdd := transaction first
] ifFalse:[
- aList add:(CompoundAction new actions:transaction)
- ]
+ actionToAdd := (CompoundAction new actions:transaction).
+ actionToAdd info:infoOfCurrentTransaction.
+ ].
+ aList add:actionToAdd.
].
+ infoOfCurrentTransaction := nil.
transaction := nil
!
@@ -178,6 +190,16 @@
].
! !
+!UndoSupport::CompoundAction methodsFor:'accessing'!
+
+info
+ ^ userFriendlyInfo
+!
+
+info:aString
+ userFriendlyInfo := aString
+! !
+
!UndoSupport::CompoundAction methodsFor:'adding'!
actions:aCollection
@@ -195,14 +217,10 @@
executeIn:editor
actions reverseDo:[:each | each executeIn:editor ]
-!
-
-info
- ^ actions first info , '..'
! !
!UndoSupport class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic2/UndoSupport.st,v 1.3 2005-02-02 11:03:17 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic2/UndoSupport.st,v 1.4 2005-02-25 11:00:07 cg Exp $'
! !