added:
authorClaus Gittinger <cg@exept.de>
Mon, 26 Oct 2009 11:47:58 +0100
changeset 9079 8f59fc950e8f
parent 9078 a5b4f1a443f5
child 9080 dca24ca8a31f
added: #reenableHalt #selectedItemIsIgnoredHalt changed: #filter #itemMenu
Tools__BreakpointBrowser.st
--- a/Tools__BreakpointBrowser.st	Mon Oct 26 11:46:01 2009 +0100
+++ b/Tools__BreakpointBrowser.st	Mon Oct 26 11:47:58 2009 +0100
@@ -25,7 +25,7 @@
 !
 
 Object subclass:#BreakpointListEntry
-	instanceVariableNames:'type arg className selector lineNumber info enabled'
+	instanceVariableNames:'type ignoredInfo arg className selector lineNumber info enabled'
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:BreakpointBrowser
@@ -204,7 +204,7 @@
 
     <resource: #menu>
 
-    ^
+    ^ 
      #(Menu
         (
          (MenuItem
@@ -212,6 +212,15 @@
             itemValue: browseSelectedItem
             translateLabel: true
           )
+         (MenuItem
+            label: '-'
+          )
+         (MenuItem
+            enabled: selectedItemIsIgnoredHalt
+            label: 'No longer Ignore this Halt'
+            itemValue: reenableHalt
+            translateLabel: true
+          )
          )
         nil
         nil
@@ -826,6 +835,14 @@
     "Created: / 22-10-2006 / 02:00:41 / cg"
 !
 
+selectedItemIsIgnoredHalt
+    |entry info|
+
+    entry := (self breakpointListEntryAtIndex:self selectionIndexHolder value).
+    info := Debugger haltIgnoreInformationFor:(entry method) atLineNr:(entry lineNumber).
+    ^ info notNil and:[ info isHaltIgnored ].
+!
+
 selectionIndexHolder
     selectionIndexHolder isNil ifTrue:[
 	selectionIndexHolder := nil asValue.
@@ -935,12 +952,16 @@
             newList := newList reject:[:entry | 
                 entry isHalt
                 and:[
-                    |showInList isIgnored|
+                    |showInList isIgnored info|
+
+                    entry ignoredInfo:nil.
 
                     showInList := true.
-                    isIgnored := Debugger isHaltToBeIgnoredIn:entry method atLineNr:entry lineNumber.
+                    info := Debugger haltIgnoreInformationFor:(entry method) atLineNr:(entry lineNumber).
+                    isIgnored := info notNil and:[ info isHaltIgnored ].
                     showWhichHalt == #ignored ifTrue:[
-                        showInList := isIgnored
+                        showInList := isIgnored.
+                        isIgnored ifTrue:[ entry ignoredInfo:info haltIgnoredInfoString ].
                     ] ifFalse:[
                         showInList := isIgnored not
                     ].
@@ -1305,6 +1326,14 @@
     ].
 !
 
+reenableHalt
+    |entry|
+
+    entry := (self breakpointListEntryAtIndex:self selectionIndexHolder value).
+    Debugger ignoreHaltIn:(entry method) at:(entry lineNumber) forCount:nil orTimeDuration:nil.
+    self updateShownBreakpointList
+!
+
 removeItem
     breakpointList remove:(self selectedBreakpointListEntry)
 
@@ -1574,8 +1603,16 @@
     ^ enabled
 !
 
+ignoredInfo
+    ^ ignoredInfo
+!
+
+ignoredInfo:something
+    ignoredInfo := something.
+!
+
 info
-    ^ info
+    ^ ignoredInfo ? info
 !
 
 lineNumber
@@ -1708,11 +1745,11 @@
 !BreakpointBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__BreakpointBrowser.st,v 1.16 2009-10-26 10:10:41 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__BreakpointBrowser.st,v 1.17 2009-10-26 10:47:58 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__BreakpointBrowser.st,v 1.16 2009-10-26 10:10:41 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__BreakpointBrowser.st,v 1.17 2009-10-26 10:47:58 cg Exp $'
 ! !
 
 BreakpointBrowser initialize!