DebugView.st
changeset 108 a936f81cc162
parent 107 db1b370632d7
child 110 570a38362ae1
--- a/DebugView.st	Mon Jul 03 04:37:45 1995 +0200
+++ b/DebugView.st	Sun Jul 23 05:19:48 1995 +0200
@@ -29,7 +29,7 @@
 COPYRIGHT (c) 1989 by Claus Gittinger
 	      All Rights Reserved
 
-$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.39 1995-07-03 02:37:11 claus Exp $
+$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.40 1995-07-23 03:18:58 claus Exp $
 '!
 
 !DebugView class methodsFor:'documentation'!
@@ -50,7 +50,7 @@
 
 version
 "
-$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.39 1995-07-03 02:37:11 claus Exp $
+$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.40 1995-07-23 03:18:58 claus Exp $
 "
 !
 
@@ -283,12 +283,24 @@
 	SignalSet anySignal handle:[:ex |
 	    |answer|
 
-	    answer := self confirm:('error in debugger: ' , ex errorString , '\\debug again ?') withCRs. 
-	    answer ifTrue:[
+"/            answer := self confirm:('error in debugger: ' , ex errorString , '\\debug again ?') withCRs. 
+"/            answer ifTrue:[
+"/                Debugger enterUnconditional:(ex suspendedContext) withMessage:'error in debugger: ' , ex errorString.
+"/            ] ifFalse:[
+"/                'ignored error in debugger: ' errorPrint. 
+"/                ex errorString errorPrintNL.
+"/            ].
+	    answer := Dialog 
+			choose:('error in debugger: ' , ex errorString , '\\debug again ?') withCRs
+			labels:#('debug' 'proceed' 'ignore' ) 
+			values:#(#debug #proceed #ignore) 
+			default:#ignore.
+	    answer == #debug ifTrue:[
 		Debugger enterUnconditional:(ex suspendedContext) withMessage:'error in debugger: ' , ex errorString.
-	    ] ifFalse:[
-		'ignored error in debugger: ' errorPrint. 
-		ex errorString errorPrintNL.
+		ex proceed.
+	    ].
+	    answer == #proceed ifTrue:[
+		ex proceed.
 	    ].
 	    ex return.
 	] do:[
@@ -426,6 +438,8 @@
 				'remove all trace & breakpoints'
 				'-'
 				'browse class'
+				'browse class hierarchy'
+				'browse full class protocol'
 				'implementors'
 				'senders'
 				'-'
@@ -459,6 +473,8 @@
 					 removeAllBreakpoints
 					 nil
 					 browseClass
+					 browseClassHierarchy
+					 browseFullClassProtocol
 					 implementors
 					 senders
 					 nil
@@ -1450,7 +1466,8 @@
 		self showMore.
 		contextView selection:lineNr.
 		con := contextArray at:lineNr
-	    ]
+	    ].
+	    con isNil ifTrue:[^ self].
 	].
 
 	"
@@ -1819,6 +1836,20 @@
     SystemBrowser browseClass:(selectedContext method who at:1).
 !
 
+browseClassHierarchy
+    selectedContext isNil ifTrue:[
+	^ self showError:'** select a context first **'
+    ].
+    SystemBrowser browseClassHierarchy:(selectedContext method who at:1).
+!
+
+browseFullClassProtocol
+    selectedContext isNil ifTrue:[
+	^ self showError:'** select a context first **'
+    ].
+    SystemBrowser browseFullClassProtocol:(selectedContext method who at:1).
+!
+
 autoUpdateOff
     "stop the update process"