ChangesBrowser.st
changeset 1127 32383ecaebe4
parent 1109 660b360eb3bc
child 1150 fc05bbed9e43
--- a/ChangesBrowser.st	Mon Apr 07 19:31:29 1997 +0200
+++ b/ChangesBrowser.st	Tue Apr 08 11:02:10 1997 +0200
@@ -191,24 +191,25 @@
     "this method is reached via delegation: are we prepared to handle
      a keyPress in some other view ?"
 
-    <resource: #keyboard (#Delete #BackSpace #Accept #FindPrev #FindNext)>
+    <resource: #keyboard (#Delete #BackSpace #Accept #Find #FindPrev #FindNext)>
 
     view == changeListView ifTrue:[
         (key == #Delete 
         or:[key == #BackSpace
         or:[key == #Accept
+        or:[key == #Find
         or:[key == #FindPrev
-        or:[key == #FindNext]]]]) ifTrue:[^ true].
+        or:[key == #FindNext]]]]]) ifTrue:[^ true].
     ].
     ^ false
 
-    "Modified: 21.1.1997 / 22:16:02 / cg"
+    "Modified: 8.4.1997 / 11:01:42 / cg"
 !
 
 keyPress:key x:x y:y view:view
     "this method is reached via delegation from the changeListView"
 
-    <resource: #keyboard (#Delete #BackSpace #Accept #FindPrev #FindNext)>
+    <resource: #keyboard (#Delete #BackSpace #Accept #Find #FindPrev #FindNext)>
 
     (key == #Delete or:[key == #BackSpace]) ifTrue:[
         self doDelete.
@@ -218,6 +219,10 @@
         self doApply.
         ^ self
     ].
+    (key == #Find) ifTrue:[
+        self findClass.
+        ^ self
+    ].
     (key == #FindPrev) ifTrue:[
         self findPreviousForClass.
         ^ self
@@ -228,7 +233,7 @@
     ].
     changeListView keyPress:key x:x y:y
 
-    "Modified: 21.1.1997 / 22:17:06 / cg"
+    "Modified: 8.4.1997 / 11:01:38 / cg"
 ! !
 
 !ChangesBrowser methodsFor:'help '!
@@ -2358,6 +2363,46 @@
     "Modified: 5.9.1996 / 17:19:46 / cg"
 !
 
+findClass
+    |nm current savedCursor search|
+
+    changeNrShown notNil ifTrue:[
+        current := self classNameOfChange:changeNrShown.
+    ].
+    nm := Dialog request:'class to search for:' initialAnswer:current.
+
+    changeNrShown isNil ifTrue:[
+        search := 1.
+    ] ifFalse:[
+        search := changeNrShown + 1
+    ].
+
+    self withCursor:Cursor questionMark do:[
+        |lastNr cls nr thisClass |
+
+        lastNr := self numberOfChanges.
+        nr := search.
+        [nr <= lastNr] whileTrue:[
+            thisClass := self classNameOfChange:nr.
+            thisClass = nm ifTrue:[
+                changeListView setSelection:nr.
+                self changeSelection:nr.
+                ^ self
+            ].
+            nr := nr + 1.
+        ].
+    ].
+    self beep.
+
+    savedCursor := cursor.
+    self cursor:(Cursor cross).
+    Processor activeProcess millisecondDelay:300.
+    self cursor:savedCursor
+
+    "Created: 8.4.1997 / 11:00:16 / cg"
+    "Modified: 8.4.1997 / 11:00:45 / cg"
+!
+
 findNextForClass
     |savedCursor|
 
@@ -2471,5 +2516,5 @@
 !ChangesBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.108 1997-04-02 16:18:19 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.109 1997-04-08 09:02:10 cg Exp $'
 ! !