ProcessMonitor.st
changeset 1932 5eff508ce300
parent 1896 e92534f5dfb7
child 2013 e72605457007
--- a/ProcessMonitor.st	Wed Oct 14 16:33:42 1998 +0200
+++ b/ProcessMonitor.st	Wed Oct 14 18:16:40 1998 +0200
@@ -465,6 +465,24 @@
     ]
 !
 
+debugProcessWhenResumed
+    self selectedProcessesDo:[:p |
+       p onResumeDo:[:con | Debugger enter:con]
+    ]
+
+    "Created: / 14.10.1998 / 15:50:07 / cg"
+    "Modified: / 14.10.1998 / 16:06:08 / cg"
+!
+
+debugWhenResumed
+    self selectedProcessesDo:[:p |
+       p addInterruptAction:[Debugger enter]
+    ]
+
+    "Created: / 14.10.1998 / 15:48:04 / cg"
+    "Modified: / 14.10.1998 / 15:48:40 / cg"
+!
+
 hardTerminateProcess
     "hard terminate the selected process"
 
@@ -524,91 +542,78 @@
 
     <resource: #programMenu>
 
-    |labels selectors m sel allRestartable|
+    |items labels selectors m sel allRestartable|
 
     device ctrlDown ifTrue:[
-	labels := resources array:#(
-			'\c detail'
-		      ).
-	selectors := #(
-			toggleDetail
-		      ).
+        items := #( 
+                        ('\c detail' toggleDetail)
+                  ).
     ] ifFalse:[
-	labels := resources array:#(
-			     'inspect' 
-			     'debug'  
-			     '-'  
-			     'resume'  
-			     'suspend'  
-			     'stop'  
-			     '-'   
-			     'abort'
-			     'terminate'
-			     'terminate group'
-"/                             'hard terminate'
-			     'restart'
-			     '-'  
-			     'raise prio'  
-			     'lower prio'  
-			    ).
-	selectors := #(
-			     inspectSelection
-			     debugProcess  
-			     nil  
-			     resumeProcess  
-			     suspendProcess  
-			     stopProcess  
-			     nil  
-			     abortProcess
-			     terminateProcess
-			     terminateProcessGroup
-"/                             hardTerminateProcess
-			     restartProcess
-			     nil  
-			     raisePrio
-			     lowerPrio
-			    ).
-	updateProcess isNil ifTrue:[
-	    labels := (resources array:#('update' '-')) , labels.
-	    selectors := #(updateView nil) , selectors
-	].
+        items := #(
+                             ('inspect'               inspectSelection)
+                             ('debug'                 debugProcess)
+"/                             ('debug when resumed'    debugProcessWhenResumed)
+                             ('-')  
+                             ('resume'                resumeProcess)
+                             ('suspend'               suspendProcess)
+                             ('stop'                  stopProcess)
+                             ('-')   
+                             ('abort'                 abortProcess)
+                             ('terminate'             terminateProcess)
+                             ('terminate group'       terminateProcessGroup)
+"/                             ('hard terminate'        hardTerminateProcess)
+                             ('restart'               restartProcess)
+                             ('-')  
+                             ('raise prio'            raisePrio)
+                             ('lower prio'            lowerPrio)
+                            ).
+
+        updateProcess isNil ifTrue:[
+            items := #( 
+                        ('update' updateView) 
+                        ('-')
+                      ) , items.
+        ].
     ].
 
-    m := PopUpMenu labels:labels
-		   selectors:selectors.
+    m := PopUpMenu 
+                itemList:items
+                resources:resources
+                performer:self.
 
 
     listView hasSelection ifFalse:[
-	m disableAll:#(
-			     inspectSelection
-			     debugProcess  
-			     resumeProcess  
-			     suspendProcess  
-			     stopProcess  
-			     restartProcess
-			     abortProcess
-			     terminateProcess
-			     terminateProcessGroup
-			     raisePrio
-			     lowerPrio
-		      )
+        m disableAll:#(
+                             inspectSelection
+                             debugProcess
+                             debugProcessWhenResumed
+                             resumeProcess  
+                             suspendProcess  
+                             stopProcess  
+                             restartProcess
+                             abortProcess
+                             terminateProcess
+                             terminateProcessGroup
+                             raisePrio
+                             lowerPrio
+                      )
     ] ifTrue:[
-	allRestartable := true.
-	self selectedProcessesDo:[:p |
-	    p isRestartable ifFalse:[
-		allRestartable := false
-	    ].
-	].
-	allRestartable ifFalse:[
-	    m disable:#restartProcess
-	].
+        allRestartable := true.
+        self selectedProcessesDo:[:p |
+            p isRestartable ifFalse:[
+                allRestartable := false
+            ].
+        ].
+        allRestartable ifFalse:[
+            m disable:#restartProcess
+        ].
     ].
 
     m checkToggleAt:#toggleDetail put:showDetail.
     ^ m
 
-    "Created: 23.1.1997 / 03:05:54 / cg"
-    "Modified: 22.8.1997 / 17:54:26 / cg"
+    "Created: / 23.1.1997 / 03:05:54 / cg"
+    "Modified: / 14.10.1998 / 17:15:43 / cg"
 !
 
 stopProcess
@@ -706,5 +711,5 @@
 !ProcessMonitor class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/ProcessMonitor.st,v 1.66 1998-09-24 10:07:31 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/ProcessMonitor.st,v 1.67 1998-10-14 16:16:40 cg Exp $'
 ! !