# HG changeset patch # User Claus Gittinger # Date 1109329207 -3600 # Node ID 6384f91af636fe57bbdac40d95d7c8dd3bf54c75 # Parent 57f7055351d681a721f9cd5e97da2a4d14f746a2 better info of replace action (compound-undo-action has info, too) diff -r 57f7055351d6 -r 6384f91af636 UndoSupport.st --- 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 $' ! !