allow interrupting a search
authorClaus Gittinger <cg@exept.de>
Wed, 02 Apr 1997 18:18:19 +0200
changeset 1109 660b360eb3bc
parent 1108 75a3e4f9a21a
child 1110 9ec4692e9cda
allow interrupting a search
CBrowser.st
ChangesBrowser.st
--- a/CBrowser.st	Tue Apr 01 14:55:24 1997 +0200
+++ b/CBrowser.st	Wed Apr 02 18:18:19 1997 +0200
@@ -2399,19 +2399,24 @@
     self withCursor:Cursor questionMark do:[
         |cls nr thisClass |
 
-        cls := self classNameOfChange:changeNrShown.
-        cls isNil ifTrue:[^ self].
-
-        nr := changeNrShown - 1.
-        [nr >= 1] whileTrue:[
-            thisClass := self classNameOfChange:nr.
-            thisClass = cls ifTrue:[
-                changeListView setSelection:nr .
-                self changeSelection:nr.
-                ^ self
+        Object userInterruptSignal handle:[:ex |
+            self beep.
+            ^ self
+        ] do:[
+            cls := self classNameOfChange:changeNrShown.
+            cls isNil ifTrue:[^ self].
+
+            nr := changeNrShown - 1.
+            [nr >= 1] whileTrue:[
+                thisClass := self classNameOfChange:nr.
+                thisClass = cls ifTrue:[
+                    changeListView setSelection:nr .
+                    self changeSelection:nr.
+                    ^ self
+                ].
+                nr := nr - 1.
             ].
-            nr := nr - 1.
-        ].
+        ]
     ].
     self beep.
 
@@ -2420,7 +2425,7 @@
     Processor activeProcess millisecondDelay:300.
     self cursor:savedCursor
 
-    "Modified: 21.1.1997 / 22:28:29 / cg"
+    "Modified: 2.4.1997 / 18:17:02 / cg"
 !
 
 noChangesAllowed
@@ -2466,5 +2471,5 @@
 !ChangesBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Attic/CBrowser.st,v 1.107 1997-03-27 11:14:01 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Attic/CBrowser.st,v 1.108 1997-04-02 16:18:19 cg Exp $'
 ! !
--- a/ChangesBrowser.st	Tue Apr 01 14:55:24 1997 +0200
+++ b/ChangesBrowser.st	Wed Apr 02 18:18:19 1997 +0200
@@ -2399,19 +2399,24 @@
     self withCursor:Cursor questionMark do:[
         |cls nr thisClass |
 
-        cls := self classNameOfChange:changeNrShown.
-        cls isNil ifTrue:[^ self].
-
-        nr := changeNrShown - 1.
-        [nr >= 1] whileTrue:[
-            thisClass := self classNameOfChange:nr.
-            thisClass = cls ifTrue:[
-                changeListView setSelection:nr .
-                self changeSelection:nr.
-                ^ self
+        Object userInterruptSignal handle:[:ex |
+            self beep.
+            ^ self
+        ] do:[
+            cls := self classNameOfChange:changeNrShown.
+            cls isNil ifTrue:[^ self].
+
+            nr := changeNrShown - 1.
+            [nr >= 1] whileTrue:[
+                thisClass := self classNameOfChange:nr.
+                thisClass = cls ifTrue:[
+                    changeListView setSelection:nr .
+                    self changeSelection:nr.
+                    ^ self
+                ].
+                nr := nr - 1.
             ].
-            nr := nr - 1.
-        ].
+        ]
     ].
     self beep.
 
@@ -2420,7 +2425,7 @@
     Processor activeProcess millisecondDelay:300.
     self cursor:savedCursor
 
-    "Modified: 21.1.1997 / 22:28:29 / cg"
+    "Modified: 2.4.1997 / 18:17:02 / cg"
 !
 
 noChangesAllowed
@@ -2466,5 +2471,5 @@
 !ChangesBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.107 1997-03-27 11:14:01 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.108 1997-04-02 16:18:19 cg Exp $'
 ! !