Show al thread groupd, even terminated ones
authorJan Vrany <jan.vrany@fit.cvut.cz>
Mon, 02 Mar 2015 07:12:38 +0000
changeset 38 9b861cb882c8
parent 37 f417fe8685c5
child 39 d2afdbaaabdb
Show al thread groupd, even terminated ones
VDBStackApplication.st
VDBThreadGroupPresenter.st
VDBThreadPresenter.st
--- a/VDBStackApplication.st	Fri Feb 27 16:50:43 2015 +0100
+++ b/VDBStackApplication.st	Mon Mar 02 07:12:38 2015 +0000
@@ -1,3 +1,5 @@
+"{ Encoding: utf8 }"
+
 "{ Package: 'jv:vdb' }"
 
 "{ NameSpace: Smalltalk }"
@@ -246,7 +248,7 @@
     ].
     root := self internalListHolder root.
     list := debugger inferiors 
-            select:[:inferior | inferior isRunning or:[ inferior isStopped ] ]
+            select:[:inferior | true "inferior isRunning or:[ inferior isStopped ]" ]
             thenCollect:[:inferior | 
                 (VDBThreadGroupPresenter new)
                     setThreadGroup:inferior;
@@ -265,7 +267,7 @@
     ]
 
     "Created: / 20-09-2014 / 23:05:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 30-09-2014 / 00:56:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 02-03-2015 / 06:43:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 delayedUpdateSelection
@@ -322,6 +324,12 @@
 
     "Created: / 18-09-2014 / 23:30:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 20-09-2014 / 23:08:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+onThreadGroupStartedEvent: event
+    self enqueueDelayedUpdateInternalList.
+
+    "Created: / 02-03-2015 / 06:42:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !VDBStackApplication methodsFor:'initialization & release'!
@@ -330,13 +338,14 @@
     "Register for debugger events. To be overrided by subclasses"
 
     debugger announcer
-        when: GDBRunningEvent           send: #onRunningEvent: to: self;
-        when: GDBStoppedEvent           send: #onStoppedEvent: to: self;
-        when: GDBThreadExitedEvent      send: #onThreadExitedEvent: to: self;
-        when: GDBThreadGroupExitedEvent send: #onThreadGroupExitedEvent: to: self
+        when: GDBRunningEvent               send: #onRunningEvent: to: self;
+        when: GDBStoppedEvent               send: #onStoppedEvent: to: self;
+        when: GDBThreadGroupStartedEvent    send: #onThreadGroupStartedEvent: to: self;
+        when: GDBThreadExitedEvent          send: #onThreadExitedEvent: to: self;
+        when: GDBThreadGroupExitedEvent     send: #onThreadGroupExitedEvent: to: self
 
     "Created: / 07-06-2014 / 14:33:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 30-09-2014 / 00:02:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 02-03-2015 / 06:42:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !VDBStackApplication methodsFor:'menu actions'!
--- a/VDBThreadGroupPresenter.st	Fri Feb 27 16:50:43 2015 +0100
+++ b/VDBThreadGroupPresenter.st	Mon Mar 02 07:12:38 2015 +0000
@@ -1,5 +1,9 @@
+"{ Encoding: utf8 }"
+
 "{ Package: 'jv:vdb' }"
 
+"{ NameSpace: Smalltalk }"
+
 VDBModelPresenter subclass:#VDBThreadGroupPresenter
 	instanceVariableNames:'threadGroup'
 	classVariableNames:''
@@ -7,6 +11,7 @@
 	category:'VDB-Presentation'
 !
 
+
 !VDBThreadGroupPresenter methodsFor:'accessing'!
 
 icon
@@ -20,9 +25,31 @@
 !
 
 label
-    ^ threadGroup displayString
+    | pidOrEmpty state |
+
+    (threadGroup type = 'process' and:[ threadGroup pid notNil ]) ifTrue:[
+        pidOrEmpty := 'pid ', threadGroup pid printString , ', '.
+    ].
+    threadGroup isRunning ifTrue:[ 
+        state := 'running'
+    ] ifFalse:[ 
+        threadGroup isStopped ifTrue:[ 
+            state := 'stopped'
+        ] ifFalse:[ 
+            threadGroup isDead ifTrue:[ 
+                state := 'terminated'
+            ] ifFalse:[
+                state := 'not run'
+            ]
+        ].
+    ].
+
+    ^ 'thread group %1 [%2%3]' bindWith: threadGroup id 
+                                   with: pidOrEmpty ? ''
+                                   with: state
 
     "Created: / 22-09-2014 / 00:14:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 02-03-2015 / 06:58:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 threadGroup
@@ -58,3 +85,10 @@
     "Created: / 21-09-2014 / 23:54:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+!VDBThreadGroupPresenter class methodsFor:'documentation'!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+! !
+
--- a/VDBThreadPresenter.st	Fri Feb 27 16:50:43 2015 +0100
+++ b/VDBThreadPresenter.st	Mon Mar 02 07:12:38 2015 +0000
@@ -1,5 +1,7 @@
 "{ Package: 'jv:vdb' }"
 
+"{ NameSpace: Smalltalk }"
+
 VDBModelPresenter subclass:#VDBThreadPresenter
 	instanceVariableNames:'thread'
 	classVariableNames:''
@@ -7,6 +9,7 @@
 	category:'VDB-Presentation'
 !
 
+
 !VDBThreadPresenter methodsFor:'accessing'!
 
 icon
@@ -61,3 +64,10 @@
     "Created: / 21-09-2014 / 23:54:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+!VDBThreadPresenter class methodsFor:'documentation'!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+! !
+