--- a/Tools__BreakpointBrowser.st Fri Nov 30 14:25:59 2012 +0000
+++ b/Tools__BreakpointBrowser.st Fri Nov 30 17:23:39 2012 +0000
@@ -17,8 +17,9 @@
instanceVariableNames:'updatingLabelShown breakpointList shownCopyOfBreakpointList
selectionIndexHolder currentSortColumn currentSortIsReverse
showHalts showOthers showAssertions showCodeBreakpoints
- showCodeBreakpointsFor showMethodBreakpoints showDebugCode
- codeView infoHolder updateProcess showWhichHaltsHolder'
+ showCodeBreakpointsFor showMethodBreakpoints showLineBreakpoints
+ showDebugCode codeView infoHolder updateProcess
+ showWhichHaltsHolder'
classVariableNames:'MessagesAndTypes'
poolDictionaries:''
category:'Interface-Smalltalk-Breakpoints'
@@ -31,6 +32,13 @@
privateIn:BreakpointBrowser
!
+BreakpointBrowser::BreakpointListEntry subclass:#BreakpointListEntryForLineBreak
+ instanceVariableNames:'breakPoint'
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:BreakpointBrowser
+!
+
RBProgramNodeVisitor subclass:#MessageArgumentExtractor
instanceVariableNames:'callBack selectorToSearch'
classVariableNames:''
@@ -154,7 +162,7 @@
hasHorizontalScrollBar: true
hasVerticalScrollBar: true
hasKeyboardFocusInitially: false
- viewClassName: 'CodeView'
+ viewClassName: 'codeViewClass'
postBuildCallback: postBuildCodeView:
)
)
@@ -167,7 +175,7 @@
name: 'Label1'
layout: (LayoutFrame 0 0 40 0 0 1 0 1)
visibilityChannel: updatingLabelShown
- backgroundColor: (Color 100.0 49.999237048905 49.999237048905)
+ backgroundColor: (Color 100.0 49.9992370489052 49.9992370489052)
translateLabel: true
)
(ViewSpec
@@ -205,6 +213,7 @@
"Do not manually edit this!! If it is corrupted,
the MenuEditor may not be able to read the specification."
+
"
MenuEditor new openOnClass:Tools::BreakpointBrowser andSelector:#itemMenu
(Menu new fromLiteralArrayEncoding:(Tools::BreakpointBrowser itemMenu)) startUp
@@ -218,7 +227,6 @@
(MenuItem
label: 'Browse'
itemValue: browseSelectedItem
- translateLabel: true
)
(MenuItem
label: '-'
@@ -227,7 +235,11 @@
enabled: selectedItemIsIgnoredHalt
label: 'Stop Ignoring this Halt'
itemValue: reenableHalt
- translateLabel: true
+ )
+ (MenuItem
+ enabled: selectedItemIsEnabledLineBreak
+ label: 'Disable this Breakpoint'
+ itemValue: disableLineBreak
)
)
nil
@@ -242,6 +254,7 @@
"Do not manually edit this!! If it is corrupted,
the MenuEditor may not be able to read the specification."
+
"
MenuEditor new openOnClass:Tools::BreakpointBrowser andSelector:#mainMenu
(Menu new fromLiteralArrayEncoding:(Tools::BreakpointBrowser mainMenu)) startUp
@@ -254,14 +267,12 @@
(
(MenuItem
label: 'File'
- translateLabel: true
submenu:
(Menu
(
(MenuItem
label: 'Exit'
itemValue: closeRequest
- translateLabel: true
)
)
nil
@@ -270,7 +281,6 @@
)
(MenuItem
label: 'Selection'
- translateLabel: true
submenu:
(Menu
(
@@ -278,7 +288,6 @@
enabled: hasSelectionHolder
label: 'Browse'
itemValue: browseSelectedItem
- translateLabel: true
)
)
nil
@@ -287,14 +296,13 @@
)
(MenuItem
label: 'View'
- translateLabel: true
submenu:
(Menu
(
(MenuItem
- label: 'Update List'
- itemValue: updateList
- translateLabel: true
+ label: 'Toggle all'
+ itemValue: toggleAllShownTypes
+ hideMenuOnActivated: false
)
(MenuItem
label: '-'
@@ -302,42 +310,36 @@
(MenuItem
label: 'Assertions'
itemValue: showAssertions:
- translateLabel: true
hideMenuOnActivated: false
indication: showAssertions
)
(MenuItem
label: 'Halts'
itemValue: showHalts:
- translateLabel: true
hideMenuOnActivated: false
indication: showHalts
)
(MenuItem
enabled: showHalts
label: ' '
- translateLabel: true
submenu:
(Menu
(
(MenuItem
label: 'All Halts'
nameKey: AllHalts
- translateLabel: true
choice: showWhichHaltsHolder
choiceValue: all
)
(MenuItem
label: 'Enabled Halts'
nameKey: EnabledHalts
- translateLabel: true
choice: showWhichHaltsHolder
choiceValue: enabled
)
(MenuItem
label: 'Ignored Halts'
nameKey: IgnoredHalts
- translateLabel: true
choice: showWhichHaltsHolder
choiceValue: ignored
)
@@ -347,29 +349,25 @@
)
)
(MenuItem
- label: 'Code Breakpoints'
+ label: 'Coded Breakpoints'
itemValue: showCodeBreakpoints:
- translateLabel: true
hideMenuOnActivated: false
indication: showCodeBreakpoints
)
(MenuItem
enabled: showCodeBreakpoints
label: ' '
- translateLabel: true
submenuChannel: codeBreakpointMenu
)
(MenuItem
label: 'Debug Code'
itemValue: showDebugCode:
- translateLabel: true
hideMenuOnActivated: false
indication: showDebugCode
)
(MenuItem
label: 'Other Debug Messages'
itemValue: showOthers:
- translateLabel: true
hideMenuOnActivated: false
indication: showOthers
)
@@ -379,10 +377,22 @@
(MenuItem
label: 'Method Breakpoints'
itemValue: showMethodBreakpoints:
- translateLabel: true
hideMenuOnActivated: false
indication: showMethodBreakpoints
)
+ (MenuItem
+ label: 'Line Breakpoints'
+ itemValue: showLineBreakpoints:
+ hideMenuOnActivated: false
+ indication: showLineBreakpoints
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ label: 'Update List'
+ itemValue: updateList
+ )
)
nil
nil
@@ -390,21 +400,18 @@
)
(MenuItem
label: 'Enable'
- translateLabel: true
submenu:
(Menu
(
(MenuItem
label: 'Assertions'
itemValue: enableAssertions:
- translateLabel: true
hideMenuOnActivated: false
indication: enableAssertions
)
(MenuItem
label: 'Halts'
itemValue: enableHalts:
- translateLabel: true
hideMenuOnActivated: false
indication: enableHalts
)
@@ -412,8 +419,7 @@
label: '-'
)
(MenuItem
- label: 'Code Breakpoints'
- translateLabel: true
+ label: 'Coded Breakpoints'
submenuChannel: enabledCodeBreakpointMenu
)
)
@@ -423,7 +429,6 @@
)
(MenuItem
label: 'Help'
- translateLabel: true
startGroup: right
submenu:
(Menu
@@ -431,7 +436,6 @@
(MenuItem
label: 'Documentation'
itemValue: openDocumentation
- translateLabel: true
)
(MenuItem
label: '-'
@@ -439,7 +443,6 @@
(MenuItem
label: 'About this Application...'
itemValue: openAboutThisApplication
- translateLabel: true
)
)
nil
@@ -459,6 +462,7 @@
"Do not manually edit this!! If it is corrupted,
the MenuEditor may not be able to read the specification."
+
"
MenuEditor new openOnClass:Tools::BreakpointBrowser andSelector:#toolBarMenu
(Menu new fromLiteralArrayEncoding:(Tools::BreakpointBrowser toolBarMenu)) startUp
@@ -466,13 +470,12 @@
<resource: #menu>
- ^
+ ^
#(Menu
(
(MenuItem
label: 'Update List'
itemValue: updateList
- translateLabel: true
isButton: true
labelImage: (ResourceRetriever ToolbarIconLibrary reloadIcon)
)
@@ -483,7 +486,6 @@
enabled: hasSelectionHolder
label: 'Browse Selected Method'
itemValue: browseSelectedItem
- translateLabel: true
isButton: true
labelImage: (ResourceRetriever ToolbarIconLibrary startNewSystemBrowserIcon)
)
@@ -491,8 +493,6 @@
nil
nil
)
-
- "Modified: / 08-11-2011 / 16:43:49 / cg"
! !
!BreakpointBrowser class methodsFor:'tableColumns specs'!
@@ -782,7 +782,7 @@
!
messagesAndTypes
- "the spec of selectors to offer"
+ "the spec of selectors to search for coded breakpoints"
^ MessagesAndTypes
!
@@ -849,6 +849,13 @@
"Created: / 22-10-2006 / 02:00:41 / cg"
!
+selectedItemIsEnabledLineBreak
+ |entry|
+
+ entry := (self breakpointListEntryAtIndex:self selectionIndexHolder value).
+ ^ entry isLineBreakpoint and:[entry breakPoint isEnabled]
+!
+
selectedItemIsIgnoredHalt
|entry info|
@@ -903,6 +910,15 @@
self updateShownBreakpointList
!
+showLineBreakpoints
+ ^ showLineBreakpoints ? true
+!
+
+showLineBreakpoints:aBoolean
+ showLineBreakpoints := aBoolean.
+ self updateShownBreakpointList
+!
+
showMethodBreakpoints
^ showMethodBreakpoints ? true
!
@@ -964,6 +980,9 @@
self showMethodBreakpoints ifFalse:[
newList := newList reject:[:entry | entry isMethodBreakpoint].
].
+ self showLineBreakpoints ifFalse:[
+ newList := newList reject:[:entry | entry isLineBreakpoint].
+ ].
self showAssertions ifFalse:[
newList := newList reject:[:entry | entry isAssertion].
].
@@ -1208,10 +1227,11 @@
aBlock value:entry
].
- (mthd literalsDetect:[:lit |messageSelectors includes:lit] ifNone:nil) notNil ifTrue:[
- messagesSent isNil ifTrue:[
- messagesSent := mthd messagesSent.
- ].
+ (mthd literalsDetect:[:lit |
+ (messageSelectors includes:lit)
+ or:[lit class == Breakpoint]
+ ] ifNone:nil) notNil ifTrue:[
+ messagesSent := mthd messagesSent.
messages pairsDo:[:bpSel :type|
|tree extractor|
@@ -1271,11 +1291,35 @@
]
].
].
+
+ mthd literalsDo:[:lit |
+ lit class == Breakpoint ifTrue:[
+ entry := BreakpointListEntryForLineBreak new.
+ entry
+ type:#line
+ arg:nil
+ className:cls name
+ selector:sel
+ lineNumber:(lit line)
+ info:nil
+ enabled:true.
+ entry breakPoint:lit.
+ aBlock value:entry
+ ]
+ ].
].
! !
!BreakpointBrowser methodsFor:'initialization & release'!
+codeViewClass
+ "the type of codeview to use"
+
+ ^ UserPreferences current useCodeView2
+ ifTrue:[ Tools::CodeView2 ]
+ ifFalse:[ CodeView ]
+!
+
initialize
super initialize.
@@ -1311,16 +1355,6 @@
super release
! !
-!BreakpointBrowser methodsFor:'menu actions'!
-
-openDocumentation
- HTMLDocumentView openFullOnDocumentationFile:'tools/misc/TOP.html#BREAKPOINTLIST'.
-
- "/ add application-specific help files under the 'doc/online/<language>/help/appName'
- "/ directory, and open a viewer with:
- "/ HTMLDocumentView openFullOnDocumentationFile:'help/<MyApplication>/TOP.html'.
-! !
-
!BreakpointBrowser methodsFor:'menu actions-item'!
browseItem
@@ -1532,6 +1566,10 @@
"Modified: / 18-02-2007 / 12:56:30 / cg"
!
+disableLineBreak
+ (self selectedBreakpointListEntry) breakPoint disable
+!
+
itemDoubleClicked:itemIndex
self browseSelectedItem
@@ -1539,6 +1577,10 @@
"Modified: / 18-02-2007 / 12:56:30 / cg"
!
+openDocumentation
+ HTMLDocumentView openFullOnDocumentationFile:'tools/misc/TOP.html#BREAKPOINTLIST'.
+!
+
resort
|sortBlock sortBlock1|
@@ -1609,6 +1651,16 @@
self resort.
"Created: / 25-10-2006 / 00:54:59 / cg"
+!
+
+toggleAllShownTypes
+ self showAssertions:(self showAssertions not).
+ self showHalts:(self showHalts not).
+ self showCodeBreakpoints:(self showCodeBreakpoints not).
+ self showDebugCode:(self showDebugCode not).
+ self showLineBreakpoints:(self showLineBreakpoints not).
+ self showMethodBreakpoints:(self showMethodBreakpoints not).
+ self showOthers:(self showOthers not).
! !
!BreakpointBrowser::BreakpointListEntry methodsFor:'accessing'!
@@ -1681,6 +1733,7 @@
!BreakpointBrowser::BreakpointListEntry methodsFor:'testing'!
isAssertion
+
^ type == #assertion
!
@@ -1696,6 +1749,10 @@
^ type == #halt
!
+isLineBreakpoint
+ ^ type == #line
+!
+
isMethodBreakpoint
^ type == #wrap
!
@@ -1704,6 +1761,18 @@
^ type == #other
! !
+!BreakpointBrowser::BreakpointListEntryForLineBreak methodsFor:'accessing'!
+
+breakPoint
+ "return the BreakPoint-instance"
+
+ ^ breakPoint
+!
+
+breakPoint:something
+ breakPoint := something.
+! !
+
!BreakpointBrowser::MessageArgumentExtractor methodsFor:'accessing'!
callBack:something
@@ -1767,15 +1836,15 @@
!BreakpointBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Tools__BreakpointBrowser.st,v 1.29 2012/09/09 18:49:45 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__BreakpointBrowser.st,v 1.39 2012/11/04 14:02:58 cg Exp $'
!
version_CVS
- ^ '§Header: /cvs/stx/stx/libtool/Tools__BreakpointBrowser.st,v 1.29 2012/09/09 18:49:45 cg Exp §'
+ ^ '§Header: /cvs/stx/stx/libtool/Tools__BreakpointBrowser.st,v 1.39 2012/11/04 14:02:58 cg Exp §'
!
version_SVN
- ^ '$Id: Tools__BreakpointBrowser.st 8054 2012-09-13 09:15:20Z vranyj1 $'
+ ^ '$Id: Tools__BreakpointBrowser.st 8074 2012-11-30 17:23:39Z vranyj1 $'
! !
BreakpointBrowser initialize!