--- a/ChangesBrowser.st Sun May 31 11:26:27 2015 +0200
+++ b/ChangesBrowser.st Thu Jun 04 19:23:43 2015 +0200
@@ -2531,6 +2531,12 @@
"Created: / 20-11-2006 / 16:37:56 / cg"
!
+findFirstForClass:className
+ "findNextForClass menu action: select the next change for the selected changes class"
+
+ self findNextForClass:className startingAt:1
+!
+
findLastForClass
"findPreviousForClass menu action: select the previous change for the selected changes class"
@@ -2539,6 +2545,14 @@
"Created: / 20-11-2006 / 16:39:15 / cg"
!
+findLastForClass:className
+ "findPreviousForClass menu action: select the previous change for the selected changes class"
+
+ self findPreviousForClass:className startingAt:(self numberOfChanges)
+
+ "Created: / 20-11-2006 / 16:39:15 / cg"
+!
+
findLastSnapshot
"findLastSnapshot menu action: select the last change which is for a snapShot-image save action"
@@ -2597,6 +2611,22 @@
"Modified: / 20-11-2006 / 16:37:49 / cg"
!
+findNextForClass:className startingAt:startNr
+ "findNextForClass menu action: select the next change for the selected changes class"
+
+ lastSearchType := #class.
+
+ self
+ findNextForWhich:[:changeNr |
+ |thisClass|
+
+ thisClass := self classNameOfChange:changeNr.
+ (thisClass = className
+ or:[className includesMatchCharacters
+ and:[className match:thisClass]])]
+ startingAt:startNr
+!
+
findNextForClassStartingAt:startNr
"findNextForClass menu action: select the next change for the selected changes class"
@@ -2607,15 +2637,7 @@
cls := self classNameOfChange:changeNrShown.
cls isNil ifTrue:[^ self].
-
- self
- findNextForWhich:[:changeNr |
- |thisClass|
-
- thisClass := self classNameOfChange:changeNr.
- (thisClass = cls
- or:[cls includesMatchCharacters and:[cls match:thisClass]])]
- startingAt:startNr
+ self findNextForClass:cls startingAt:startNr.
"Created: / 20-11-2006 / 16:37:37 / cg"
!
@@ -2784,6 +2806,23 @@
"Modified: / 20-11-2006 / 16:39:04 / cg"
!
+findPreviousForClass:className startingAt:startNr
+ "findPreviousForClass menu action: select the previous change for the selected changes class"
+
+ lastSearchType := #class.
+
+ self
+ findPreviousForWhich:
+ [:changeNr |
+ |thisClass|
+
+ thisClass := self classNameOfChange:changeNr.
+ (thisClass = className
+ or:[className includesMatchCharacters
+ and:[className match:thisClass]])]
+ startingAt:startNr
+!
+
findPreviousForClassStartingAt:startNr
"findPreviousForClass menu action: select the previous change for the selected changes class"
@@ -2795,15 +2834,7 @@
cls := self classNameOfChange:changeNrShown.
cls isNil ifTrue:[^ self].
- self
- findPreviousForWhich:
- [:changeNr |
- |thisClass|
-
- thisClass := self classNameOfChange:changeNr.
- (thisClass = cls
- or:[cls includesMatchCharacters and:[cls match:thisClass]])]
- startingAt:startNr
+ self findPreviousForClass:cls startingAt:startNr
"Created: / 20-11-2006 / 16:38:37 / cg"
!
@@ -5629,26 +5660,34 @@
|searchString directionHolder searchBlock|
searchString := self
- askForSearchString:msg
- initialAnswer:initial
- directionInto:(directionHolder := ValueHolder new).
+ askForSearchString:msg
+ initialAnswer:initial
+ directionInto:(directionHolder := ValueHolder new).
searchString isNil ifTrue:[
- ^ cancelBlock value
- ].
-
+ ^ cancelBlock value
+ ].
+ directionHolder value == #first ifTrue:[
+ self findFirstForClass:searchString.
+ ^ self.
+ ].
+ directionHolder value == #last ifTrue:[
+ self findLastForClass:searchString.
+ ^ self.
+ ].
+
searchBlock := [:changeNr | searchBlock2 value:searchString value:changeNr].
directionHolder value == #backward ifTrue:[
- changeNrShown isNil ifTrue:[
- changeNrShown := self numberOfChanges.
- ].
- self findPreviousForWhich:searchBlock
+ changeNrShown isNil ifTrue:[
+ changeNrShown := self numberOfChanges.
+ ].
+ self findPreviousForWhich:searchBlock
] ifFalse:[
- changeNrShown isNil ifTrue:[
- changeNrShown := 0.
- ].
- self findNextForWhich:searchBlock
+ changeNrShown isNil ifTrue:[
+ changeNrShown := 0.
+ ].
+ self findNextForWhich:searchBlock
].
!
@@ -5661,12 +5700,22 @@
"/ take a normal request box, but add an additional 'previous' button
Dialog modifyingBoxWith:[:box |
- |nextButton prevButton|
+ |nextButton prevButton firstButton lastButton|
nextButton := box okButton.
+
+ firstButton := Button label:(resources string:'First').
+ firstButton action:[direction := #first. box okPressed.].
+ box addButton:firstButton after:nextButton.
+
+ lastButton := Button label:(resources string:'Last').
+ lastButton action:[direction := #last. box okPressed.].
+ box addButton:lastButton after:nextButton.
+
prevButton := Button label:(resources string:'Previous').
prevButton action:[direction := #backward. box okPressed.].
box addButton:prevButton after:nextButton.
+
nextButton label:(resources string:'Next').
] do:[
searchString := Dialog
@@ -6554,10 +6603,10 @@
!ChangesBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.473 2015-05-20 10:28:51 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.474 2015-06-04 17:23:43 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.473 2015-05-20 10:28:51 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.474 2015-06-04 17:23:43 cg Exp $'
! !