--- a/CBrowser.st Wed Jan 28 13:22:25 1998 +0100
+++ b/CBrowser.st Wed Jan 28 13:33:28 1998 +0100
@@ -1821,18 +1821,22 @@
!
silentDeleteChangesFor:aClassName from:start to:stop
- "delete changes for a given class in a range"
-
- |thisClassName index|
-
+ "delete changes for a given class in a range.
+ Return the number of deleted changes."
+
+ |thisClassName index numDeleted|
+
+ numDeleted := 0.
index := stop.
[index >= start] whileTrue:[
- thisClassName := self classNameOfChange:index.
- thisClassName = aClassName ifTrue:[
- self silentDeleteChange:index
- ].
- index := index - 1
- ]
+ thisClassName := self classNameOfChange:index.
+ thisClassName = aClassName ifTrue:[
+ self silentDeleteChange:index.
+ numDeleted := numDeleted + 1.
+ ].
+ index := index - 1
+ ].
+ ^ numDeleted
!
@@ -2247,17 +2251,21 @@
"delete all changes with same class as currently selected change"
self withSelectedChangeDo:[:changeNr |
- | classNameToDelete |
-
- classNameToDelete := self classNameOfChange:changeNr.
- classNameToDelete notNil ifTrue:[
- changeListView setSelection:nil.
- self silentDeleteChangesFor:classNameToDelete
- from:1
- to:(self numberOfChanges).
- self setChangeList.
- self autoSelectOrEnd:changeNr
- ]
+ |classNameToDelete numDeletedBefore|
+
+ classNameToDelete := self classNameOfChange:changeNr.
+ classNameToDelete notNil ifTrue:[
+ changeListView setSelection:nil.
+ self silentDeleteChangesFor:classNameToDelete
+ from:changeNr
+ to:(self numberOfChanges).
+ numDeletedBefore := self
+ silentDeleteChangesFor:classNameToDelete
+ from:1
+ to:changeNr.
+ self setChangeList.
+ self autoSelectOrEnd:(changeNr - numDeletedBefore)
+ ]
]
"Created: 13.12.1995 / 16:07:14 / cg"
@@ -2270,18 +2278,20 @@
Useful to get rid of obsolete changes before a fileout or checkin entry."
self withSelectedChangeDo:[:changeNr |
- | classNameToDelete |
-
- classNameToDelete := self classNameOfChange:changeNr.
- classNameToDelete notNil ifTrue:[
- changeListView setSelection:nil.
- self silentDeleteChangesFor:classNameToDelete
- from:1
- to:changeNr.
- self setChangeList.
- self autoSelectOrEnd:changeNr
- ]
- ]
+ |classNameToDelete prevSelection numDeleted|
+
+ classNameToDelete := self classNameOfChange:changeNr.
+ classNameToDelete notNil ifTrue:[
+ prevSelection := changeNr.
+ changeListView setSelection:nil.
+ numDeleted := self
+ silentDeleteChangesFor:classNameToDelete
+ from:1
+ to:changeNr.
+ self setChangeList.
+ self autoSelectOrEnd:(changeNr + 1 - numDeleted)
+ ]
+ ].
"Created: 13.12.1995 / 15:41:58 / cg"
"Modified: 25.5.1996 / 12:26:34 / cg"
@@ -2659,5 +2669,5 @@
!ChangesBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Attic/CBrowser.st,v 1.123 1998-01-28 12:22:25 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Attic/CBrowser.st,v 1.124 1998-01-28 12:33:28 cg Exp $'
! !
--- a/ChangesBrowser.st Wed Jan 28 13:22:25 1998 +0100
+++ b/ChangesBrowser.st Wed Jan 28 13:33:28 1998 +0100
@@ -1821,18 +1821,22 @@
!
silentDeleteChangesFor:aClassName from:start to:stop
- "delete changes for a given class in a range"
-
- |thisClassName index|
-
+ "delete changes for a given class in a range.
+ Return the number of deleted changes."
+
+ |thisClassName index numDeleted|
+
+ numDeleted := 0.
index := stop.
[index >= start] whileTrue:[
- thisClassName := self classNameOfChange:index.
- thisClassName = aClassName ifTrue:[
- self silentDeleteChange:index
- ].
- index := index - 1
- ]
+ thisClassName := self classNameOfChange:index.
+ thisClassName = aClassName ifTrue:[
+ self silentDeleteChange:index.
+ numDeleted := numDeleted + 1.
+ ].
+ index := index - 1
+ ].
+ ^ numDeleted
!
@@ -2247,17 +2251,21 @@
"delete all changes with same class as currently selected change"
self withSelectedChangeDo:[:changeNr |
- | classNameToDelete |
-
- classNameToDelete := self classNameOfChange:changeNr.
- classNameToDelete notNil ifTrue:[
- changeListView setSelection:nil.
- self silentDeleteChangesFor:classNameToDelete
- from:1
- to:(self numberOfChanges).
- self setChangeList.
- self autoSelectOrEnd:changeNr
- ]
+ |classNameToDelete numDeletedBefore|
+
+ classNameToDelete := self classNameOfChange:changeNr.
+ classNameToDelete notNil ifTrue:[
+ changeListView setSelection:nil.
+ self silentDeleteChangesFor:classNameToDelete
+ from:changeNr
+ to:(self numberOfChanges).
+ numDeletedBefore := self
+ silentDeleteChangesFor:classNameToDelete
+ from:1
+ to:changeNr.
+ self setChangeList.
+ self autoSelectOrEnd:(changeNr - numDeletedBefore)
+ ]
]
"Created: 13.12.1995 / 16:07:14 / cg"
@@ -2270,18 +2278,20 @@
Useful to get rid of obsolete changes before a fileout or checkin entry."
self withSelectedChangeDo:[:changeNr |
- | classNameToDelete |
-
- classNameToDelete := self classNameOfChange:changeNr.
- classNameToDelete notNil ifTrue:[
- changeListView setSelection:nil.
- self silentDeleteChangesFor:classNameToDelete
- from:1
- to:changeNr.
- self setChangeList.
- self autoSelectOrEnd:changeNr
- ]
- ]
+ |classNameToDelete prevSelection numDeleted|
+
+ classNameToDelete := self classNameOfChange:changeNr.
+ classNameToDelete notNil ifTrue:[
+ prevSelection := changeNr.
+ changeListView setSelection:nil.
+ numDeleted := self
+ silentDeleteChangesFor:classNameToDelete
+ from:1
+ to:changeNr.
+ self setChangeList.
+ self autoSelectOrEnd:(changeNr + 1 - numDeleted)
+ ]
+ ].
"Created: 13.12.1995 / 15:41:58 / cg"
"Modified: 25.5.1996 / 12:26:34 / cg"
@@ -2659,5 +2669,5 @@
!ChangesBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.123 1998-01-28 12:22:25 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.124 1998-01-28 12:33:28 cg Exp $'
! !