preps for ignorable method wraps
authorClaus Gittinger <cg@exept.de>
Sat, 14 Aug 2010 12:56:01 +0200
changeset 9547 ed64e5a20acf
parent 9546 f28ed3386f64
child 9548 05f790048963
preps for ignorable method wraps
DebugView.st
--- a/DebugView.st	Sat Aug 14 12:06:29 2010 +0200
+++ b/DebugView.st	Sat Aug 14 12:56:01 2010 +0200
@@ -30,7 +30,8 @@
 		methodCodeToggleSelectionHolder'
 	classVariableNames:'CachedDebugger CachedExclusive OpenDebuggers MoreDebuggingDetail
 		DebuggingDebugger DefaultDebuggerBackgroundColor
-		InitialNChainShown IgnoredHalts ShowThreadID'
+		InitialNChainShown IgnoredHalts ShowThreadID LastIgnoreHaltNTimes
+		LastIgnoreHaltDuration'
 	poolDictionaries:''
 	category:'Interface-Debugger'
 !
@@ -843,19 +844,19 @@
                  (Menu
                     (
                      (MenuItem
-                        enabled: isStoppedAtHaltOrBreakPoint
+                        enabled: isStoppedAtHaltOrBreakPointOrSelectedContextIsWrapped
                         label: 'Forever (Until Ignoring is Stopped)'
                         itemValue: ignoreHaltForever
                         translateLabel: true
                       )
                      (MenuItem
-                        enabled: isStoppedAtHaltOrBreakPoint
+                        enabled: isStoppedAtHaltOrBreakPointOrSelectedContextIsWrapped
                         label: 'For the Next N Times...'
                         itemValue: openIgnoreHaltNTimesDialog
                         translateLabel: true
                       )
                      (MenuItem
-                        enabled: isStoppedAtHaltOrBreakPoint
+                        enabled: isStoppedAtHaltOrBreakPointOrSelectedContextIsWrapped
                         label: 'For Some Time...'
                         itemValue: openIgnoreHaltUntilTimeElapsedDialog
                         translateLabel: true
@@ -4257,6 +4258,10 @@
     ^ isStoppedAtHaltOrBreakPoint
 !
 
+isStoppedAtHaltOrBreakPointOrSelectedContextIsWrapped
+    ^ isStoppedAtHaltOrBreakPoint or:[self selectedContextIsWrapped]
+!
+
 middleButtonMenu
     <resource: #programMenu >
 
@@ -4372,11 +4377,14 @@
     |answer n|
 
     [
-        answer := Dialog request:'How often should this halt be ignored ?'.
+        answer := Dialog 
+                    request:(resources string:'How often should this halt be ignored ?')
+                    initialAnswer:(LastIgnoreHaltNTimes ? '') printString.
         answer isEmptyOrNil ifTrue:[^ self].
 
         n := Integer readFrom:answer onError:nil.
         n notNil ifTrue:[
+            LastIgnoreHaltNTimes := n.
             self addIgnoredHaltForCount:n orTimeDuration:nil.
             ^ self.
         ].
@@ -4387,11 +4395,14 @@
     |answer dT|
 
     [
-        answer := Dialog request:'How long should this halt/breakpoint be ignored (s/m/h) ?'.
+        answer := Dialog 
+                    request:(resources string:'How long should this halt/breakpoint be ignored (s/m/h) ?')
+                    initialAnswer:(LastIgnoreHaltDuration ? '') printString.
         answer isEmptyOrNil ifTrue:[^ self].
 
         dT := TimeDuration readFrom:answer onError:[ nil ].
         dT notNil ifTrue:[
+            LastIgnoreHaltDuration := dT.
             self addIgnoredHaltForCount:nil orTimeDuration:dT.
             ^ self.
         ].
@@ -4482,6 +4493,19 @@
     "Modified: / 13.1.1998 / 00:24:47 / cg"
 !
 
+selectedContextIsWrapped
+    |con mthd|
+
+    contextView selection notNil ifTrue:[
+        (contextView selectionValue startsWith:'**') ifFalse:[
+            con := contextArray at:(contextView selection).
+            mthd := con methodHome method.
+            ^ mthd notNil and:[mthd isWrapped]
+        ]
+    ].
+    ^ false.
+!
+
 showDenseWalkback
     |m|
 
@@ -6952,11 +6976,11 @@
 !DebugView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.502 2010-07-09 09:07:47 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.503 2010-08-14 10:56:01 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.502 2010-07-09 09:07:47 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.503 2010-08-14 10:56:01 cg Exp $'
 ! !
 
 DebugView initialize!